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

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: Rebased 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
« no previous file with comments | « webrtc/api/videotrack.cc ('k') | webrtc/api/videotrackrenderers.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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 }
OLDNEW
« no previous file with comments | « webrtc/api/videotrack.cc ('k') | webrtc/api/videotrackrenderers.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698