OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "services/video_capture/mock_device_factory.h" | 5 #include "services/video_capture/mock_device_factory.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
11 #include "media/capture/video/fake_video_capture_device.h" | 11 #include "media/capture/video/fake_video_capture_device.h" |
12 #include "services/video_capture/device_mock_to_media_adapter.h" | 12 #include "services/video_capture/device_mock_to_media_adapter.h" |
13 #include "services/video_capture/mojo_media_conversions.h" | |
14 | 13 |
15 namespace { | 14 namespace { |
16 // Report a single hard-coded supported format to clients. | 15 // Report a single hard-coded supported format to clients. |
17 media::VideoCaptureFormat kSupportedFormat(gfx::Size(), | 16 media::VideoCaptureFormat kSupportedFormat(gfx::Size(), |
18 25.0f, | 17 25.0f, |
19 media::PIXEL_FORMAT_I420, | 18 media::PIXEL_FORMAT_I420, |
20 media::PIXEL_STORAGE_CPU); | 19 media::PIXEL_STORAGE_CPU); |
21 } | 20 } |
22 | 21 |
23 namespace video_capture { | 22 namespace video_capture { |
24 | 23 |
25 MockDeviceFactory::MockDeviceFactory() = default; | 24 MockDeviceFactory::MockDeviceFactory() = default; |
26 | 25 |
27 MockDeviceFactory::~MockDeviceFactory() = default; | 26 MockDeviceFactory::~MockDeviceFactory() = default; |
28 | 27 |
29 void MockDeviceFactory::AddMockDevice( | 28 void MockDeviceFactory::AddMockDevice( |
30 mojom::MockVideoCaptureDevicePtr device, | 29 mojom::MockVideoCaptureDevicePtr device, |
31 mojom::VideoCaptureDeviceDescriptorPtr descriptor) { | 30 const media::VideoCaptureDeviceDescriptor& descriptor) { |
32 media::VideoCaptureDeviceDescriptor media_descriptor = | 31 devices_[descriptor] = std::move(device); |
33 ConvertFromMojoToMedia(std::move(descriptor)); | |
34 devices_[media_descriptor] = std::move(device); | |
35 } | 32 } |
36 | 33 |
37 std::unique_ptr<media::VideoCaptureDevice> MockDeviceFactory::CreateDevice( | 34 std::unique_ptr<media::VideoCaptureDevice> MockDeviceFactory::CreateDevice( |
38 const media::VideoCaptureDeviceDescriptor& device_descriptor) { | 35 const media::VideoCaptureDeviceDescriptor& device_descriptor) { |
39 mojom::MockVideoCaptureDevicePtr* device = &(devices_[device_descriptor]); | 36 mojom::MockVideoCaptureDevicePtr* device = &(devices_[device_descriptor]); |
40 if (device == nullptr) { | 37 if (device == nullptr) { |
41 return nullptr; | 38 return nullptr; |
42 } | 39 } |
43 return base::MakeUnique<DeviceMockToMediaAdapter>(device); | 40 return base::MakeUnique<DeviceMockToMediaAdapter>(device); |
44 } | 41 } |
45 | 42 |
46 void MockDeviceFactory::GetDeviceDescriptors( | 43 void MockDeviceFactory::GetDeviceDescriptors( |
47 media::VideoCaptureDeviceDescriptors* device_descriptors) { | 44 media::VideoCaptureDeviceDescriptors* device_descriptors) { |
48 for (const auto& entry : devices_) | 45 for (const auto& entry : devices_) |
49 device_descriptors->push_back(entry.first); | 46 device_descriptors->push_back(entry.first); |
50 } | 47 } |
51 | 48 |
52 void MockDeviceFactory::GetSupportedFormats( | 49 void MockDeviceFactory::GetSupportedFormats( |
53 const media::VideoCaptureDeviceDescriptor& device_descriptor, | 50 const media::VideoCaptureDeviceDescriptor& device_descriptor, |
54 media::VideoCaptureFormats* supported_formats) { | 51 media::VideoCaptureFormats* supported_formats) { |
55 supported_formats->push_back(kSupportedFormat); | 52 supported_formats->push_back(kSupportedFormat); |
56 } | 53 } |
57 | 54 |
58 } // namespace video_capture | 55 } // namespace video_capture |
OLD | NEW |