| Index: webrtc/api/videotrack_unittest.cc
|
| diff --git a/webrtc/api/videotrack_unittest.cc b/webrtc/api/videotrack_unittest.cc
|
| index 0f82e1830bdad84205fdae7af8e9f74dc23457e3..df412589c71f3cc9b513f67c0ea38c1909684d05 100644
|
| --- a/webrtc/api/videotrack_unittest.cc
|
| +++ b/webrtc/api/videotrack_unittest.cc
|
| @@ -21,6 +21,7 @@
|
| #include "webrtc/pc/channelmanager.h"
|
|
|
| using webrtc::FakeVideoTrackRenderer;
|
| +using webrtc::FakeVideoTrackRendererOld;
|
| using webrtc::VideoSource;
|
| using webrtc::VideoTrack;
|
| using webrtc::VideoTrackInterface;
|
| @@ -86,6 +87,47 @@ TEST_F(VideoTrackTest, RenderVideo) {
|
| 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);
|
| +
|
| + EXPECT_EQ(2, renderer_1->num_rendered_frames());
|
| + EXPECT_EQ(2, renderer_2->num_rendered_frames());
|
| +}
|
| +
|
| +// Test adding renderers to a video track and render to them by
|
| +// providing frames to the source. Uses the old VideoTrack interface
|
| +// with AddRenderer and RemoveRenderer.
|
| +TEST_F(VideoTrackTest, RenderVideoOld) {
|
| + // FakeVideoTrackRenderer register itself to |video_track_|
|
| + 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);
|
| + 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());
|
| +
|
| + 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);
|
|
|
|
|