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

Side by Side Diff: services/video_capture/public/interfaces/video_capture_device_factory.mojom

Issue 2224103002: Package video capture skeleton as Mojo Shell Service (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@VideoMojoSkeleton2
Patch Set: mcasas' comments Created 4 years, 4 months 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 unified diff | Download patch
OLDNEW
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 "services/video_capture/public/interfaces/video_capture_device.mojom"; 7 import "services/video_capture/public/interfaces/video_capture_device.mojom";
8 import "services/video_capture/public/interfaces/video_capture_format.mojom"; 8 import "services/video_capture/public/interfaces/video_capture_format.mojom";
9 9
10 enum VideoCaptureApi { 10 enum VideoCaptureApi {
11 LINUX_V4L2_SINGLE_PLANE, 11 LINUX_V4L2_SINGLE_PLANE,
12 WIN_MEDIA_FOUNDATION, 12 WIN_MEDIA_FOUNDATION,
13 WIN_DIRECT_SHOW, 13 WIN_DIRECT_SHOW,
14 MACOSX_AVFOUNDATION, 14 MACOSX_AVFOUNDATION,
15 MACOSX_DECKLINK, 15 MACOSX_DECKLINK,
16 ANDROID_API1, 16 ANDROID_API1,
17 ANDROID_API2_LEGACY, 17 ANDROID_API2_LEGACY,
18 ANDROID_API2_FULL, 18 ANDROID_API2_FULL,
19 ANDROID_API2_LIMITED, 19 ANDROID_API2_LIMITED,
20 ANDROID_TANGO, 20 ANDROID_TANGO,
21 UNKNOWN 21 UNKNOWN
22 }; 22 };
23 23
24 enum VideoCaptureTransportType { 24 enum VideoCaptureTransportType {
25 // For AVFoundation Api, identify devices that are built-in or USB. 25 // For MACOSX_AVFOUNDATION Api, identifies devices that are built-in or USB.
26 MACOSX_USB_OR_BUILT_IN, 26 MACOSX_USB_OR_BUILT_IN,
27 OTHER_TRANSPORT 27 OTHER_TRANSPORT
28 }; 28 };
29 29
30 struct VideoCaptureDeviceDescriptor { 30 struct VideoCaptureDeviceDescriptor {
31 string display_name; 31 string display_name;
32 string device_id; 32 string device_id;
33 string model_id; 33 string model_id;
34 VideoCaptureApi capture_api; 34 VideoCaptureApi capture_api;
35 VideoCaptureTransportType transport_type; 35 VideoCaptureTransportType transport_type;
36 }; 36 };
37 37
38 // Entry point for accessing video capture devices available on the machine.
39 // Typical operation is to first call EnumerateDeviceDescriptors() to obtain
40 // information about available devices. The obtained descriptors can then be
41 // used to either obtain the supported formats of a device using
42 // GetSupportedFormats(), or to create an instance of VideoCaptureDevice for
43 // the device using CreateDevice().
38 interface VideoCaptureDeviceFactory { 44 interface VideoCaptureDeviceFactory {
39 EnumerateDeviceDescriptors() 45 EnumerateDeviceDescriptors()
40 => (array<VideoCaptureDeviceDescriptor> descriptors); 46 => (array<VideoCaptureDeviceDescriptor> descriptors);
41 47
42 GetSupportedFormats(VideoCaptureDeviceDescriptor device_descriptor) 48 GetSupportedFormats(VideoCaptureDeviceDescriptor device_descriptor)
yzshen1 2016/08/12 17:46:50 I wonder why we need to send a VideoCaptureDeviceD
chfremer 2016/08/12 18:32:27 Good observation. This is a weakness in the design
yzshen1 2016/08/12 20:05:53 It seems nice to do that. But you or other experts
mcasas 2016/08/12 21:49:41 On ToT, VideoCaptureManager has to keep all this i
43 => (array<VideoCaptureFormat> supported_formats); 49 => (array<VideoCaptureFormat> supported_formats);
44 50
45 CreateDevice(VideoCaptureDeviceDescriptor device_descriptor, 51 CreateDevice(VideoCaptureDeviceDescriptor device_descriptor,
46 VideoCaptureDevice& device_request); 52 VideoCaptureDevice& device_request);
47 }; 53 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698