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/video_capture_service.h" | 5 #include "services/video_capture/video_capture_service.h" |
6 | 6 |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "media/capture/video/fake_video_capture_device_factory.h" | 8 #include "media/capture/video/fake_video_capture_device_factory.h" |
9 #include "media/capture/video/video_capture_buffer_tracker.h" | 9 #include "media/capture/video/video_capture_buffer_tracker.h" |
10 #include "media/capture/video/video_capture_buffer_pool.h" | 10 #include "media/capture/video/video_capture_buffer_pool.h" |
11 #include "media/capture/video/video_capture_jpeg_decoder.h" | 11 #include "media/capture/video/video_capture_jpeg_decoder.h" |
12 #include "services/video_capture/device_factory_media_to_mojo_adapter.h" | 12 #include "services/video_capture/device_factory_media_to_mojo_adapter.h" |
13 #include "services/video_capture/mojo_media_conversions.h" | |
14 #include "services/video_capture/mock_device_factory.h" | 13 #include "services/video_capture/mock_device_factory.h" |
15 | 14 |
16 namespace { | 15 namespace { |
17 // TODO(chfremer): Replace with an actual decoder factory. | 16 // TODO(chfremer): Replace with an actual decoder factory. |
18 // https://crbug.com/584797 | 17 // https://crbug.com/584797 |
19 std::unique_ptr<media::VideoCaptureJpegDecoder> CreateJpegDecoder() { | 18 std::unique_ptr<media::VideoCaptureJpegDecoder> CreateJpegDecoder() { |
20 return nullptr; | 19 return nullptr; |
21 } | 20 } |
22 | 21 |
23 } // anonymous namespace | 22 } // anonymous namespace |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 54 |
56 void VideoCaptureService::ConnectToMockDeviceFactory( | 55 void VideoCaptureService::ConnectToMockDeviceFactory( |
57 mojom::VideoCaptureDeviceFactoryRequest request) { | 56 mojom::VideoCaptureDeviceFactoryRequest request) { |
58 LazyInitializeMockDeviceFactory(); | 57 LazyInitializeMockDeviceFactory(); |
59 mock_factory_bindings_.AddBinding(mock_device_factory_adapter_.get(), | 58 mock_factory_bindings_.AddBinding(mock_device_factory_adapter_.get(), |
60 std::move(request)); | 59 std::move(request)); |
61 } | 60 } |
62 | 61 |
63 void VideoCaptureService::AddDeviceToMockFactory( | 62 void VideoCaptureService::AddDeviceToMockFactory( |
64 mojom::MockVideoCaptureDevicePtr device, | 63 mojom::MockVideoCaptureDevicePtr device, |
65 mojom::VideoCaptureDeviceDescriptorPtr descriptor, | 64 const media::VideoCaptureDeviceDescriptor& descriptor, |
66 const AddDeviceToMockFactoryCallback& callback) { | 65 const AddDeviceToMockFactoryCallback& callback) { |
67 LazyInitializeMockDeviceFactory(); | 66 LazyInitializeMockDeviceFactory(); |
68 mock_device_factory_->AddMockDevice(std::move(device), std::move(descriptor)); | 67 mock_device_factory_->AddMockDevice(std::move(device), std::move(descriptor)); |
69 callback.Run(); | 68 callback.Run(); |
70 } | 69 } |
71 | 70 |
72 void VideoCaptureService::LazyInitializeDeviceFactory() { | 71 void VideoCaptureService::LazyInitializeDeviceFactory() { |
73 if (device_factory_) | 72 if (device_factory_) |
74 return; | 73 return; |
75 | 74 |
(...skipping 30 matching lines...) Expand all Loading... |
106 // We keep a pointer to the MockDeviceFactory as a member so that we can | 105 // We keep a pointer to the MockDeviceFactory as a member so that we can |
107 // invoke its AddMockDevice(). Ownership of the MockDeviceFactory is moved | 106 // invoke its AddMockDevice(). Ownership of the MockDeviceFactory is moved |
108 // to the DeviceFactoryMediaToMojoAdapter. | 107 // to the DeviceFactoryMediaToMojoAdapter. |
109 mock_device_factory_ = mock_device_factory.get(); | 108 mock_device_factory_ = mock_device_factory.get(); |
110 mock_device_factory_adapter_ = | 109 mock_device_factory_adapter_ = |
111 base::MakeUnique<DeviceFactoryMediaToMojoAdapter>( | 110 base::MakeUnique<DeviceFactoryMediaToMojoAdapter>( |
112 std::move(mock_device_factory), base::Bind(CreateJpegDecoder)); | 111 std::move(mock_device_factory), base::Bind(CreateJpegDecoder)); |
113 } | 112 } |
114 | 113 |
115 } // namespace video_capture | 114 } // namespace video_capture |
OLD | NEW |