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

Side by Side Diff: content/browser/media/capture/desktop_capture_device_unittest.cc

Issue 2026253003: Migrate WaitableEvent to enum-based constructor in content/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@WEvent_enums
Patch Set: Created 4 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/browser/media/capture/desktop_capture_device.h" 5 #include "content/browser/media/capture/desktop_capture_device.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <string.h> 9 #include <string.h>
10 #include <algorithm> 10 #include <algorithm>
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 #else 285 #else
286 #define MAYBE_Capture Capture 286 #define MAYBE_Capture Capture
287 #endif 287 #endif
288 TEST_F(DesktopCaptureDeviceTest, MAYBE_Capture) { 288 TEST_F(DesktopCaptureDeviceTest, MAYBE_Capture) {
289 std::unique_ptr<webrtc::DesktopCapturer> capturer( 289 std::unique_ptr<webrtc::DesktopCapturer> capturer(
290 webrtc::ScreenCapturer::Create( 290 webrtc::ScreenCapturer::Create(
291 webrtc::DesktopCaptureOptions::CreateDefault())); 291 webrtc::DesktopCaptureOptions::CreateDefault()));
292 CreateScreenCaptureDevice(std::move(capturer)); 292 CreateScreenCaptureDevice(std::move(capturer));
293 293
294 media::VideoCaptureFormat format; 294 media::VideoCaptureFormat format;
295 base::WaitableEvent done_event(false, false); 295 base::WaitableEvent done_event(
296 base::WaitableEvent::ResetPolicy::AUTOMATIC,
297 base::WaitableEvent::InitialState::NOT_SIGNALED);
296 int frame_size; 298 int frame_size;
297 299
298 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); 300 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
299 EXPECT_CALL(*client, OnError(_, _)).Times(0); 301 EXPECT_CALL(*client, OnError(_, _)).Times(0);
300 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _)) 302 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _))
301 .WillRepeatedly( 303 .WillRepeatedly(
302 DoAll(SaveArg<1>(&frame_size), SaveArg<2>(&format), 304 DoAll(SaveArg<1>(&frame_size), SaveArg<2>(&format),
303 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); 305 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal)));
304 306
305 media::VideoCaptureParams capture_params; 307 media::VideoCaptureParams capture_params;
(...skipping 15 matching lines...) Expand all
321 // Test that screen capturer behaves correctly if the source frame size changes 323 // Test that screen capturer behaves correctly if the source frame size changes
322 // but the caller cannot cope with variable resolution output. 324 // but the caller cannot cope with variable resolution output.
323 TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeConstantResolution) { 325 TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeConstantResolution) {
324 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); 326 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
325 327
326 CreateScreenCaptureDevice( 328 CreateScreenCaptureDevice(
327 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer)); 329 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer));
328 330
329 FormatChecker format_checker(gfx::Size(kTestFrameWidth1, kTestFrameHeight1), 331 FormatChecker format_checker(gfx::Size(kTestFrameWidth1, kTestFrameHeight1),
330 gfx::Size(kTestFrameWidth1, kTestFrameHeight1)); 332 gfx::Size(kTestFrameWidth1, kTestFrameHeight1));
331 base::WaitableEvent done_event(false, false); 333 base::WaitableEvent done_event(
334 base::WaitableEvent::ResetPolicy::AUTOMATIC,
335 base::WaitableEvent::InitialState::NOT_SIGNALED);
332 336
333 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); 337 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
334 EXPECT_CALL(*client, OnError(_, _)).Times(0); 338 EXPECT_CALL(*client, OnError(_, _)).Times(0);
335 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _)) 339 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _))
336 .WillRepeatedly( 340 .WillRepeatedly(
337 DoAll(WithArg<2>(Invoke(&format_checker, 341 DoAll(WithArg<2>(Invoke(&format_checker,
338 &FormatChecker::ExpectAcceptableSize)), 342 &FormatChecker::ExpectAcceptableSize)),
339 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); 343 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal)));
340 344
341 media::VideoCaptureParams capture_params; 345 media::VideoCaptureParams capture_params;
(...skipping 21 matching lines...) Expand all
363 // Test that screen capturer behaves correctly if the source frame size changes, 367 // Test that screen capturer behaves correctly if the source frame size changes,
364 // where the video frames sent the the client vary in resolution but maintain 368 // where the video frames sent the the client vary in resolution but maintain
365 // the same aspect ratio. 369 // the same aspect ratio.
366 TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeFixedAspectRatio) { 370 TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeFixedAspectRatio) {
367 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); 371 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
368 372
369 CreateScreenCaptureDevice( 373 CreateScreenCaptureDevice(
370 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer)); 374 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer));
371 375
372 FormatChecker format_checker(gfx::Size(888, 500), gfx::Size(532, 300)); 376 FormatChecker format_checker(gfx::Size(888, 500), gfx::Size(532, 300));
373 base::WaitableEvent done_event(false, false); 377 base::WaitableEvent done_event(
378 base::WaitableEvent::ResetPolicy::AUTOMATIC,
379 base::WaitableEvent::InitialState::NOT_SIGNALED);
374 380
375 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); 381 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
376 EXPECT_CALL(*client, OnError(_,_)).Times(0); 382 EXPECT_CALL(*client, OnError(_,_)).Times(0);
377 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _)) 383 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _))
378 .WillRepeatedly( 384 .WillRepeatedly(
379 DoAll(WithArg<2>(Invoke(&format_checker, 385 DoAll(WithArg<2>(Invoke(&format_checker,
380 &FormatChecker::ExpectAcceptableSize)), 386 &FormatChecker::ExpectAcceptableSize)),
381 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); 387 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal)));
382 388
383 media::VideoCaptureParams capture_params; 389 media::VideoCaptureParams capture_params;
(...skipping 25 matching lines...) Expand all
409 // Test that screen capturer behaves correctly if the source frame size changes 415 // Test that screen capturer behaves correctly if the source frame size changes
410 // and the caller can cope with variable resolution output. 416 // and the caller can cope with variable resolution output.
411 TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeVariableResolution) { 417 TEST_F(DesktopCaptureDeviceTest, ScreenResolutionChangeVariableResolution) {
412 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); 418 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
413 419
414 CreateScreenCaptureDevice( 420 CreateScreenCaptureDevice(
415 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer)); 421 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer));
416 422
417 FormatChecker format_checker(gfx::Size(kTestFrameWidth1, kTestFrameHeight1), 423 FormatChecker format_checker(gfx::Size(kTestFrameWidth1, kTestFrameHeight1),
418 gfx::Size(kTestFrameWidth2, kTestFrameHeight2)); 424 gfx::Size(kTestFrameWidth2, kTestFrameHeight2));
419 base::WaitableEvent done_event(false, false); 425 base::WaitableEvent done_event(
426 base::WaitableEvent::ResetPolicy::AUTOMATIC,
427 base::WaitableEvent::InitialState::NOT_SIGNALED);
420 428
421 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); 429 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
422 EXPECT_CALL(*client, OnError(_,_)).Times(0); 430 EXPECT_CALL(*client, OnError(_,_)).Times(0);
423 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _)) 431 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _))
424 .WillRepeatedly( 432 .WillRepeatedly(
425 DoAll(WithArg<2>(Invoke(&format_checker, 433 DoAll(WithArg<2>(Invoke(&format_checker,
426 &FormatChecker::ExpectAcceptableSize)), 434 &FormatChecker::ExpectAcceptableSize)),
427 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); 435 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal)));
428 436
429 media::VideoCaptureParams capture_params; 437 media::VideoCaptureParams capture_params;
(...skipping 23 matching lines...) Expand all
453 } 461 }
454 462
455 // This test verifies that an unpacked frame is converted to a packed frame. 463 // This test verifies that an unpacked frame is converted to a packed frame.
456 TEST_F(DesktopCaptureDeviceTest, UnpackedFrame) { 464 TEST_F(DesktopCaptureDeviceTest, UnpackedFrame) {
457 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); 465 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
458 mock_capturer->set_generate_cropped_frames(true); 466 mock_capturer->set_generate_cropped_frames(true);
459 CreateScreenCaptureDevice( 467 CreateScreenCaptureDevice(
460 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer)); 468 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer));
461 469
462 media::VideoCaptureFormat format; 470 media::VideoCaptureFormat format;
463 base::WaitableEvent done_event(false, false); 471 base::WaitableEvent done_event(
472 base::WaitableEvent::ResetPolicy::AUTOMATIC,
473 base::WaitableEvent::InitialState::NOT_SIGNALED);
464 474
465 int frame_size = 0; 475 int frame_size = 0;
466 output_frame_.reset(new webrtc::BasicDesktopFrame( 476 output_frame_.reset(new webrtc::BasicDesktopFrame(
467 webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1))); 477 webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1)));
468 478
469 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); 479 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
470 EXPECT_CALL(*client, OnError(_,_)).Times(0); 480 EXPECT_CALL(*client, OnError(_,_)).Times(0);
471 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _)) 481 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _))
472 .WillRepeatedly( 482 .WillRepeatedly(
473 DoAll(Invoke(this, &DesktopCaptureDeviceTest::CopyFrame), 483 DoAll(Invoke(this, &DesktopCaptureDeviceTest::CopyFrame),
(...skipping 24 matching lines...) Expand all
498 } 508 }
499 509
500 // The test verifies that a bottom-to-top frame is converted to top-to-bottom. 510 // The test verifies that a bottom-to-top frame is converted to top-to-bottom.
501 TEST_F(DesktopCaptureDeviceTest, InvertedFrame) { 511 TEST_F(DesktopCaptureDeviceTest, InvertedFrame) {
502 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); 512 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer();
503 mock_capturer->set_generate_inverted_frames(true); 513 mock_capturer->set_generate_inverted_frames(true);
504 CreateScreenCaptureDevice( 514 CreateScreenCaptureDevice(
505 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer)); 515 std::unique_ptr<webrtc::DesktopCapturer>(mock_capturer));
506 516
507 media::VideoCaptureFormat format; 517 media::VideoCaptureFormat format;
508 base::WaitableEvent done_event(false, false); 518 base::WaitableEvent done_event(
519 base::WaitableEvent::ResetPolicy::AUTOMATIC,
520 base::WaitableEvent::InitialState::NOT_SIGNALED);
509 521
510 int frame_size = 0; 522 int frame_size = 0;
511 output_frame_.reset(new webrtc::BasicDesktopFrame( 523 output_frame_.reset(new webrtc::BasicDesktopFrame(
512 webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1))); 524 webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1)));
513 525
514 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient()); 526 std::unique_ptr<MockDeviceClient> client(new MockDeviceClient());
515 EXPECT_CALL(*client, OnError(_,_)).Times(0); 527 EXPECT_CALL(*client, OnError(_,_)).Times(0);
516 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _)) 528 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _, _))
517 .WillRepeatedly( 529 .WillRepeatedly(
518 DoAll(Invoke(this, &DesktopCaptureDeviceTest::CopyFrame), 530 DoAll(Invoke(this, &DesktopCaptureDeviceTest::CopyFrame),
(...skipping 21 matching lines...) Expand all
540 frame_size); 552 frame_size);
541 for (int i = 0; i < output_frame_->size().height(); ++i) { 553 for (int i = 0; i < output_frame_->size().height(); ++i) {
542 EXPECT_EQ(0, 554 EXPECT_EQ(0,
543 memcmp(inverted_frame->data() + i * inverted_frame->stride(), 555 memcmp(inverted_frame->data() + i * inverted_frame->stride(),
544 output_frame_->data() + i * output_frame_->stride(), 556 output_frame_->data() + i * output_frame_->stride(),
545 output_frame_->stride())); 557 output_frame_->stride()));
546 } 558 }
547 } 559 }
548 560
549 } // namespace content 561 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698