| Index: content/browser/renderer_host/media/video_capture_device_client_unittest.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_device_client_unittest.cc b/content/browser/renderer_host/media/video_capture_device_client_unittest.cc
|
| index 020854b4f270b0dba399f2d43c8a8f6806fb7bd9..e2a6a82e3b0e40cb8f722e97855ca368469c6395 100644
|
| --- a/content/browser/renderer_host/media/video_capture_device_client_unittest.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_device_client_unittest.cc
|
| @@ -16,9 +16,12 @@
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "build/build_config.h"
|
| #include "content/browser/renderer_host/media/video_capture_controller.h"
|
| +#include "content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.h"
|
| +#include "content/browser/renderer_host/media/video_frame_receiver_on_io_thread.h"
|
| #include "content/public/test/test_browser_thread_bundle.h"
|
| #include "media/base/limits.h"
|
| -#include "media/capture/video/video_capture_buffer_pool.h"
|
| +#include "media/capture/video/video_capture_buffer_pool_impl.h"
|
| +#include "media/capture/video/video_capture_buffer_tracker_factory_impl.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -33,8 +36,7 @@ namespace {
|
|
|
| class MockVideoCaptureController : public VideoCaptureController {
|
| public:
|
| - explicit MockVideoCaptureController(int max_buffers)
|
| - : VideoCaptureController(max_buffers) {}
|
| + explicit MockVideoCaptureController() : VideoCaptureController() {}
|
| ~MockVideoCaptureController() override {}
|
|
|
| MOCK_METHOD1(MockOnIncomingCapturedVideoFrame, void(const gfx::Size&));
|
| @@ -49,6 +51,11 @@ class MockVideoCaptureController : public VideoCaptureController {
|
| }
|
| };
|
|
|
| +std::unique_ptr<media::VideoCaptureJpegDecoder> CreateGpuJpegDecoder(
|
| + const media::VideoCaptureJpegDecoder::DecodeDoneCB& decode_done_cb) {
|
| + return base::MakeUnique<content::VideoCaptureGpuJpegDecoder>(decode_done_cb);
|
| +}
|
| +
|
| // Note that this test does not exercise the class VideoCaptureDeviceClient
|
| // in isolation. The "unit under test" is an instance of
|
| // VideoCaptureDeviceClient with some context that is specific to
|
| @@ -57,17 +64,29 @@ class MockVideoCaptureController : public VideoCaptureController {
|
| class VideoCaptureDeviceClientTest : public ::testing::Test {
|
| public:
|
| VideoCaptureDeviceClientTest()
|
| - : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
|
| - controller_(new MockVideoCaptureController(1)),
|
| - device_client_(controller_->NewDeviceClient()) {}
|
| + : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
|
| + scoped_refptr<media::VideoCaptureBufferPoolImpl> buffer_pool(
|
| + new media::VideoCaptureBufferPoolImpl(
|
| + base::MakeUnique<media::VideoCaptureBufferTrackerFactoryImpl>(),
|
| + 1));
|
| + controller_ = base::MakeUnique<MockVideoCaptureController>();
|
| + device_client_ = base::MakeUnique<media::VideoCaptureDeviceClient>(
|
| + base::MakeUnique<VideoFrameReceiverOnIOThread>(
|
| + controller_->GetWeakPtrForIOThread()),
|
| + buffer_pool,
|
| + base::Bind(
|
| + &CreateGpuJpegDecoder,
|
| + base::Bind(&media::VideoFrameReceiver::OnIncomingCapturedVideoFrame,
|
| + controller_->GetWeakPtrForIOThread())));
|
| + }
|
| ~VideoCaptureDeviceClientTest() override {}
|
|
|
| void TearDown() override { base::RunLoop().RunUntilIdle(); }
|
|
|
| protected:
|
| const content::TestBrowserThreadBundle thread_bundle_;
|
| - const std::unique_ptr<MockVideoCaptureController> controller_;
|
| - const std::unique_ptr<media::VideoCaptureDevice::Client> device_client_;
|
| + std::unique_ptr<MockVideoCaptureController> controller_;
|
| + std::unique_ptr<media::VideoCaptureDeviceClient> device_client_;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceClientTest);
|
|
|