| 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());
|
| }
|
|
|