| OLD | NEW |
| 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 "content/browser/renderer_host/media/video_capture_host.h" | 5 #include "content/browser/renderer_host/media/video_capture_host.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 .WillRepeatedly(Return()); | 379 .WillRepeatedly(Return()); |
| 380 | 380 |
| 381 base::RunLoop run_loop; | 381 base::RunLoop run_loop; |
| 382 EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId)) | 382 EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId)) |
| 383 .Times(AnyNumber()) | 383 .Times(AnyNumber()) |
| 384 .WillOnce(ExitMessageLoop(task_runner_, run_loop.QuitClosure())); | 384 .WillOnce(ExitMessageLoop(task_runner_, run_loop.QuitClosure())); |
| 385 | 385 |
| 386 media::VideoCaptureParams params; | 386 media::VideoCaptureParams params; |
| 387 params.requested_format = media::VideoCaptureFormat( | 387 params.requested_format = media::VideoCaptureFormat( |
| 388 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); | 388 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); |
| 389 host_->OnStartCapture(kDeviceId, opened_session_id_, params); | 389 host_->Start(kDeviceId, opened_session_id_, params); |
| 390 run_loop.Run(); | 390 run_loop.Run(); |
| 391 } | 391 } |
| 392 | 392 |
| 393 void StartStopCapture() { | 393 void StartStopCapture() { |
| 394 // Quickly start and then stop capture, without giving much chance for | 394 // Quickly start and then stop capture, without giving much chance for |
| 395 // asynchronous start operations to complete. | 395 // asynchronous start operations to complete. |
| 396 InSequence s; | 396 InSequence s; |
| 397 base::RunLoop run_loop; | 397 base::RunLoop run_loop; |
| 398 EXPECT_CALL(*host_.get(), | 398 EXPECT_CALL(*host_.get(), |
| 399 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)); | 399 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)); |
| 400 media::VideoCaptureParams params; | 400 media::VideoCaptureParams params; |
| 401 params.requested_format = media::VideoCaptureFormat( | 401 params.requested_format = media::VideoCaptureFormat( |
| 402 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); | 402 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); |
| 403 host_->OnStartCapture(kDeviceId, opened_session_id_, params); | 403 host_->Start(kDeviceId, opened_session_id_, params); |
| 404 host_->Stop(kDeviceId); | 404 host_->Stop(kDeviceId); |
| 405 run_loop.RunUntilIdle(); | 405 run_loop.RunUntilIdle(); |
| 406 WaitForVideoDeviceThread(); | 406 WaitForVideoDeviceThread(); |
| 407 } | 407 } |
| 408 | 408 |
| 409 void PauseResumeCapture() { | 409 void PauseResumeCapture() { |
| 410 InSequence s; | 410 InSequence s; |
| 411 base::RunLoop run_loop; | 411 base::RunLoop run_loop; |
| 412 EXPECT_CALL(*host_.get(), | 412 EXPECT_CALL(*host_.get(), |
| 413 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_PAUSED)); | 413 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_PAUSED)); |
| 414 host_->Pause(kDeviceId); | 414 host_->Pause(kDeviceId); |
| 415 | 415 |
| 416 EXPECT_CALL(*host_.get(), | 416 EXPECT_CALL(*host_.get(), |
| 417 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_RESUMED)); | 417 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_RESUMED)); |
| 418 media::VideoCaptureParams params; | 418 media::VideoCaptureParams params; |
| 419 params.requested_format = media::VideoCaptureFormat( | 419 params.requested_format = media::VideoCaptureFormat( |
| 420 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); | 420 gfx::Size(352, 288), 30, media::PIXEL_FORMAT_I420); |
| 421 host_->OnResumeCapture(kDeviceId, opened_session_id_, params); | 421 host_->Resume(kDeviceId, opened_session_id_, params); |
| 422 run_loop.RunUntilIdle(); | 422 run_loop.RunUntilIdle(); |
| 423 WaitForVideoDeviceThread(); | 423 WaitForVideoDeviceThread(); |
| 424 } | 424 } |
| 425 | 425 |
| 426 #ifdef DUMP_VIDEO | 426 #ifdef DUMP_VIDEO |
| 427 void CaptureAndDumpVideo(int width, int height, int frame_rate) { | 427 void CaptureAndDumpVideo(int width, int height, int frame_rate) { |
| 428 InSequence s; | 428 InSequence s; |
| 429 EXPECT_CALL(*host_.get(), OnNewBufferCreated(kDeviceId, _, _, _)) | 429 EXPECT_CALL(*host_.get(), OnNewBufferCreated(kDeviceId, _, _, _)) |
| 430 .Times(AnyNumber()).WillRepeatedly(Return()); | 430 .Times(AnyNumber()).WillRepeatedly(Return()); |
| 431 | 431 |
| 432 base::RunLoop run_loop; | 432 base::RunLoop run_loop; |
| 433 EXPECT_CALL(*host_, OnBufferFilled(kDeviceId, _, _, _, _, _, _, _, _, _)) | 433 EXPECT_CALL(*host_, OnBufferFilled(kDeviceId, _, _, _, _, _, _, _, _, _)) |
| 434 .Times(AnyNumber()) | 434 .Times(AnyNumber()) |
| 435 .WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure())); | 435 .WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure())); |
| 436 | 436 |
| 437 media::VideoCaptureParams params; | 437 media::VideoCaptureParams params; |
| 438 params.requested_format = | 438 params.requested_format = |
| 439 media::VideoCaptureFormat(gfx::Size(width, height), frame_rate); | 439 media::VideoCaptureFormat(gfx::Size(width, height), frame_rate); |
| 440 host_->SetDumpVideo(true); | 440 host_->SetDumpVideo(true); |
| 441 host_->OnStartCapture(kDeviceId, opened_session_id_, params); | 441 host_->Start(kDeviceId, opened_session_id_, params); |
| 442 run_loop.Run(); | 442 run_loop.Run(); |
| 443 } | 443 } |
| 444 #endif | 444 #endif |
| 445 | 445 |
| 446 void StopCapture() { | 446 void StopCapture() { |
| 447 base::RunLoop run_loop; | 447 base::RunLoop run_loop; |
| 448 EXPECT_CALL(*host_.get(), | 448 EXPECT_CALL(*host_.get(), |
| 449 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)) | 449 OnStateChanged(kDeviceId, VIDEO_CAPTURE_STATE_STOPPED)) |
| 450 .WillOnce(ExitMessageLoop(task_runner_, run_loop.QuitClosure())); | 450 .WillOnce(ExitMessageLoop(task_runner_, run_loop.QuitClosure())); |
| 451 | 451 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 } | 559 } |
| 560 #endif | 560 #endif |
| 561 | 561 |
| 562 TEST_F(VideoCaptureHostTest, PauseResumeCapture) { | 562 TEST_F(VideoCaptureHostTest, PauseResumeCapture) { |
| 563 StartCapture(); | 563 StartCapture(); |
| 564 PauseResumeCapture(); | 564 PauseResumeCapture(); |
| 565 StopCapture(); | 565 StopCapture(); |
| 566 } | 566 } |
| 567 | 567 |
| 568 } // namespace content | 568 } // namespace content |
| OLD | NEW |