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

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

Issue 1817473002: Delete VideoRendererInterface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix JavaVideoRendererWrapper. 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
11 #include <string> 11 #include <string>
12 12
13 #include "webrtc/api/test/fakevideotrackrenderer.h" 13 #include "webrtc/api/test/fakevideotrackrenderer.h"
14 #include "webrtc/api/videocapturertracksource.h" 14 #include "webrtc/api/videocapturertracksource.h"
15 #include "webrtc/api/videotrack.h" 15 #include "webrtc/api/videotrack.h"
16 #include "webrtc/base/gunit.h" 16 #include "webrtc/base/gunit.h"
17 #include "webrtc/base/scoped_ptr.h" 17 #include "webrtc/base/scoped_ptr.h"
18 #include "webrtc/media/base/fakevideocapturer.h" 18 #include "webrtc/media/base/fakevideocapturer.h"
19 #include "webrtc/media/base/fakemediaengine.h" 19 #include "webrtc/media/base/fakemediaengine.h"
20 #include "webrtc/media/engine/webrtcvideoframe.h" 20 #include "webrtc/media/engine/webrtcvideoframe.h"
21 21
22 using webrtc::FakeVideoTrackRenderer; 22 using webrtc::FakeVideoTrackRenderer;
23 using webrtc::FakeVideoTrackRendererOld;
24 using webrtc::VideoTrackSource; 23 using webrtc::VideoTrackSource;
25 using webrtc::VideoTrack; 24 using webrtc::VideoTrack;
26 using webrtc::VideoTrackInterface; 25 using webrtc::VideoTrackInterface;
27 26
28 27
29 class VideoTrackTest : public testing::Test { 28 class VideoTrackTest : public testing::Test {
30 public: 29 public:
31 VideoTrackTest() { 30 VideoTrackTest() {
32 static const char kVideoTrackId[] = "track_id"; 31 static const char kVideoTrackId[] = "track_id";
33 video_track_ = VideoTrack::Create( 32 video_track_ = VideoTrack::Create(
(...skipping 25 matching lines...) Expand all
59 new FakeVideoTrackRenderer(video_track_.get())); 58 new FakeVideoTrackRenderer(video_track_.get()));
60 capturer_.CaptureFrame(); 59 capturer_.CaptureFrame();
61 EXPECT_EQ(2, renderer_1->num_rendered_frames()); 60 EXPECT_EQ(2, renderer_1->num_rendered_frames());
62 EXPECT_EQ(1, renderer_2->num_rendered_frames()); 61 EXPECT_EQ(1, renderer_2->num_rendered_frames());
63 62
64 renderer_1.reset(nullptr); 63 renderer_1.reset(nullptr);
65 capturer_.CaptureFrame(); 64 capturer_.CaptureFrame();
66 EXPECT_EQ(2, renderer_2->num_rendered_frames()); 65 EXPECT_EQ(2, renderer_2->num_rendered_frames());
67 } 66 }
68 67
69 // Test adding renderers to a video track and render to them by
70 // providing frames to the source. Uses the old VideoTrack interface
71 // with AddRenderer and RemoveRenderer.
72 TEST_F(VideoTrackTest, RenderVideoOld) {
73 // FakeVideoTrackRenderer register itself to |video_track_|
74 rtc::scoped_ptr<FakeVideoTrackRendererOld> renderer_1(
75 new FakeVideoTrackRendererOld(video_track_.get()));
76
77 capturer_.CaptureFrame();
78 EXPECT_EQ(1, renderer_1->num_rendered_frames());
79
80 // FakeVideoTrackRenderer register itself to |video_track_|
81 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer_2(
82 new FakeVideoTrackRenderer(video_track_.get()));
83
84 capturer_.CaptureFrame();
85 EXPECT_EQ(2, renderer_1->num_rendered_frames());
86 EXPECT_EQ(1, renderer_2->num_rendered_frames());
87
88 renderer_1.reset(nullptr);
89 capturer_.CaptureFrame();
90 EXPECT_EQ(2, renderer_2->num_rendered_frames());
91 }
92
93 // Test that disabling the track results in blacked out frames. 68 // Test that disabling the track results in blacked out frames.
94 TEST_F(VideoTrackTest, DisableTrackBlackout) { 69 TEST_F(VideoTrackTest, DisableTrackBlackout) {
95 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer( 70 rtc::scoped_ptr<FakeVideoTrackRenderer> renderer(
96 new FakeVideoTrackRenderer(video_track_.get())); 71 new FakeVideoTrackRenderer(video_track_.get()));
97 72
98 capturer_.CaptureFrame(); 73 capturer_.CaptureFrame();
99 EXPECT_EQ(1, renderer->num_rendered_frames()); 74 EXPECT_EQ(1, renderer->num_rendered_frames());
100 EXPECT_FALSE(renderer->black_frame()); 75 EXPECT_FALSE(renderer->black_frame());
101 76
102 video_track_->set_enabled(false); 77 video_track_->set_enabled(false);
103 capturer_.CaptureFrame(); 78 capturer_.CaptureFrame();
104 EXPECT_EQ(2, renderer->num_rendered_frames()); 79 EXPECT_EQ(2, renderer->num_rendered_frames());
105 EXPECT_TRUE(renderer->black_frame()); 80 EXPECT_TRUE(renderer->black_frame());
106 81
107 video_track_->set_enabled(true); 82 video_track_->set_enabled(true);
108 capturer_.CaptureFrame(); 83 capturer_.CaptureFrame();
109 EXPECT_EQ(3, renderer->num_rendered_frames()); 84 EXPECT_EQ(3, renderer->num_rendered_frames());
110 EXPECT_FALSE(renderer->black_frame()); 85 EXPECT_FALSE(renderer->black_frame());
111 } 86 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698