| Index: services/video_capture/video_capture_device_factory_impl.cc
|
| diff --git a/services/video_capture/video_capture_device_factory_impl.cc b/services/video_capture/video_capture_device_factory_impl.cc
|
| index 045441537a9d483f907dcf02bf269efddd06a3df..f634368ee29481a7a9db7fa19768ed7b8365844e 100644
|
| --- a/services/video_capture/video_capture_device_factory_impl.cc
|
| +++ b/services/video_capture/video_capture_device_factory_impl.cc
|
| @@ -2,15 +2,49 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include <sstream>
|
| +
|
| #include "base/logging.h"
|
| +#include "base/strings/stringprintf.h"
|
| #include "services/video_capture/video_capture_device_factory_impl.h"
|
|
|
| namespace video_capture {
|
|
|
| +VideoCaptureDeviceFactoryImpl::DeviceEntry::DeviceEntry(
|
| + mojom::VideoCaptureDeviceDescriptorPtr descriptor,
|
| + std::unique_ptr<VideoCaptureDeviceImpl> bindable_target)
|
| + : descriptor_(std::move(descriptor)), device_(std::move(bindable_target)) {}
|
| +
|
| +VideoCaptureDeviceFactoryImpl::DeviceEntry::~DeviceEntry() = default;
|
| +
|
| +VideoCaptureDeviceFactoryImpl::DeviceEntry::DeviceEntry(
|
| + VideoCaptureDeviceFactoryImpl::DeviceEntry&& other) = default;
|
| +
|
| +VideoCaptureDeviceFactoryImpl::DeviceEntry&
|
| +VideoCaptureDeviceFactoryImpl::DeviceEntry::operator=(
|
| + VideoCaptureDeviceFactoryImpl::DeviceEntry&& other) = default;
|
| +
|
| +mojom::VideoCaptureDeviceDescriptorPtr
|
| +VideoCaptureDeviceFactoryImpl::DeviceEntry::MakeDescriptorCopy() const {
|
| + return descriptor_.Clone();
|
| +}
|
| +
|
| +VideoCaptureDeviceFactoryImpl::VideoCaptureDeviceFactoryImpl() = default;
|
| +
|
| +VideoCaptureDeviceFactoryImpl::~VideoCaptureDeviceFactoryImpl() = default;
|
| +
|
| +void VideoCaptureDeviceFactoryImpl::AddDevice(
|
| + mojom::VideoCaptureDeviceDescriptorPtr descriptor,
|
| + std::unique_ptr<VideoCaptureDeviceImpl> device) {
|
| + devices_.emplace_back(std::move(descriptor), std::move(device));
|
| +}
|
| +
|
| void VideoCaptureDeviceFactoryImpl::EnumerateDeviceDescriptors(
|
| const EnumerateDeviceDescriptorsCallback& callback) {
|
| - std::vector<mojom::VideoCaptureDeviceDescriptorPtr> empty_descriptors;
|
| - callback.Run(std::move(empty_descriptors));
|
| + std::vector<mojom::VideoCaptureDeviceDescriptorPtr> descriptors;
|
| + for (const auto& entry : devices_)
|
| + descriptors.push_back(entry.MakeDescriptorCopy());
|
| + callback.Run(std::move(descriptors));
|
| }
|
|
|
| void VideoCaptureDeviceFactoryImpl::GetSupportedFormats(
|
| @@ -21,8 +55,9 @@ void VideoCaptureDeviceFactoryImpl::GetSupportedFormats(
|
|
|
| void VideoCaptureDeviceFactoryImpl::CreateDevice(
|
| mojom::VideoCaptureDeviceDescriptorPtr device_descriptor,
|
| - mojom::VideoCaptureDeviceRequest device_request) {
|
| - NOTIMPLEMENTED();
|
| + mojom::VideoCaptureDeviceRequest request,
|
| + const CreateDeviceCallback& callback) {
|
| + callback.Run(mojom::DeviceAccessResultCode::SUCCESS);
|
| }
|
|
|
| } // namespace video_capture
|
|
|