| Index: talk/app/webrtc/videotrack_unittest.cc
|
| diff --git a/talk/app/webrtc/videotrack_unittest.cc b/talk/app/webrtc/videotrack_unittest.cc
|
| index c30a98b5e0fa9983b11df28a9a669397082fadf3..fd7b87d30e12b4a18bafb84126db6dc65e2693ac 100644
|
| --- a/talk/app/webrtc/videotrack_unittest.cc
|
| +++ b/talk/app/webrtc/videotrack_unittest.cc
|
| @@ -109,3 +109,38 @@ TEST_F(VideoTrackTest, RenderVideo) {
|
| EXPECT_EQ(2, renderer_1->num_rendered_frames());
|
| EXPECT_EQ(2, renderer_2->num_rendered_frames());
|
| }
|
| +
|
| +// Test that disabling the track results in blacked out frames.
|
| +TEST_F(VideoTrackTest, DisableTrackBlackout) {
|
| + rtc::scoped_ptr<FakeVideoTrackRenderer> renderer(
|
| + new FakeVideoTrackRenderer(video_track_.get()));
|
| +
|
| + cricket::VideoRenderer* renderer_input =
|
| + video_track_->GetSource()->FrameInput();
|
| + ASSERT_FALSE(renderer_input == NULL);
|
| +
|
| + cricket::WebRtcVideoFrame frame;
|
| + frame.InitToBlack(100, 200, 1, 1, 0);
|
| + // Make it not all-black
|
| + frame.GetUPlane()[0] = 0;
|
| +
|
| + renderer_input->RenderFrame(&frame);
|
| + 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->RenderFrame(&frame);
|
| + 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->RenderFrame(&frame);
|
| + EXPECT_EQ(3, renderer->num_rendered_frames());
|
| + EXPECT_FALSE(renderer->black_frame());
|
| + EXPECT_EQ(100, renderer->width());
|
| + EXPECT_EQ(200, renderer->height());
|
| +}
|
|
|