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 module video_capture.mojom; | 5 module video_capture.mojom; |
6 | 6 |
7 import "media/capture/mojo/video_capture_types.mojom"; | 7 import "media/capture/mojo/video_capture_types.mojom"; |
8 import "services/video_capture/public/interfaces/video_capture_device_descriptor
.mojom"; | 8 import "services/video_capture/public/interfaces/video_capture_device_descriptor
.mojom"; |
9 import "services/video_capture/public/interfaces/video_capture_device_proxy.mojo
m"; | 9 import "services/video_capture/public/interfaces/video_capture_device_proxy.mojo
m"; |
10 import "services/video_capture/public/interfaces/video_capture_settings.mojom"; | 10 import "services/video_capture/public/interfaces/video_capture_settings.mojom"; |
(...skipping 16 matching lines...) Expand all Loading... |
27 interface VideoCaptureDeviceFactory { | 27 interface VideoCaptureDeviceFactory { |
28 EnumerateDeviceDescriptors() | 28 EnumerateDeviceDescriptors() |
29 => (array<VideoCaptureDeviceDescriptor> descriptors); | 29 => (array<VideoCaptureDeviceDescriptor> descriptors); |
30 | 30 |
31 GetSupportedFormats(VideoCaptureDeviceDescriptor device_descriptor) | 31 GetSupportedFormats(VideoCaptureDeviceDescriptor device_descriptor) |
32 => (array<VideoCaptureFormat> supported_formats); | 32 => (array<VideoCaptureFormat> supported_formats); |
33 | 33 |
34 // Provides exclusive access to the device identified by |device_descriptor|. | 34 // Provides exclusive access to the device identified by |device_descriptor|. |
35 // The access is valid until either the message pipe associated with | 35 // The access is valid until either the message pipe associated with |
36 // |proxy_request| is closed by the client, or a subsequent call to | 36 // |proxy_request| is closed by the client, or a subsequent call to |
37 // CreateDeviceProxy() is made. | 37 // CreateDeviceProxy() is made. When a subsequent call is made while the |
| 38 // |proxy_request| from a previous call has not yet been closed, the service |
| 39 // "revokes" that previous |proxy_request| (by closing the connection) and the |
| 40 // exclusive access goes to the new |proxy_request|. |
| 41 // Note: This design avoids the issue of it not being clear how soon after a |
| 42 // |proxy_request| has been (asynchronously) discarded a subsequent call to |
| 43 // CreateDeviceProxy() would succeed if it were to deny access while still |
| 44 // in use. |
38 CreateDeviceProxy(VideoCaptureDeviceDescriptor device_descriptor, | 45 CreateDeviceProxy(VideoCaptureDeviceDescriptor device_descriptor, |
39 VideoCaptureDeviceProxy& proxy_request) | 46 VideoCaptureDeviceProxy& proxy_request) |
40 => (DeviceAccessResultCode result_code); | 47 => (DeviceAccessResultCode result_code); |
41 }; | 48 }; |
OLD | NEW |