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

Side by Side Diff: media/cast/video_sender/video_sender_unittest.cc

Issue 314593002: [Cast] Cleanup: Remove TransportXXXXXSender, an unnecessary layer of indirection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix CastTransportHostFilterTest.SimpleMessages. Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « media/cast/video_sender/video_sender.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 DISALLOW_COPY_AND_ASSIGN(TestPacketSender); 83 DISALLOW_COPY_AND_ASSIGN(TestPacketSender);
84 }; 84 };
85 85
86 class PeerVideoSender : public VideoSender { 86 class PeerVideoSender : public VideoSender {
87 public: 87 public:
88 PeerVideoSender( 88 PeerVideoSender(
89 scoped_refptr<CastEnvironment> cast_environment, 89 scoped_refptr<CastEnvironment> cast_environment,
90 const VideoSenderConfig& video_config, 90 const VideoSenderConfig& video_config,
91 const CreateVideoEncodeAcceleratorCallback& create_vea_cb, 91 const CreateVideoEncodeAcceleratorCallback& create_vea_cb,
92 const CreateVideoEncodeMemoryCallback& create_video_encode_mem_cb, 92 const CreateVideoEncodeMemoryCallback& create_video_encode_mem_cb,
93 const CastInitializationCallback& cast_initialization_cb,
94 transport::CastTransportSender* const transport_sender) 93 transport::CastTransportSender* const transport_sender)
95 : VideoSender(cast_environment, 94 : VideoSender(cast_environment,
96 video_config, 95 video_config,
97 create_vea_cb, 96 create_vea_cb,
98 create_video_encode_mem_cb, 97 create_video_encode_mem_cb,
99 cast_initialization_cb,
100 transport_sender) {} 98 transport_sender) {}
101 using VideoSender::OnReceivedCastFeedback; 99 using VideoSender::OnReceivedCastFeedback;
102 }; 100 };
103 } // namespace 101 } // namespace
104 102
105 class VideoSenderTest : public ::testing::Test { 103 class VideoSenderTest : public ::testing::Test {
106 protected: 104 protected:
107 VideoSenderTest() { 105 VideoSenderTest() {
108 testing_clock_ = new base::SimpleTestTickClock(); 106 testing_clock_ = new base::SimpleTestTickClock();
109 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); 107 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 if (external) { 155 if (external) {
158 scoped_ptr<VideoEncodeAccelerator> fake_vea( 156 scoped_ptr<VideoEncodeAccelerator> fake_vea(
159 new test::FakeVideoEncodeAccelerator(task_runner_)); 157 new test::FakeVideoEncodeAccelerator(task_runner_));
160 video_sender_.reset( 158 video_sender_.reset(
161 new PeerVideoSender(cast_environment_, 159 new PeerVideoSender(cast_environment_,
162 video_config, 160 video_config,
163 base::Bind(&CreateVideoEncodeAccelerator, 161 base::Bind(&CreateVideoEncodeAccelerator,
164 task_runner_, 162 task_runner_,
165 base::Passed(&fake_vea)), 163 base::Passed(&fake_vea)),
166 base::Bind(&CreateSharedMemory), 164 base::Bind(&CreateSharedMemory),
167 base::Bind(&VideoSenderTest::InitializationResult,
168 base::Unretained(this)),
169 transport_sender_.get())); 165 transport_sender_.get()));
170 } else { 166 } else {
171 video_sender_.reset( 167 video_sender_.reset(
172 new PeerVideoSender(cast_environment_, 168 new PeerVideoSender(cast_environment_,
173 video_config, 169 video_config,
174 CreateDefaultVideoEncodeAcceleratorCallback(), 170 CreateDefaultVideoEncodeAcceleratorCallback(),
175 CreateDefaultVideoEncodeMemoryCallback(), 171 CreateDefaultVideoEncodeMemoryCallback(),
176 base::Bind(&VideoSenderTest::InitializationResult,
177 base::Unretained(this)),
178 transport_sender_.get())); 172 transport_sender_.get()));
179 } 173 }
174 ASSERT_EQ(STATUS_VIDEO_INITIALIZED, video_sender_->InitializationResult());
180 } 175 }
181 176
182 scoped_refptr<media::VideoFrame> GetNewVideoFrame() { 177 scoped_refptr<media::VideoFrame> GetNewVideoFrame() {
183 gfx::Size size(kWidth, kHeight); 178 gfx::Size size(kWidth, kHeight);
184 scoped_refptr<media::VideoFrame> video_frame = 179 scoped_refptr<media::VideoFrame> video_frame =
185 media::VideoFrame::CreateFrame( 180 media::VideoFrame::CreateFrame(
186 VideoFrame::I420, size, gfx::Rect(size), size, base::TimeDelta()); 181 VideoFrame::I420, size, gfx::Rect(size), size, base::TimeDelta());
187 PopulateVideoFrame(video_frame, kPixelValue); 182 PopulateVideoFrame(video_frame, kPixelValue);
188 return video_frame; 183 return video_frame;
189 } 184 }
190 185
191 void RunTasks(int during_ms) { 186 void RunTasks(int during_ms) {
192 for (int i = 0; i < during_ms; ++i) { 187 for (int i = 0; i < during_ms; ++i) {
193 // Call process the timers every 1 ms. 188 // Call process the timers every 1 ms.
194 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(1)); 189 testing_clock_->Advance(base::TimeDelta::FromMilliseconds(1));
195 task_runner_->RunTasks(); 190 task_runner_->RunTasks();
196 } 191 }
197 } 192 }
198 193
199 void InitializationResult(CastInitializationStatus result) {
200 EXPECT_EQ(STATUS_VIDEO_INITIALIZED, result);
201 }
202
203 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. 194 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
204 TestPacketSender transport_; 195 TestPacketSender transport_;
205 scoped_ptr<transport::CastTransportSenderImpl> transport_sender_; 196 scoped_ptr<transport::CastTransportSenderImpl> transport_sender_;
206 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_; 197 scoped_refptr<test::FakeSingleThreadTaskRunner> task_runner_;
207 scoped_ptr<PeerVideoSender> video_sender_; 198 scoped_ptr<PeerVideoSender> video_sender_;
208 scoped_refptr<CastEnvironment> cast_environment_; 199 scoped_refptr<CastEnvironment> cast_environment_;
209 200
210 DISALLOW_COPY_AND_ASSIGN(VideoSenderTest); 201 DISALLOW_COPY_AND_ASSIGN(VideoSenderTest);
211 }; 202 };
212 203
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 // Empty the pipeline. 353 // Empty the pipeline.
363 RunTasks(100); 354 RunTasks(100);
364 // Should have sent at least 7 packets. 355 // Should have sent at least 7 packets.
365 EXPECT_LE( 356 EXPECT_LE(
366 7, 357 7,
367 transport_.number_of_rtp_packets() + transport_.number_of_rtcp_packets()); 358 transport_.number_of_rtp_packets() + transport_.number_of_rtcp_packets());
368 } 359 }
369 360
370 } // namespace cast 361 } // namespace cast
371 } // namespace media 362 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/video_sender/video_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698