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

Unified Diff: services/video_capture/video_capture_service.cc

Issue 2480203002: ui: Cleanup class/struct forward declarations (Closed)
Patch Set: Sync CL to position 430550 Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/video_capture/video_capture_service.h ('k') | skia/config/SkUserConfig.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/video_capture/video_capture_service.cc
diff --git a/services/video_capture/video_capture_service.cc b/services/video_capture/video_capture_service.cc
index 3d66b59b31fdc853d5e492eb9e86cafeaaab2ca4..0a3b18a7065bfe5c3b6cd821c183319b8a445e98 100644
--- a/services/video_capture/video_capture_service.cc
+++ b/services/video_capture/video_capture_service.cc
@@ -4,17 +4,16 @@
#include "services/video_capture/video_capture_service.h"
-#include "media/capture/video/fake_video_capture_device.h"
+#include "base/message_loop/message_loop.h"
+#include "media/capture/video/fake_video_capture_device_factory.h"
+#include "media/capture/video/video_capture_buffer_pool.h"
+#include "media/capture/video/video_capture_buffer_tracker.h"
#include "media/capture/video/video_capture_jpeg_decoder.h"
#include "services/service_manager/public/cpp/interface_registry.h"
-#include "services/video_capture/video_capture_device_factory_impl.h"
+#include "services/video_capture/device_factory_media_to_mojo_adapter.h"
+#include "services/video_capture/mock_device_factory.h"
namespace {
-static const char kFakeDeviceDisplayName[] = "Fake Video Capture Device";
-static const char kFakeDeviceId[] = "FakeDeviceId";
-static const char kFakeModelId[] = "FakeModelId";
-static const float kFakeCaptureDefaultFrameRate = 20.0f;
-
// TODO(chfremer): Replace with an actual decoder factory.
// https://crbug.com/584797
std::unique_ptr<media::VideoCaptureJpegDecoder> CreateJpegDecoder() {
@@ -25,7 +24,7 @@ std::unique_ptr<media::VideoCaptureJpegDecoder> CreateJpegDecoder() {
namespace video_capture {
-VideoCaptureService::VideoCaptureService() = default;
+VideoCaptureService::VideoCaptureService() : mock_device_factory_(nullptr) {}
VideoCaptureService::~VideoCaptureService() = default;
@@ -58,7 +57,7 @@ void VideoCaptureService::ConnectToFakeDeviceFactory(
void VideoCaptureService::ConnectToMockDeviceFactory(
mojom::VideoCaptureDeviceFactoryRequest request) {
LazyInitializeMockDeviceFactory();
- mock_factory_bindings_.AddBinding(mock_device_factory_.get(),
+ mock_factory_bindings_.AddBinding(mock_device_factory_adapter_.get(),
std::move(request));
}
@@ -74,34 +73,38 @@ void VideoCaptureService::AddDeviceToMockFactory(
void VideoCaptureService::LazyInitializeDeviceFactory() {
if (device_factory_)
return;
- device_factory_ = base::MakeUnique<VideoCaptureDeviceFactoryImpl>(
- base::Bind(CreateJpegDecoder));
+
+ // Create the platform-specific device factory.
+ // Task runner does not seem to actually be used.
+ std::unique_ptr<media::VideoCaptureDeviceFactory> media_device_factory =
+ media::VideoCaptureDeviceFactory::CreateFactory(
+ base::MessageLoop::current()->task_runner());
+
+ device_factory_ = base::MakeUnique<DeviceFactoryMediaToMojoAdapter>(
+ std::move(media_device_factory), base::Bind(CreateJpegDecoder));
}
void VideoCaptureService::LazyInitializeFakeDeviceFactory() {
if (fake_device_factory_)
return;
- fake_device_factory_ = base::MakeUnique<VideoCaptureDeviceFactoryImpl>(
- base::Bind(CreateJpegDecoder));
- media::VideoCaptureDeviceDescriptor fake_device_descriptor;
- fake_device_descriptor.display_name = kFakeDeviceDisplayName;
- fake_device_descriptor.device_id = kFakeDeviceId;
- fake_device_descriptor.model_id = kFakeModelId;
- fake_device_descriptor.capture_api = media::VideoCaptureApi::UNKNOWN;
- fake_device_descriptor.transport_type =
- media::VideoCaptureTransportType::OTHER_TRANSPORT;
- fake_device_factory_->AddMediaDevice(
- base::MakeUnique<media::FakeVideoCaptureDevice>(
- media::FakeVideoCaptureDevice::BufferOwnership::OWN_BUFFERS,
- kFakeCaptureDefaultFrameRate),
- std::move(fake_device_descriptor));
+
+ fake_device_factory_ = base::MakeUnique<DeviceFactoryMediaToMojoAdapter>(
+ base::MakeUnique<media::FakeVideoCaptureDeviceFactory>(),
+ base::Bind(&CreateJpegDecoder));
}
void VideoCaptureService::LazyInitializeMockDeviceFactory() {
if (mock_device_factory_)
return;
- mock_device_factory_ = base::MakeUnique<VideoCaptureDeviceFactoryImpl>(
- base::Bind(CreateJpegDecoder));
+
+ auto mock_device_factory = base::MakeUnique<MockDeviceFactory>();
+ // We keep a pointer to the MockDeviceFactory as a member so that we can
+ // invoke its AddMockDevice(). Ownership of the MockDeviceFactory is moved
+ // to the DeviceFactoryMediaToMojoAdapter.
+ mock_device_factory_ = mock_device_factory.get();
+ mock_device_factory_adapter_ =
+ base::MakeUnique<DeviceFactoryMediaToMojoAdapter>(
+ std::move(mock_device_factory), base::Bind(&CreateJpegDecoder));
}
} // namespace video_capture
« no previous file with comments | « services/video_capture/video_capture_service.h ('k') | skia/config/SkUserConfig.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698