Index: webrtc/api/videotrack_unittest.cc |
diff --git a/webrtc/api/videotrack_unittest.cc b/webrtc/api/videotrack_unittest.cc |
index 9f44b81ea6525a341b8abc9424b4c3f20706a030..008ba2181fa33cf84c44c88bfb7c8e6572679bc7 100644 |
--- a/webrtc/api/videotrack_unittest.cc |
+++ b/webrtc/api/videotrack_unittest.cc |
@@ -10,42 +10,37 @@ |
#include <string> |
-#include "webrtc/api/remotevideocapturer.h" |
#include "webrtc/api/test/fakevideotrackrenderer.h" |
#include "webrtc/api/videocapturertracksource.h" |
#include "webrtc/api/videotrack.h" |
#include "webrtc/base/gunit.h" |
#include "webrtc/base/scoped_ptr.h" |
+#include "webrtc/media/base/fakevideocapturer.h" |
#include "webrtc/media/base/fakemediaengine.h" |
#include "webrtc/media/engine/webrtcvideoframe.h" |
-#include "webrtc/pc/channelmanager.h" |
using webrtc::FakeVideoTrackRenderer; |
using webrtc::FakeVideoTrackRendererOld; |
-using webrtc::VideoCapturerTrackSource; |
+using webrtc::VideoTrackSource; |
using webrtc::VideoTrack; |
using webrtc::VideoTrackInterface; |
-namespace { |
- |
-class WebRtcVideoTestFrame : public cricket::WebRtcVideoFrame { |
- public: |
- using cricket::WebRtcVideoFrame::SetRotation; |
-}; |
- |
-} // namespace |
class VideoTrackTest : public testing::Test { |
public: |
VideoTrackTest() { |
static const char kVideoTrackId[] = "track_id"; |
video_track_ = VideoTrack::Create( |
- kVideoTrackId, VideoCapturerTrackSource::Create( |
- rtc::Thread::Current(), |
- new webrtc::RemoteVideoCapturer(), NULL, true)); |
+ kVideoTrackId, |
+ new rtc::RefCountedObject<VideoTrackSource>( |
+ &capturer_, rtc::Thread::Current(), true /* remote */)); |
+ capturer_.Start( |
+ cricket::VideoFormat(640, 480, cricket::VideoFormat::FpsToInterval(30), |
+ cricket::FOURCC_I420)); |
} |
protected: |
+ cricket::FakeVideoCapturer capturer_; |
rtc::scoped_refptr<VideoTrackInterface> video_track_; |
}; |
@@ -56,35 +51,18 @@ TEST_F(VideoTrackTest, RenderVideo) { |
rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_1( |
new FakeVideoTrackRenderer(video_track_.get())); |
- rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input = |
- video_track_->GetSink(); |
- ASSERT_FALSE(renderer_input == NULL); |
- |
- cricket::WebRtcVideoFrame frame; |
- frame.InitToBlack(123, 123, 0); |
- renderer_input->OnFrame(frame); |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(1, renderer_1->num_rendered_frames()); |
- EXPECT_EQ(123, renderer_1->width()); |
- EXPECT_EQ(123, renderer_1->height()); |
- |
// FakeVideoTrackRenderer register itself to |video_track_| |
rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( |
new FakeVideoTrackRenderer(video_track_.get())); |
- |
- renderer_input->OnFrame(frame); |
- |
- EXPECT_EQ(123, renderer_1->width()); |
- EXPECT_EQ(123, renderer_1->height()); |
- EXPECT_EQ(123, renderer_2->width()); |
- EXPECT_EQ(123, renderer_2->height()); |
- |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
EXPECT_EQ(1, renderer_2->num_rendered_frames()); |
video_track_->RemoveSink(renderer_1.get()); |
- renderer_input->OnFrame(frame); |
- |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
EXPECT_EQ(2, renderer_2->num_rendered_frames()); |
} |
@@ -97,35 +75,19 @@ TEST_F(VideoTrackTest, RenderVideoOld) { |
rtc::scoped_ptr<FakeVideoTrackRendererOld> renderer_1( |
new FakeVideoTrackRendererOld(video_track_.get())); |
- rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input = |
- video_track_->GetSink(); |
- ASSERT_FALSE(renderer_input == NULL); |
- |
- cricket::WebRtcVideoFrame frame; |
- frame.InitToBlack(123, 123, 0); |
- renderer_input->OnFrame(frame); |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(1, renderer_1->num_rendered_frames()); |
- EXPECT_EQ(123, renderer_1->width()); |
- EXPECT_EQ(123, renderer_1->height()); |
- |
// FakeVideoTrackRenderer register itself to |video_track_| |
rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( |
new FakeVideoTrackRenderer(video_track_.get())); |
- renderer_input->OnFrame(frame); |
- |
- EXPECT_EQ(123, renderer_1->width()); |
- EXPECT_EQ(123, renderer_1->height()); |
- EXPECT_EQ(123, renderer_2->width()); |
- EXPECT_EQ(123, renderer_2->height()); |
- |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
EXPECT_EQ(1, renderer_2->num_rendered_frames()); |
video_track_->RemoveRenderer(renderer_1.get()); |
- renderer_input->OnFrame(frame); |
- |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
EXPECT_EQ(2, renderer_2->num_rendered_frames()); |
} |
@@ -135,32 +97,17 @@ TEST_F(VideoTrackTest, DisableTrackBlackout) { |
rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( |
new FakeVideoTrackRenderer(video_track_.get())); |
- rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input = |
- video_track_->GetSink(); |
- ASSERT_FALSE(renderer_input == NULL); |
- |
- cricket::WebRtcVideoFrame frame; |
- frame.InitToBlack(100, 200, 0); |
- // Make it not all-black |
- frame.GetUPlane()[0] = 0; |
- |
- renderer_input->OnFrame(frame); |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(1, renderer->num_rendered_frames()); |
EXPECT_FALSE(renderer->black_frame()); |
- EXPECT_EQ(100, renderer->width()); |
- EXPECT_EQ(200, renderer->height()); |
video_track_->set_enabled(false); |
- renderer_input->OnFrame(frame); |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(2, renderer->num_rendered_frames()); |
EXPECT_TRUE(renderer->black_frame()); |
- EXPECT_EQ(100, renderer->width()); |
- EXPECT_EQ(200, renderer->height()); |
video_track_->set_enabled(true); |
- renderer_input->OnFrame(frame); |
+ capturer_.CaptureFrame(); |
EXPECT_EQ(3, renderer->num_rendered_frames()); |
EXPECT_FALSE(renderer->black_frame()); |
- EXPECT_EQ(100, renderer->width()); |
- EXPECT_EQ(200, renderer->height()); |
} |