Index: webrtc/video/video_capture_input_unittest.cc |
diff --git a/webrtc/video/video_capture_input_unittest.cc b/webrtc/video/video_capture_input_unittest.cc |
index 357914d9972e90e1170c805e8ff553825da0bd44..075bee901660ad6012632bf8b527a919a281d131 100644 |
--- a/webrtc/video/video_capture_input_unittest.cc |
+++ b/webrtc/video/video_capture_input_unittest.cc |
@@ -12,7 +12,6 @@ |
#include <memory> |
#include <vector> |
-#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "webrtc/base/event.h" |
#include "webrtc/system_wrappers/include/ref_count.h" |
@@ -20,22 +19,11 @@ |
#include "webrtc/test/fake_texture_frame.h" |
#include "webrtc/video/send_statistics_proxy.h" |
-using ::testing::_; |
-using ::testing::Invoke; |
-using ::testing::NiceMock; |
-using ::testing::Return; |
-using ::testing::WithArg; |
- |
// If an output frame does not arrive in 500ms, the test will fail. |
#define FRAME_TIMEOUT_MS 500 |
namespace webrtc { |
-class MockVideoCaptureCallback : public VideoCaptureCallback { |
- public: |
- MOCK_METHOD1(DeliverFrame, void(VideoFrame video_frame)); |
-}; |
- |
bool EqualFrames(const VideoFrame& frame1, const VideoFrame& frame2); |
bool EqualTextureFrames(const VideoFrame& frame1, const VideoFrame& frame2); |
bool EqualBufferFrames(const VideoFrame& frame1, const VideoFrame& frame2); |
@@ -49,40 +37,34 @@ class VideoCaptureInputTest : public ::testing::Test { |
: stats_proxy_(Clock::GetRealTimeClock(), |
webrtc::VideoSendStream::Config(nullptr), |
webrtc::VideoEncoderConfig::ContentType::kRealtimeVideo), |
- mock_frame_callback_(new NiceMock<MockVideoCaptureCallback>), |
- output_frame_event_(false, false) {} |
+ capture_event_(false, false) {} |
virtual void SetUp() { |
- EXPECT_CALL(*mock_frame_callback_, DeliverFrame(_)) |
- .WillRepeatedly( |
- WithArg<0>(Invoke(this, &VideoCaptureInputTest::AddOutputFrame))); |
- |
overuse_detector_.reset( |
new OveruseFrameDetector(Clock::GetRealTimeClock(), CpuOveruseOptions(), |
nullptr, nullptr, &stats_proxy_)); |
- input_.reset(new internal::VideoCaptureInput(mock_frame_callback_.get(), |
- nullptr, &stats_proxy_, |
- overuse_detector_.get())); |
+ input_.reset(new internal::VideoCaptureInput( |
+ &capture_event_, nullptr, &stats_proxy_, overuse_detector_.get())); |
} |
void AddInputFrame(VideoFrame* frame) { |
input_->IncomingCapturedFrame(*frame); |
} |
- void AddOutputFrame(const VideoFrame& frame) { |
- if (frame.native_handle() == NULL) |
- output_frame_ybuffers_.push_back(frame.buffer(kYPlane)); |
- output_frames_.push_back(new VideoFrame(frame)); |
- output_frame_event_.Set(); |
- } |
- |
void WaitOutputFrame() { |
- EXPECT_TRUE(output_frame_event_.Wait(FRAME_TIMEOUT_MS)); |
+ EXPECT_TRUE(capture_event_.Wait(FRAME_TIMEOUT_MS)); |
+ VideoFrame frame; |
+ EXPECT_TRUE(input_->GetVideoFrame(&frame)); |
+ if (!frame.native_handle()) { |
+ output_frame_ybuffers_.push_back( |
+ static_cast<const VideoFrame*>(&frame)->buffer(kYPlane)); |
+ } |
+ output_frames_.push_back(new VideoFrame(frame)); |
} |
SendStatisticsProxy stats_proxy_; |
- std::unique_ptr<MockVideoCaptureCallback> mock_frame_callback_; |
+ rtc::Event capture_event_; |
std::unique_ptr<OveruseFrameDetector> overuse_detector_; |
@@ -92,9 +74,6 @@ class VideoCaptureInputTest : public ::testing::Test { |
// Input capture frames of VideoCaptureInput. |
ScopedVector<VideoFrame> input_frames_; |
- // Indicate an output frame has arrived. |
- rtc::Event output_frame_event_; |
- |
// Output delivered frames of VideoCaptureInput. |
ScopedVector<VideoFrame> output_frames_; |
@@ -164,12 +143,12 @@ TEST_F(VideoCaptureInputTest, DropsFramesWithSameOrOldNtpTimestamp) { |
// Repeat frame with the same NTP timestamp should drop. |
AddInputFrame(input_frames_[0]); |
- EXPECT_FALSE(output_frame_event_.Wait(FRAME_TIMEOUT_MS)); |
+ EXPECT_FALSE(capture_event_.Wait(FRAME_TIMEOUT_MS)); |
// As should frames with a decreased NTP timestamp. |
input_frames_[0]->set_ntp_time_ms(input_frames_[0]->ntp_time_ms() - 1); |
AddInputFrame(input_frames_[0]); |
- EXPECT_FALSE(output_frame_event_.Wait(FRAME_TIMEOUT_MS)); |
+ EXPECT_FALSE(capture_event_.Wait(FRAME_TIMEOUT_MS)); |
// But delivering with an increased NTP timestamp should succeed. |
input_frames_[0]->set_ntp_time_ms(4711); |