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

Side by Side Diff: webrtc/pc/videocapturertracksource_unittest.cc

Issue 2685783014: Replace NULL with nullptr in all C++ files. (Closed)
Patch Set: Fixing android. Created 3 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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 protected: 109 protected:
110 VideoCapturerTrackSourceTest() { InitCapturer(false); } 110 VideoCapturerTrackSourceTest() { InitCapturer(false); }
111 void InitCapturer(bool is_screencast) { 111 void InitCapturer(bool is_screencast) {
112 capturer_cleanup_ = std::unique_ptr<TestVideoCapturer>( 112 capturer_cleanup_ = std::unique_ptr<TestVideoCapturer>(
113 new TestVideoCapturer(is_screencast)); 113 new TestVideoCapturer(is_screencast));
114 capturer_ = capturer_cleanup_.get(); 114 capturer_ = capturer_cleanup_.get();
115 } 115 }
116 116
117 void InitScreencast() { InitCapturer(true); } 117 void InitScreencast() { InitCapturer(true); }
118 118
119 void CreateVideoCapturerSource() { CreateVideoCapturerSource(NULL); } 119 void CreateVideoCapturerSource() { CreateVideoCapturerSource(nullptr); }
120 120
121 void CreateVideoCapturerSource( 121 void CreateVideoCapturerSource(
122 const webrtc::MediaConstraintsInterface* constraints) { 122 const webrtc::MediaConstraintsInterface* constraints) {
123 // VideoSource take ownership of |capturer_| 123 // VideoSource take ownership of |capturer_|
124 source_ = VideoCapturerTrackSource::Create(rtc::Thread::Current(), 124 source_ = VideoCapturerTrackSource::Create(rtc::Thread::Current(),
125 capturer_cleanup_.release(), 125 capturer_cleanup_.release(),
126 constraints, false); 126 constraints, false);
127 127
128 ASSERT_TRUE(source_.get() != NULL); 128 ASSERT_TRUE(source_.get() != nullptr);
129 129
130 state_observer_.reset(new StateObserver(source_)); 130 state_observer_.reset(new StateObserver(source_));
131 source_->RegisterObserver(state_observer_.get()); 131 source_->RegisterObserver(state_observer_.get());
132 source_->AddOrUpdateSink(&renderer_, rtc::VideoSinkWants()); 132 source_->AddOrUpdateSink(&renderer_, rtc::VideoSinkWants());
133 } 133 }
134 134
135 std::unique_ptr<TestVideoCapturer> capturer_cleanup_; 135 std::unique_ptr<TestVideoCapturer> capturer_cleanup_;
136 TestVideoCapturer* capturer_; 136 TestVideoCapturer* capturer_;
137 cricket::FakeVideoRenderer renderer_; 137 cricket::FakeVideoRenderer renderer_;
138 std::unique_ptr<StateObserver> state_observer_; 138 std::unique_ptr<StateObserver> state_observer_;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 TEST_F(VideoCapturerTrackSourceTest, MandatoryConstraintCif5Fps) { 173 TEST_F(VideoCapturerTrackSourceTest, MandatoryConstraintCif5Fps) {
174 FakeConstraints constraints; 174 FakeConstraints constraints;
175 constraints.AddMandatory(MediaConstraintsInterface::kMaxWidth, 352); 175 constraints.AddMandatory(MediaConstraintsInterface::kMaxWidth, 352);
176 constraints.AddMandatory(MediaConstraintsInterface::kMaxHeight, 288); 176 constraints.AddMandatory(MediaConstraintsInterface::kMaxHeight, 288);
177 constraints.AddMandatory(MediaConstraintsInterface::kMaxFrameRate, 5); 177 constraints.AddMandatory(MediaConstraintsInterface::kMaxFrameRate, 5);
178 178
179 CreateVideoCapturerSource(&constraints); 179 CreateVideoCapturerSource(&constraints);
180 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 180 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
181 kMaxWaitMs); 181 kMaxWaitMs);
182 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 182 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
183 ASSERT_TRUE(format != NULL); 183 ASSERT_TRUE(format != nullptr);
184 EXPECT_EQ(352, format->width); 184 EXPECT_EQ(352, format->width);
185 EXPECT_EQ(288, format->height); 185 EXPECT_EQ(288, format->height);
186 EXPECT_EQ(5, format->framerate()); 186 EXPECT_EQ(5, format->framerate());
187 } 187 }
188 188
189 // Test that the capture output is 720P if the camera support it and the 189 // Test that the capture output is 720P if the camera support it and the
190 // optional constraint is set to 720P. 190 // optional constraint is set to 720P.
191 TEST_F(VideoCapturerTrackSourceTest, MandatoryMinVgaOptional720P) { 191 TEST_F(VideoCapturerTrackSourceTest, MandatoryMinVgaOptional720P) {
192 FakeConstraints constraints; 192 FakeConstraints constraints;
193 constraints.AddMandatory(MediaConstraintsInterface::kMinWidth, 640); 193 constraints.AddMandatory(MediaConstraintsInterface::kMinWidth, 640);
194 constraints.AddMandatory(MediaConstraintsInterface::kMinHeight, 480); 194 constraints.AddMandatory(MediaConstraintsInterface::kMinHeight, 480);
195 constraints.AddOptional(MediaConstraintsInterface::kMinWidth, 1280); 195 constraints.AddOptional(MediaConstraintsInterface::kMinWidth, 1280);
196 constraints.AddOptional(MediaConstraintsInterface::kMinAspectRatio, 196 constraints.AddOptional(MediaConstraintsInterface::kMinAspectRatio,
197 1280.0 / 720); 197 1280.0 / 720);
198 198
199 CreateVideoCapturerSource(&constraints); 199 CreateVideoCapturerSource(&constraints);
200 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 200 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
201 kMaxWaitMs); 201 kMaxWaitMs);
202 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 202 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
203 ASSERT_TRUE(format != NULL); 203 ASSERT_TRUE(format != nullptr);
204 EXPECT_EQ(1280, format->width); 204 EXPECT_EQ(1280, format->width);
205 EXPECT_EQ(720, format->height); 205 EXPECT_EQ(720, format->height);
206 EXPECT_EQ(30, format->framerate()); 206 EXPECT_EQ(30, format->framerate());
207 } 207 }
208 208
209 // Test that the capture output have aspect ratio 4:3 if a mandatory constraint 209 // Test that the capture output have aspect ratio 4:3 if a mandatory constraint
210 // require it even if an optional constraint request a higher resolution 210 // require it even if an optional constraint request a higher resolution
211 // that don't have this aspect ratio. 211 // that don't have this aspect ratio.
212 TEST_F(VideoCapturerTrackSourceTest, MandatoryAspectRatio4To3) { 212 TEST_F(VideoCapturerTrackSourceTest, MandatoryAspectRatio4To3) {
213 FakeConstraints constraints; 213 FakeConstraints constraints;
214 constraints.AddMandatory(MediaConstraintsInterface::kMinWidth, 640); 214 constraints.AddMandatory(MediaConstraintsInterface::kMinWidth, 640);
215 constraints.AddMandatory(MediaConstraintsInterface::kMinHeight, 480); 215 constraints.AddMandatory(MediaConstraintsInterface::kMinHeight, 480);
216 constraints.AddMandatory(MediaConstraintsInterface::kMaxAspectRatio, 216 constraints.AddMandatory(MediaConstraintsInterface::kMaxAspectRatio,
217 640.0 / 480); 217 640.0 / 480);
218 constraints.AddOptional(MediaConstraintsInterface::kMinWidth, 1280); 218 constraints.AddOptional(MediaConstraintsInterface::kMinWidth, 1280);
219 219
220 CreateVideoCapturerSource(&constraints); 220 CreateVideoCapturerSource(&constraints);
221 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 221 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
222 kMaxWaitMs); 222 kMaxWaitMs);
223 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 223 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
224 ASSERT_TRUE(format != NULL); 224 ASSERT_TRUE(format != nullptr);
225 EXPECT_EQ(640, format->width); 225 EXPECT_EQ(640, format->width);
226 EXPECT_EQ(480, format->height); 226 EXPECT_EQ(480, format->height);
227 EXPECT_EQ(30, format->framerate()); 227 EXPECT_EQ(30, format->framerate());
228 } 228 }
229 229
230 // Test that the source state transition to kEnded if the mandatory aspect ratio 230 // Test that the source state transition to kEnded if the mandatory aspect ratio
231 // is set higher than supported. 231 // is set higher than supported.
232 TEST_F(VideoCapturerTrackSourceTest, MandatoryAspectRatioTooHigh) { 232 TEST_F(VideoCapturerTrackSourceTest, MandatoryAspectRatioTooHigh) {
233 FakeConstraints constraints; 233 FakeConstraints constraints;
234 constraints.AddMandatory(MediaConstraintsInterface::kMinAspectRatio, 2); 234 constraints.AddMandatory(MediaConstraintsInterface::kMinAspectRatio, 2);
235 CreateVideoCapturerSource(&constraints); 235 CreateVideoCapturerSource(&constraints);
236 EXPECT_EQ_WAIT(MediaSourceInterface::kEnded, state_observer_->state(), 236 EXPECT_EQ_WAIT(MediaSourceInterface::kEnded, state_observer_->state(),
237 kMaxWaitMs); 237 kMaxWaitMs);
238 } 238 }
239 239
240 // Test that the source ignores an optional aspect ratio that is higher than 240 // Test that the source ignores an optional aspect ratio that is higher than
241 // supported. 241 // supported.
242 TEST_F(VideoCapturerTrackSourceTest, OptionalAspectRatioTooHigh) { 242 TEST_F(VideoCapturerTrackSourceTest, OptionalAspectRatioTooHigh) {
243 FakeConstraints constraints; 243 FakeConstraints constraints;
244 constraints.AddOptional(MediaConstraintsInterface::kMinAspectRatio, 2); 244 constraints.AddOptional(MediaConstraintsInterface::kMinAspectRatio, 2);
245 CreateVideoCapturerSource(&constraints); 245 CreateVideoCapturerSource(&constraints);
246 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 246 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
247 kMaxWaitMs); 247 kMaxWaitMs);
248 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 248 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
249 ASSERT_TRUE(format != NULL); 249 ASSERT_TRUE(format != nullptr);
250 double aspect_ratio = static_cast<double>(format->width) / format->height; 250 double aspect_ratio = static_cast<double>(format->width) / format->height;
251 EXPECT_LT(aspect_ratio, 2); 251 EXPECT_LT(aspect_ratio, 2);
252 } 252 }
253 253
254 // Test that the source starts video with the default resolution if the 254 // Test that the source starts video with the default resolution if the
255 // camera doesn't support capability enumeration and there are no constraints. 255 // camera doesn't support capability enumeration and there are no constraints.
256 TEST_F(VideoCapturerTrackSourceTest, NoCameraCapability) { 256 TEST_F(VideoCapturerTrackSourceTest, NoCameraCapability) {
257 capturer_->TestWithoutCameraFormats(); 257 capturer_->TestWithoutCameraFormats();
258 258
259 CreateVideoCapturerSource(); 259 CreateVideoCapturerSource();
260 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 260 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
261 kMaxWaitMs); 261 kMaxWaitMs);
262 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 262 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
263 ASSERT_TRUE(format != NULL); 263 ASSERT_TRUE(format != nullptr);
264 EXPECT_EQ(640, format->width); 264 EXPECT_EQ(640, format->width);
265 EXPECT_EQ(480, format->height); 265 EXPECT_EQ(480, format->height);
266 EXPECT_EQ(30, format->framerate()); 266 EXPECT_EQ(30, format->framerate());
267 } 267 }
268 268
269 // Test that the source can start the video and get the requested aspect ratio 269 // Test that the source can start the video and get the requested aspect ratio
270 // if the camera doesn't support capability enumeration and the aspect ratio is 270 // if the camera doesn't support capability enumeration and the aspect ratio is
271 // set. 271 // set.
272 TEST_F(VideoCapturerTrackSourceTest, NoCameraCapability16To9Ratio) { 272 TEST_F(VideoCapturerTrackSourceTest, NoCameraCapability16To9Ratio) {
273 capturer_->TestWithoutCameraFormats(); 273 capturer_->TestWithoutCameraFormats();
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 constraints.AddMandatory(MediaConstraintsInterface::kMaxHeight, 288); 390 constraints.AddMandatory(MediaConstraintsInterface::kMaxHeight, 288);
391 constraints.AddOptional(MediaConstraintsInterface::kMaxFrameRate, 5); 391 constraints.AddOptional(MediaConstraintsInterface::kMaxFrameRate, 5);
392 392
393 constraints.AddMandatory(MediaConstraintsInterface::kNoiseReduction, false); 393 constraints.AddMandatory(MediaConstraintsInterface::kNoiseReduction, false);
394 constraints.AddOptional(MediaConstraintsInterface::kNoiseReduction, true); 394 constraints.AddOptional(MediaConstraintsInterface::kNoiseReduction, true);
395 395
396 CreateVideoCapturerSource(&constraints); 396 CreateVideoCapturerSource(&constraints);
397 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 397 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
398 kMaxWaitMs); 398 kMaxWaitMs);
399 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 399 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
400 ASSERT_TRUE(format != NULL); 400 ASSERT_TRUE(format != nullptr);
401 EXPECT_EQ(352, format->width); 401 EXPECT_EQ(352, format->width);
402 EXPECT_EQ(288, format->height); 402 EXPECT_EQ(288, format->height);
403 EXPECT_EQ(5, format->framerate()); 403 EXPECT_EQ(5, format->framerate());
404 404
405 EXPECT_EQ(rtc::Optional<bool>(false), source_->needs_denoising()); 405 EXPECT_EQ(rtc::Optional<bool>(false), source_->needs_denoising());
406 } 406 }
407 407
408 // Tests that the source starts video with the default resolution for 408 // Tests that the source starts video with the default resolution for
409 // screencast if no constraint is set. 409 // screencast if no constraint is set.
410 TEST_F(VideoCapturerTrackSourceTest, ScreencastResolutionNoConstraint) { 410 TEST_F(VideoCapturerTrackSourceTest, ScreencastResolutionNoConstraint) {
411 InitScreencast(); 411 InitScreencast();
412 capturer_->TestWithoutCameraFormats(); 412 capturer_->TestWithoutCameraFormats();
413 413
414 CreateVideoCapturerSource(); 414 CreateVideoCapturerSource();
415 ASSERT_TRUE(source_->is_screencast()); 415 ASSERT_TRUE(source_->is_screencast());
416 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 416 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
417 kMaxWaitMs); 417 kMaxWaitMs);
418 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 418 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
419 ASSERT_TRUE(format != NULL); 419 ASSERT_TRUE(format != nullptr);
420 EXPECT_EQ(640, format->width); 420 EXPECT_EQ(640, format->width);
421 EXPECT_EQ(480, format->height); 421 EXPECT_EQ(480, format->height);
422 EXPECT_EQ(30, format->framerate()); 422 EXPECT_EQ(30, format->framerate());
423 } 423 }
424 424
425 // Tests that the source starts video with the max width and height set by 425 // Tests that the source starts video with the max width and height set by
426 // constraints for screencast. 426 // constraints for screencast.
427 TEST_F(VideoCapturerTrackSourceTest, ScreencastResolutionWithConstraint) { 427 TEST_F(VideoCapturerTrackSourceTest, ScreencastResolutionWithConstraint) {
428 FakeConstraints constraints; 428 FakeConstraints constraints;
429 constraints.AddMandatory(MediaConstraintsInterface::kMaxWidth, 480); 429 constraints.AddMandatory(MediaConstraintsInterface::kMaxWidth, 480);
430 constraints.AddMandatory(MediaConstraintsInterface::kMaxHeight, 270); 430 constraints.AddMandatory(MediaConstraintsInterface::kMaxHeight, 270);
431 431
432 InitScreencast(); 432 InitScreencast();
433 capturer_->TestWithoutCameraFormats(); 433 capturer_->TestWithoutCameraFormats();
434 434
435 CreateVideoCapturerSource(&constraints); 435 CreateVideoCapturerSource(&constraints);
436 ASSERT_TRUE(source_->is_screencast()); 436 ASSERT_TRUE(source_->is_screencast());
437 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 437 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
438 kMaxWaitMs); 438 kMaxWaitMs);
439 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 439 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
440 ASSERT_TRUE(format != NULL); 440 ASSERT_TRUE(format != nullptr);
441 EXPECT_EQ(480, format->width); 441 EXPECT_EQ(480, format->width);
442 EXPECT_EQ(270, format->height); 442 EXPECT_EQ(270, format->height);
443 EXPECT_EQ(30, format->framerate()); 443 EXPECT_EQ(30, format->framerate());
444 } 444 }
445 445
446 TEST_F(VideoCapturerTrackSourceTest, MandatorySubOneFpsConstraints) { 446 TEST_F(VideoCapturerTrackSourceTest, MandatorySubOneFpsConstraints) {
447 FakeConstraints constraints; 447 FakeConstraints constraints;
448 constraints.AddMandatory(MediaConstraintsInterface::kMaxFrameRate, 0.5); 448 constraints.AddMandatory(MediaConstraintsInterface::kMaxFrameRate, 0.5);
449 449
450 CreateVideoCapturerSource(&constraints); 450 CreateVideoCapturerSource(&constraints);
451 EXPECT_EQ_WAIT(MediaSourceInterface::kEnded, state_observer_->state(), 451 EXPECT_EQ_WAIT(MediaSourceInterface::kEnded, state_observer_->state(),
452 kMaxWaitMs); 452 kMaxWaitMs);
453 ASSERT_TRUE(capturer_->GetCaptureFormat() == NULL); 453 ASSERT_TRUE(capturer_->GetCaptureFormat() == nullptr);
454 } 454 }
455 455
456 TEST_F(VideoCapturerTrackSourceTest, OptionalSubOneFpsConstraints) { 456 TEST_F(VideoCapturerTrackSourceTest, OptionalSubOneFpsConstraints) {
457 FakeConstraints constraints; 457 FakeConstraints constraints;
458 constraints.AddOptional(MediaConstraintsInterface::kMaxFrameRate, 0.5); 458 constraints.AddOptional(MediaConstraintsInterface::kMaxFrameRate, 0.5);
459 459
460 CreateVideoCapturerSource(&constraints); 460 CreateVideoCapturerSource(&constraints);
461 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(), 461 EXPECT_EQ_WAIT(MediaSourceInterface::kLive, state_observer_->state(),
462 kMaxWaitMs); 462 kMaxWaitMs);
463 const cricket::VideoFormat* format = capturer_->GetCaptureFormat(); 463 const cricket::VideoFormat* format = capturer_->GetCaptureFormat();
464 ASSERT_TRUE(format != NULL); 464 ASSERT_TRUE(format != nullptr);
465 EXPECT_EQ(1, format->framerate()); 465 EXPECT_EQ(1, format->framerate());
466 } 466 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698