OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 capturer_.CaptureFrame(); | 54 capturer_.CaptureFrame(); |
55 EXPECT_EQ(1, renderer_1->num_rendered_frames()); | 55 EXPECT_EQ(1, renderer_1->num_rendered_frames()); |
56 | 56 |
57 // FakeVideoTrackRenderer register itself to |video_track_| | 57 // FakeVideoTrackRenderer register itself to |video_track_| |
58 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( | 58 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( |
59 new FakeVideoTrackRenderer(video_track_.get())); | 59 new FakeVideoTrackRenderer(video_track_.get())); |
60 capturer_.CaptureFrame(); | 60 capturer_.CaptureFrame(); |
61 EXPECT_EQ(2, renderer_1->num_rendered_frames()); | 61 EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
62 EXPECT_EQ(1, renderer_2->num_rendered_frames()); | 62 EXPECT_EQ(1, renderer_2->num_rendered_frames()); |
63 | 63 |
64 video_track_->RemoveSink(renderer_1.get()); | 64 renderer_1.reset(nullptr); |
65 capturer_.CaptureFrame(); | 65 capturer_.CaptureFrame(); |
66 EXPECT_EQ(2, renderer_1->num_rendered_frames()); | |
67 EXPECT_EQ(2, renderer_2->num_rendered_frames()); | 66 EXPECT_EQ(2, renderer_2->num_rendered_frames()); |
68 } | 67 } |
69 | 68 |
70 // Test adding renderers to a video track and render to them by | 69 // Test adding renderers to a video track and render to them by |
71 // providing frames to the source. Uses the old VideoTrack interface | 70 // providing frames to the source. Uses the old VideoTrack interface |
72 // with AddRenderer and RemoveRenderer. | 71 // with AddRenderer and RemoveRenderer. |
73 TEST_F(VideoTrackTest, RenderVideoOld) { | 72 TEST_F(VideoTrackTest, RenderVideoOld) { |
74 // FakeVideoTrackRenderer register itself to |video_track_| | 73 // FakeVideoTrackRenderer register itself to |video_track_| |
75 rtc::scoped_ptr<FakeVideoTrackRendererOld> renderer_1( | 74 rtc::scoped_ptr<FakeVideoTrackRendererOld> renderer_1( |
76 new FakeVideoTrackRendererOld(video_track_.get())); | 75 new FakeVideoTrackRendererOld(video_track_.get())); |
77 | 76 |
78 capturer_.CaptureFrame(); | 77 capturer_.CaptureFrame(); |
79 EXPECT_EQ(1, renderer_1->num_rendered_frames()); | 78 EXPECT_EQ(1, renderer_1->num_rendered_frames()); |
80 | 79 |
81 // FakeVideoTrackRenderer register itself to |video_track_| | 80 // FakeVideoTrackRenderer register itself to |video_track_| |
82 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( | 81 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( |
83 new FakeVideoTrackRenderer(video_track_.get())); | 82 new FakeVideoTrackRenderer(video_track_.get())); |
84 | 83 |
85 capturer_.CaptureFrame(); | 84 capturer_.CaptureFrame(); |
86 EXPECT_EQ(2, renderer_1->num_rendered_frames()); | 85 EXPECT_EQ(2, renderer_1->num_rendered_frames()); |
87 EXPECT_EQ(1, renderer_2->num_rendered_frames()); | 86 EXPECT_EQ(1, renderer_2->num_rendered_frames()); |
88 | 87 |
89 video_track_->RemoveRenderer(renderer_1.get()); | 88 renderer_1.reset(nullptr); |
90 capturer_.CaptureFrame(); | 89 capturer_.CaptureFrame(); |
91 EXPECT_EQ(2, renderer_1->num_rendered_frames()); | |
92 EXPECT_EQ(2, renderer_2->num_rendered_frames()); | 90 EXPECT_EQ(2, renderer_2->num_rendered_frames()); |
93 } | 91 } |
94 | 92 |
95 // Test that disabling the track results in blacked out frames. | 93 // Test that disabling the track results in blacked out frames. |
96 TEST_F(VideoTrackTest, DisableTrackBlackout) { | 94 TEST_F(VideoTrackTest, DisableTrackBlackout) { |
97 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( | 95 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( |
98 new FakeVideoTrackRenderer(video_track_.get())); | 96 new FakeVideoTrackRenderer(video_track_.get())); |
99 | 97 |
100 capturer_.CaptureFrame(); | 98 capturer_.CaptureFrame(); |
101 EXPECT_EQ(1, renderer->num_rendered_frames()); | 99 EXPECT_EQ(1, renderer->num_rendered_frames()); |
102 EXPECT_FALSE(renderer->black_frame()); | 100 EXPECT_FALSE(renderer->black_frame()); |
103 | 101 |
104 video_track_->set_enabled(false); | 102 video_track_->set_enabled(false); |
105 capturer_.CaptureFrame(); | 103 capturer_.CaptureFrame(); |
106 EXPECT_EQ(2, renderer->num_rendered_frames()); | 104 EXPECT_EQ(2, renderer->num_rendered_frames()); |
107 EXPECT_TRUE(renderer->black_frame()); | 105 EXPECT_TRUE(renderer->black_frame()); |
108 | 106 |
109 video_track_->set_enabled(true); | 107 video_track_->set_enabled(true); |
110 capturer_.CaptureFrame(); | 108 capturer_.CaptureFrame(); |
111 EXPECT_EQ(3, renderer->num_rendered_frames()); | 109 EXPECT_EQ(3, renderer->num_rendered_frames()); |
112 EXPECT_FALSE(renderer->black_frame()); | 110 EXPECT_FALSE(renderer->black_frame()); |
113 } | 111 } |
OLD | NEW |