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

Side by Side Diff: content/browser/renderer_host/media/video_capture_host_unittest.cc

Issue 501033003: Remove implicit conversions from scoped_refptr to T* in content/browser/renderer_host/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 void CloseSession() { 381 void CloseSession() {
382 if (opened_device_label_.empty()) 382 if (opened_device_label_.empty())
383 return; 383 return;
384 media_stream_manager_->CancelRequest(opened_device_label_); 384 media_stream_manager_->CancelRequest(opened_device_label_);
385 opened_device_label_.clear(); 385 opened_device_label_.clear();
386 opened_session_id_ = kInvalidMediaCaptureSessionId; 386 opened_session_id_ = kInvalidMediaCaptureSessionId;
387 } 387 }
388 388
389 protected: 389 protected:
390 void StartCapture() { 390 void StartCapture() {
391 EXPECT_CALL(*host_, OnNewBufferCreated(kDeviceId, _, _, _)) 391 EXPECT_CALL(*host_.get(), OnNewBufferCreated(kDeviceId, _, _, _))
392 .Times(AnyNumber()).WillRepeatedly(Return()); 392 .Times(AnyNumber())
393 .WillRepeatedly(Return());
393 394
394 base::RunLoop run_loop; 395 base::RunLoop run_loop;
395 EXPECT_CALL(*host_, OnBufferFilled(kDeviceId, _, _, _)) 396 EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId, _, _, _))
396 .Times(AnyNumber()).WillOnce(ExitMessageLoop( 397 .Times(AnyNumber())
397 message_loop_, run_loop.QuitClosure())); 398 .WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure()));
398 399
399 media::VideoCaptureParams params; 400 media::VideoCaptureParams params;
400 params.requested_format = media::VideoCaptureFormat( 401 params.requested_format = media::VideoCaptureFormat(
401 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); 402 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420);
402 host_->OnStartCapture(kDeviceId, opened_session_id_, params); 403 host_->OnStartCapture(kDeviceId, opened_session_id_, params);
403 run_loop.Run(); 404 run_loop.Run();
404 } 405 }
405 406
406 void StartStopCapture() { 407 void StartStopCapture() {
407 // Quickly start and then stop capture, without giving much chance for 408 // Quickly start and then stop capture, without giving much chance for
408 // asynchronous start operations to complete. 409 // asynchronous start operations to complete.
409 InSequence s; 410 InSequence s;
410 base::RunLoop run_loop; 411 base::RunLoop run_loop;
411 EXPECT_CALL(*host_, OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)); 412 EXPECT_CALL(*host_.get(),
413 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED));
412 media::VideoCaptureParams params; 414 media::VideoCaptureParams params;
413 params.requested_format = media::VideoCaptureFormat( 415 params.requested_format = media::VideoCaptureFormat(
414 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); 416 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420);
415 host_->OnStartCapture(kDeviceId, opened_session_id_, params); 417 host_->OnStartCapture(kDeviceId, opened_session_id_, params);
416 host_->OnStopCapture(kDeviceId); 418 host_->OnStopCapture(kDeviceId);
417 run_loop.RunUntilIdle(); 419 run_loop.RunUntilIdle();
418 } 420 }
419 421
420 #ifdef DUMP_VIDEO 422 #ifdef DUMP_VIDEO
421 void CaptureAndDumpVideo(int width, int height, int frame_rate) { 423 void CaptureAndDumpVideo(int width, int height, int frame_rate) {
(...skipping 10 matching lines...) Expand all
432 params.requested_format = 434 params.requested_format =
433 media::VideoCaptureFormat(gfx::Size(width, height), frame_rate); 435 media::VideoCaptureFormat(gfx::Size(width, height), frame_rate);
434 host_->SetDumpVideo(true); 436 host_->SetDumpVideo(true);
435 host_->OnStartCapture(kDeviceId, opened_session_id_, params); 437 host_->OnStartCapture(kDeviceId, opened_session_id_, params);
436 run_loop.Run(); 438 run_loop.Run();
437 } 439 }
438 #endif 440 #endif
439 441
440 void StopCapture() { 442 void StopCapture() {
441 base::RunLoop run_loop; 443 base::RunLoop run_loop;
442 EXPECT_CALL(*host_, OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)) 444 EXPECT_CALL(*host_.get(),
445 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED))
443 .WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure())); 446 .WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure()));
444 447
445 host_->OnStopCapture(kDeviceId); 448 host_->OnStopCapture(kDeviceId);
446 host_->SetReturnReceivedDibs(true); 449 host_->SetReturnReceivedDibs(true);
447 host_->ReturnReceivedDibs(kDeviceId); 450 host_->ReturnReceivedDibs(kDeviceId);
448 451
449 run_loop.Run(); 452 run_loop.Run();
450 453
451 host_->SetReturnReceivedDibs(false); 454 host_->SetReturnReceivedDibs(false);
452 // Expect the VideoCaptureDevice has been stopped 455 // Expect the VideoCaptureDevice has been stopped
453 EXPECT_EQ(0u, host_->entries_.size()); 456 EXPECT_EQ(0u, host_->entries_.size());
454 } 457 }
455 458
456 void NotifyPacketReady() { 459 void NotifyPacketReady() {
457 base::RunLoop run_loop; 460 base::RunLoop run_loop;
458 EXPECT_CALL(*host_, OnBufferFilled(kDeviceId, _, _, _)) 461 EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId, _, _, _))
459 .Times(AnyNumber()).WillOnce(ExitMessageLoop( 462 .Times(AnyNumber())
460 message_loop_, run_loop.QuitClosure())) 463 .WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure()))
461 .RetiresOnSaturation(); 464 .RetiresOnSaturation();
462 run_loop.Run(); 465 run_loop.Run();
463 } 466 }
464 467
465 void ReturnReceivedPackets() { 468 void ReturnReceivedPackets() {
466 host_->ReturnReceivedDibs(kDeviceId); 469 host_->ReturnReceivedDibs(kDeviceId);
467 } 470 }
468 471
469 void SimulateError() { 472 void SimulateError() {
470 // Expect a change state to error state sent through IPC. 473 // Expect a change state to error state sent through IPC.
471 EXPECT_CALL(*host_, OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_ERROR)) 474 EXPECT_CALL(*host_.get(),
472 .Times(1); 475 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_ERROR)).Times(1);
473 VideoCaptureControllerID id(kDeviceId); 476 VideoCaptureControllerID id(kDeviceId);
474 host_->OnError(id); 477 host_->OnError(id);
475 // Wait for the error callback. 478 // Wait for the error callback.
476 base::RunLoop().RunUntilIdle(); 479 base::RunLoop().RunUntilIdle();
477 } 480 }
478 481
479 scoped_refptr<MockVideoCaptureHost> host_; 482 scoped_refptr<MockVideoCaptureHost> host_;
480 483
481 private: 484 private:
482 StrictMock<MockMediaStreamRequester> stream_requester_; 485 StrictMock<MockMediaStreamRequester> stream_requester_;
483 scoped_ptr<media::AudioManager> audio_manager_; 486 scoped_ptr<media::AudioManager> audio_manager_;
484 scoped_ptr<MediaStreamManager> media_stream_manager_; 487 scoped_ptr<MediaStreamManager> media_stream_manager_;
485 content::TestBrowserThreadBundle thread_bundle_; 488 content::TestBrowserThreadBundle thread_bundle_;
486 content::TestBrowserContext browser_context_; 489 content::TestBrowserContext browser_context_;
487 content::TestContentBrowserClient browser_client_; 490 content::TestContentBrowserClient browser_client_;
488 scoped_refptr<base::MessageLoopProxy> message_loop_; 491 scoped_refptr<base::MessageLoopProxy> message_loop_;
489 int opened_session_id_; 492 int opened_session_id_;
490 std::string opened_device_label_; 493 std::string opened_device_label_;
491 494
492 DISALLOW_COPY_AND_ASSIGN(VideoCaptureHostTest); 495 DISALLOW_COPY_AND_ASSIGN(VideoCaptureHostTest);
493 }; 496 };
494 497
495 TEST_F(VideoCaptureHostTest, CloseSessionWithoutStopping) { 498 TEST_F(VideoCaptureHostTest, CloseSessionWithoutStopping) {
496 StartCapture(); 499 StartCapture();
497 500
498 // When the session is closed via the stream without stopping capture, the 501 // When the session is closed via the stream without stopping capture, the
499 // ENDED event is sent. 502 // ENDED event is sent.
500 EXPECT_CALL(*host_, OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_ENDED)) 503 EXPECT_CALL(*host_.get(),
501 .Times(1); 504 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_ENDED)).Times(1);
502 CloseSession(); 505 CloseSession();
503 base::RunLoop().RunUntilIdle(); 506 base::RunLoop().RunUntilIdle();
504 } 507 }
505 508
506 TEST_F(VideoCaptureHostTest, StopWhileStartPending) { 509 TEST_F(VideoCaptureHostTest, StopWhileStartPending) {
507 StartStopCapture(); 510 StartStopCapture();
508 } 511 }
509 512
510 TEST_F(VideoCaptureHostTest, StartCapturePlayStop) { 513 TEST_F(VideoCaptureHostTest, StartCapturePlayStop) {
511 StartCapture(); 514 StartCapture();
512 NotifyPacketReady(); 515 NotifyPacketReady();
513 NotifyPacketReady(); 516 NotifyPacketReady();
514 ReturnReceivedPackets(); 517 ReturnReceivedPackets();
515 StopCapture(); 518 StopCapture();
516 } 519 }
517 520
518 TEST_F(VideoCaptureHostTest, StartCaptureErrorStop) { 521 TEST_F(VideoCaptureHostTest, StartCaptureErrorStop) {
519 StartCapture(); 522 StartCapture();
520 SimulateError(); 523 SimulateError();
521 StopCapture(); 524 StopCapture();
522 } 525 }
523 526
524 TEST_F(VideoCaptureHostTest, StartCaptureError) { 527 TEST_F(VideoCaptureHostTest, StartCaptureError) {
525 EXPECT_CALL(*host_, OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)) 528 EXPECT_CALL(*host_.get(),
526 .Times(0); 529 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)).Times(0);
527 StartCapture(); 530 StartCapture();
528 NotifyPacketReady(); 531 NotifyPacketReady();
529 SimulateError(); 532 SimulateError();
530 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(200)); 533 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(200));
531 } 534 }
532 535
533 #ifdef DUMP_VIDEO 536 #ifdef DUMP_VIDEO
534 TEST_F(VideoCaptureHostTest, CaptureAndDumpVideoVga) { 537 TEST_F(VideoCaptureHostTest, CaptureAndDumpVideoVga) {
535 CaptureAndDumpVideo(640, 480, 30); 538 CaptureAndDumpVideo(640, 480, 30);
536 } 539 }
537 TEST_F(VideoCaptureHostTest, CaptureAndDump720P) { 540 TEST_F(VideoCaptureHostTest, CaptureAndDump720P) {
538 CaptureAndDumpVideo(1280, 720, 30); 541 CaptureAndDumpVideo(1280, 720, 30);
539 } 542 }
540 #endif 543 #endif
541 544
542 } // namespace content 545 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698