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

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

Issue 1684423002: Make VideoTrack and VideoTrackRenderers implement rtc::VideoSourceInterface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase on master, copy VideoSourceInterface. Created 4 years, 10 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 new webrtc::RemoteVideoCapturer(), NULL, true)); 48 new webrtc::RemoteVideoCapturer(), NULL, true));
49 } 49 }
50 50
51 protected: 51 protected:
52 rtc::scoped_ptr<cricket::ChannelManager> channel_manager_; 52 rtc::scoped_ptr<cricket::ChannelManager> channel_manager_;
53 rtc::scoped_refptr<VideoTrackInterface> video_track_; 53 rtc::scoped_refptr<VideoTrackInterface> video_track_;
54 }; 54 };
55 55
56 // Test adding renderers to a video track and render to them by providing 56 // Test adding renderers to a video track and render to them by providing
57 // frames to the source. 57 // frames to the source.
58 TEST_F(VideoTrackTest, RenderVideo) { 58 TEST_F(VideoTrackTest, RenderVideo) {
perkj_webrtc 2016/02/12 14:40:14 please add a new test like this that use the new m
nisse-webrtc 2016/02/15 08:54:48 Hmm. The only VideoTrack method called directly he
59 // FakeVideoTrackRenderer register itself to |video_track_| 59 // FakeVideoTrackRenderer register itself to |video_track_|
60 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_1( 60 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_1(
61 new FakeVideoTrackRenderer(video_track_.get())); 61 new FakeVideoTrackRenderer(video_track_.get()));
62 62
63 rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input = 63 rtc::VideoSinkInterface<cricket::VideoFrame>* renderer_input =
64 video_track_->GetSink(); 64 video_track_->GetSink();
65 ASSERT_FALSE(renderer_input == NULL); 65 ASSERT_FALSE(renderer_input == NULL);
66 66
67 cricket::WebRtcVideoFrame frame; 67 cricket::WebRtcVideoFrame frame;
68 frame.InitToBlack(123, 123, 0); 68 frame.InitToBlack(123, 123, 0);
(...skipping 10 matching lines...) Expand all
79 renderer_input->OnFrame(frame); 79 renderer_input->OnFrame(frame);
80 80
81 EXPECT_EQ(123, renderer_1->width()); 81 EXPECT_EQ(123, renderer_1->width());
82 EXPECT_EQ(123, renderer_1->height()); 82 EXPECT_EQ(123, renderer_1->height());
83 EXPECT_EQ(123, renderer_2->width()); 83 EXPECT_EQ(123, renderer_2->width());
84 EXPECT_EQ(123, renderer_2->height()); 84 EXPECT_EQ(123, renderer_2->height());
85 85
86 EXPECT_EQ(2, renderer_1->num_rendered_frames()); 86 EXPECT_EQ(2, renderer_1->num_rendered_frames());
87 EXPECT_EQ(1, renderer_2->num_rendered_frames()); 87 EXPECT_EQ(1, renderer_2->num_rendered_frames());
88 88
89 video_track_->RemoveRenderer(renderer_1.get()); 89 video_track_->RemoveSink(renderer_1.get());
perkj_webrtc 2016/02/12 14:40:14 This should not be necessary ?
nisse-webrtc 2016/02/15 08:54:48 I tried to purge all calls to the deprecated Remov
90 renderer_input->OnFrame(frame); 90 renderer_input->OnFrame(frame);
91 91
92 EXPECT_EQ(2, renderer_1->num_rendered_frames()); 92 EXPECT_EQ(2, renderer_1->num_rendered_frames());
93 EXPECT_EQ(2, renderer_2->num_rendered_frames()); 93 EXPECT_EQ(2, renderer_2->num_rendered_frames());
94 } 94 }
95 95
96 // Test that disabling the track results in blacked out frames. 96 // Test that disabling the track results in blacked out frames.
97 TEST_F(VideoTrackTest, DisableTrackBlackout) { 97 TEST_F(VideoTrackTest, DisableTrackBlackout) {
98 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( 98 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer(
99 new FakeVideoTrackRenderer(video_track_.get())); 99 new FakeVideoTrackRenderer(video_track_.get()));
(...skipping 20 matching lines...) Expand all
120 EXPECT_EQ(100, renderer->width()); 120 EXPECT_EQ(100, renderer->width());
121 EXPECT_EQ(200, renderer->height()); 121 EXPECT_EQ(200, renderer->height());
122 122
123 video_track_->set_enabled(true); 123 video_track_->set_enabled(true);
124 renderer_input->OnFrame(frame); 124 renderer_input->OnFrame(frame);
125 EXPECT_EQ(3, renderer->num_rendered_frames()); 125 EXPECT_EQ(3, renderer->num_rendered_frames());
126 EXPECT_FALSE(renderer->black_frame()); 126 EXPECT_FALSE(renderer->black_frame());
127 EXPECT_EQ(100, renderer->width()); 127 EXPECT_EQ(100, renderer->width());
128 EXPECT_EQ(200, renderer->height()); 128 EXPECT_EQ(200, renderer->height());
129 } 129 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698