| Index: content/browser/renderer_host/media/video_capture_controller_unittest.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_controller_unittest.cc b/content/browser/renderer_host/media/video_capture_controller_unittest.cc
|
| index 45f164fcc59d433325ef8f8cc5f3269a12377a86..162369f4d07f7c2bed6ee382d48dd59a0d767846 100644
|
| --- a/content/browser/renderer_host/media/video_capture_controller_unittest.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_controller_unittest.cc
|
| @@ -21,6 +21,7 @@
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "content/browser/renderer_host/media/media_stream_provider.h"
|
| +#include "content/browser/renderer_host/media/mock_video_capture_provider.h"
|
| #include "content/browser/renderer_host/media/video_capture_controller_event_handler.h"
|
| #include "content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.h"
|
| #include "content/browser/renderer_host/media/video_capture_manager.h"
|
| @@ -115,38 +116,6 @@ class MockVideoCaptureControllerEventHandler
|
| bool enable_auto_return_buffer_on_buffer_ready_ = true;
|
| };
|
|
|
| -class MockConsumerFeedbackObserver
|
| - : public media::VideoFrameConsumerFeedbackObserver {
|
| - public:
|
| - MOCK_METHOD2(OnUtilizationReport,
|
| - void(int frame_feedback_id, double utilization));
|
| -};
|
| -
|
| -class MockBuildableVideoCaptureDevice : public BuildableVideoCaptureDevice {
|
| - public:
|
| - void CreateAndStartDeviceAsync(
|
| - VideoCaptureController* controller,
|
| - const media::VideoCaptureParams& params,
|
| - BuildableVideoCaptureDevice::Callbacks* callbacks,
|
| - base::OnceClosure done_cb) override {}
|
| - void ReleaseDeviceAsync(VideoCaptureController* controller,
|
| - base::OnceClosure done_cb) override {}
|
| - bool IsDeviceAlive() const override { return false; }
|
| - void GetPhotoCapabilities(
|
| - media::VideoCaptureDevice::GetPhotoCapabilitiesCallback callback)
|
| - const override {}
|
| - void SetPhotoOptions(
|
| - media::mojom::PhotoSettingsPtr settings,
|
| - media::VideoCaptureDevice::SetPhotoOptionsCallback callback) override {}
|
| - void TakePhoto(
|
| - media::VideoCaptureDevice::TakePhotoCallback callback) override {}
|
| - void MaybeSuspendDevice() override {}
|
| - void ResumeDevice() override {}
|
| - void RequestRefreshFrame() override {}
|
| - void SetDesktopCaptureWindowIdAsync(gfx::NativeViewId window_id,
|
| - base::OnceClosure done_cb) override {}
|
| -};
|
| -
|
| // Test fixture for testing a unit consisting of an instance of
|
| // VideoCaptureController connected to an instance of VideoCaptureDeviceClient,
|
| // an instance of VideoCaptureBufferPoolImpl, as well as related threading glue
|
| @@ -169,16 +138,15 @@ class VideoCaptureControllerTest
|
| const MediaStreamType arbitrary_stream_type =
|
| content::MEDIA_DEVICE_VIDEO_CAPTURE;
|
| const media::VideoCaptureParams arbitrary_params;
|
| - auto buildable_device = base::MakeUnique<MockBuildableVideoCaptureDevice>();
|
| + auto device_launcher = base::MakeUnique<MockVideoCaptureDeviceLauncher>();
|
| controller_ = new VideoCaptureController(
|
| arbitrary_device_id, arbitrary_stream_type, arbitrary_params,
|
| - std::move(buildable_device));
|
| + std::move(device_launcher));
|
| InitializeNewDeviceClientAndBufferPoolInstances();
|
| - auto consumer_feedback_observer =
|
| - base::MakeUnique<MockConsumerFeedbackObserver>();
|
| - mock_consumer_feedback_observer_ = consumer_feedback_observer.get();
|
| - controller_->SetConsumerFeedbackObserver(
|
| - std::move(consumer_feedback_observer));
|
| + auto mock_launched_device =
|
| + base::MakeUnique<MockLaunchedVideoCaptureDevice>();
|
| + mock_launched_device_ = mock_launched_device.get();
|
| + controller_->OnDeviceLaunched(std::move(mock_launched_device));
|
| client_a_.reset(
|
| new MockVideoCaptureControllerEventHandler(controller_.get()));
|
| client_b_.reset(
|
| @@ -222,7 +190,7 @@ class VideoCaptureControllerTest
|
| std::unique_ptr<MockVideoCaptureControllerEventHandler> client_b_;
|
| scoped_refptr<VideoCaptureController> controller_;
|
| std::unique_ptr<media::VideoCaptureDevice::Client> device_client_;
|
| - MockConsumerFeedbackObserver* mock_consumer_feedback_observer_;
|
| + MockLaunchedVideoCaptureDevice* mock_launched_device_;
|
| const float arbitrary_frame_rate_ = 10.0f;
|
| const base::TimeTicks arbitrary_reference_time_ = base::TimeTicks();
|
| const base::TimeDelta arbitrary_timestamp_ = base::TimeDelta();
|
| @@ -380,7 +348,7 @@ TEST_P(VideoCaptureControllerTest, NormalCaptureMultipleClients) {
|
| client_b_->resource_utilization_ = -1.0;
|
| // Expect VideoCaptureController to call the load observer with a
|
| // resource utilization of 0.5 (the largest of all reported values).
|
| - EXPECT_CALL(*mock_consumer_feedback_observer_,
|
| + EXPECT_CALL(*mock_launched_device_,
|
| OnUtilizationReport(arbitrary_frame_feedback_id, 0.5));
|
|
|
| device_client_->OnIncomingCapturedBuffer(std::move(buffer), device_format,
|
| @@ -390,7 +358,7 @@ TEST_P(VideoCaptureControllerTest, NormalCaptureMultipleClients) {
|
| base::RunLoop().RunUntilIdle();
|
| Mock::VerifyAndClearExpectations(client_a_.get());
|
| Mock::VerifyAndClearExpectations(client_b_.get());
|
| - Mock::VerifyAndClearExpectations(mock_consumer_feedback_observer_);
|
| + Mock::VerifyAndClearExpectations(mock_launched_device_);
|
|
|
| // Second buffer which ought to use the same shared memory buffer. In this
|
| // case pretend that the Buffer pointer is held by the device for a long
|
| @@ -407,7 +375,7 @@ TEST_P(VideoCaptureControllerTest, NormalCaptureMultipleClients) {
|
| client_b_->resource_utilization_ = 3.14;
|
| // Expect VideoCaptureController to call the load observer with a
|
| // resource utilization of 3.14 (the largest of all reported values).
|
| - EXPECT_CALL(*mock_consumer_feedback_observer_,
|
| + EXPECT_CALL(*mock_launched_device_,
|
| OnUtilizationReport(arbitrary_frame_feedback_id_2, 3.14));
|
|
|
| device_client_->OnIncomingCapturedBuffer(std::move(buffer2), device_format,
|
| @@ -436,7 +404,7 @@ TEST_P(VideoCaptureControllerTest, NormalCaptureMultipleClients) {
|
| base::RunLoop().RunUntilIdle();
|
| Mock::VerifyAndClearExpectations(client_a_.get());
|
| Mock::VerifyAndClearExpectations(client_b_.get());
|
| - Mock::VerifyAndClearExpectations(mock_consumer_feedback_observer_);
|
| + Mock::VerifyAndClearExpectations(mock_launched_device_);
|
|
|
| // Add a fourth client now that some buffers have come through.
|
| controller_->AddClient(client_b_route_2, client_b_.get(), 1, session_1);
|
| @@ -653,7 +621,7 @@ TEST_F(VideoCaptureControllerTest, FrameFeedbackIsReportedForSequenceOfFrames) {
|
| DoBufferReady(route_id, arbitrary_format.frame_size))
|
| .Times(1);
|
| EXPECT_CALL(
|
| - *mock_consumer_feedback_observer_,
|
| + *mock_launched_device_,
|
| OnUtilizationReport(stub_frame_feedback_id, stub_consumer_utilization))
|
| .Times(1);
|
|
|
| @@ -679,7 +647,7 @@ TEST_F(VideoCaptureControllerTest, FrameFeedbackIsReportedForSequenceOfFrames) {
|
|
|
| base::RunLoop().RunUntilIdle();
|
| Mock::VerifyAndClearExpectations(client_a_.get());
|
| - Mock::VerifyAndClearExpectations(mock_consumer_feedback_observer_);
|
| + Mock::VerifyAndClearExpectations(mock_launched_device_);
|
| }
|
| }
|
|
|
|
|