Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(818)

Side by Side Diff: webrtc/api/videotrack_unittest.cc

Issue 1779063003: Refactor VideoTracks to forward all sinks to its source (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Removed unused code. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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 video_track_->RemoveSink(renderer_1.get());
pthatcher1 2016/03/11 20:20:18 Can we just do renderer_1.release() here, which re
perkj_webrtc 2016/03/11 21:44:56 Done.
65 capturer_.CaptureFrame(); 65 capturer_.CaptureFrame();
66 EXPECT_EQ(2, renderer_1->num_rendered_frames()); 66 EXPECT_EQ(2, renderer_1->num_rendered_frames());
67 EXPECT_EQ(2, renderer_2->num_rendered_frames()); 67 EXPECT_EQ(2, renderer_2->num_rendered_frames());
68
69 // Need to re-add the FakeVideoTrackRenderer since its de-register itself in
pthatcher1 2016/03/11 20:20:17 its de-register => it deregisters
perkj_webrtc 2016/03/11 21:44:56 removed
70 // the dtor and we check if it exists in the source....
71 video_track_->AddOrUpdateSink(renderer_1.get(), rtc::VideoSinkWants());
68 } 72 }
69 73
70 // Test adding renderers to a video track and render to them by 74 // Test adding renderers to a video track and render to them by
71 // providing frames to the source. Uses the old VideoTrack interface 75 // providing frames to the source. Uses the old VideoTrack interface
72 // with AddRenderer and RemoveRenderer. 76 // with AddRenderer and RemoveRenderer.
73 TEST_F(VideoTrackTest, RenderVideoOld) { 77 TEST_F(VideoTrackTest, RenderVideoOld) {
74 // FakeVideoTrackRenderer register itself to |video_track_| 78 // FakeVideoTrackRenderer register itself to |video_track_|
75 rtc::scoped_ptr<FakeVideoTrackRendererOld> renderer_1( 79 rtc::scoped_ptr<FakeVideoTrackRendererOld> renderer_1(
76 new FakeVideoTrackRendererOld(video_track_.get())); 80 new FakeVideoTrackRendererOld(video_track_.get()));
77 81
78 capturer_.CaptureFrame(); 82 capturer_.CaptureFrame();
79 EXPECT_EQ(1, renderer_1->num_rendered_frames()); 83 EXPECT_EQ(1, renderer_1->num_rendered_frames());
80 84
81 // FakeVideoTrackRenderer register itself to |video_track_| 85 // FakeVideoTrackRenderer register itself to |video_track_|
82 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2( 86 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2(
83 new FakeVideoTrackRenderer(video_track_.get())); 87 new FakeVideoTrackRenderer(video_track_.get()));
84 88
85 capturer_.CaptureFrame(); 89 capturer_.CaptureFrame();
86 EXPECT_EQ(2, renderer_1->num_rendered_frames()); 90 EXPECT_EQ(2, renderer_1->num_rendered_frames());
87 EXPECT_EQ(1, renderer_2->num_rendered_frames()); 91 EXPECT_EQ(1, renderer_2->num_rendered_frames());
88 92
pthatcher1 2016/03/11 20:20:17 Same here
perkj_webrtc 2016/03/11 21:44:57 Done.
89 video_track_->RemoveRenderer(renderer_1.get()); 93 video_track_->RemoveRenderer(renderer_1.get());
90 capturer_.CaptureFrame(); 94 capturer_.CaptureFrame();
91 EXPECT_EQ(2, renderer_1->num_rendered_frames()); 95 EXPECT_EQ(2, renderer_1->num_rendered_frames());
92 EXPECT_EQ(2, renderer_2->num_rendered_frames()); 96 EXPECT_EQ(2, renderer_2->num_rendered_frames());
97
98 // Need to re-add the FakeVideoTrackRenderer since its de-register itself in
99 // the dtor and we check if it exists in the source....
100 video_track_->AddOrUpdateSink(renderer_1.get(), rtc::VideoSinkWants());
93 } 101 }
94 102
95 // Test that disabling the track results in blacked out frames. 103 // Test that disabling the track results in blacked out frames.
96 TEST_F(VideoTrackTest, DisableTrackBlackout) { 104 TEST_F(VideoTrackTest, DisableTrackBlackout) {
97 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( 105 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer(
98 new FakeVideoTrackRenderer(video_track_.get())); 106 new FakeVideoTrackRenderer(video_track_.get()));
99 107
100 capturer_.CaptureFrame(); 108 capturer_.CaptureFrame();
101 EXPECT_EQ(1, renderer->num_rendered_frames()); 109 EXPECT_EQ(1, renderer->num_rendered_frames());
102 EXPECT_FALSE(renderer->black_frame()); 110 EXPECT_FALSE(renderer->black_frame());
103 111
104 video_track_->set_enabled(false); 112 video_track_->set_enabled(false);
105 capturer_.CaptureFrame(); 113 capturer_.CaptureFrame();
106 EXPECT_EQ(2, renderer->num_rendered_frames()); 114 EXPECT_EQ(2, renderer->num_rendered_frames());
107 EXPECT_TRUE(renderer->black_frame()); 115 EXPECT_TRUE(renderer->black_frame());
108 116
109 video_track_->set_enabled(true); 117 video_track_->set_enabled(true);
110 capturer_.CaptureFrame(); 118 capturer_.CaptureFrame();
111 EXPECT_EQ(3, renderer->num_rendered_frames()); 119 EXPECT_EQ(3, renderer->num_rendered_frames());
112 EXPECT_FALSE(renderer->black_frame()); 120 EXPECT_FALSE(renderer->black_frame());
113 } 121 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698