Chromium Code Reviews| Index: media/capture/video/video_capture_device_factory.h |
| diff --git a/media/capture/video/video_capture_device_factory.h b/media/capture/video/video_capture_device_factory.h |
| index de16133078b4076e50cba4125c98be7aaebf33ab..7cf13f242ff2754119c2d8c00c4239a573d3fe65 100644 |
| --- a/media/capture/video/video_capture_device_factory.h |
| +++ b/media/capture/video/video_capture_device_factory.h |
| @@ -8,6 +8,7 @@ |
| #include "base/macros.h" |
| #include "base/threading/thread_checker.h" |
| #include "media/capture/video/video_capture_device.h" |
| +#include "media/capture/video/video_capture_device_info.h" |
| namespace media { |
| @@ -15,6 +16,10 @@ namespace media { |
| // devices in the different platforms. VCDFs are created by MediaStreamManager |
| // on IO thread and plugged into VideoCaptureManager, who owns and operates them |
| // in Device Thread (a.k.a. Audio Thread). |
| +// Typical operation is to first call EnumerateDeviceDescriptors() to obtain |
| +// information about available devices. The obtained descriptors can then be |
| +// used to either get extended information about a device usng GetDeviceInfo(), |
|
mcasas
2016/07/26 23:52:04
nit: s/usng/using/
chfremer
2016/07/27 23:10:18
Done.
|
| +// or to create an instance of VideoCaptureDevice for the device using Create(). |
| class CAPTURE_EXPORT VideoCaptureDeviceFactory { |
| public: |
| static std::unique_ptr<VideoCaptureDeviceFactory> CreateFactory( |
| @@ -25,25 +30,28 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactory { |
| // Creates a VideoCaptureDevice object. Returns NULL if something goes wrong. |
| virtual std::unique_ptr<VideoCaptureDevice> Create( |
| - const VideoCaptureDevice::Name& device_name) = 0; |
| + const VideoCaptureDeviceDescriptor& device_descriptor) = 0; |
| - // Asynchronous version of GetDeviceNames calling back to |callback|. |
| - virtual void EnumerateDeviceNames( |
| + // Asynchronous version of GetDeviceDescriptors calling back to |callback|. |
| + virtual void EnumerateDeviceDescriptors( |
| const base::Callback< |
| - void(std::unique_ptr<media::VideoCaptureDevice::Names>)>& callback); |
| + void(std::unique_ptr<VideoCaptureDeviceDescriptors>)>& callback); |
| - // Gets the supported formats of a particular device attached to the system. |
| - // This method should be called before allocating or starting a device. In |
| - // case format enumeration is not supported, or there was a problem, the |
| - // formats array will be empty. |
| - virtual void GetDeviceSupportedFormats( |
| - const VideoCaptureDevice::Name& device, |
| - VideoCaptureFormats* supported_formats) = 0; |
| + // Obtains extended information about a device. This includes the supported |
| + // formats. This method should be called before allocating or starting a |
| + // device. In case format enumeration is not supported |
| + // |device_info.supported_formats| will be empty. |
| + virtual void GetDeviceInfo( |
| + const VideoCaptureDeviceDescriptor& device_descriptor, |
| + VideoCaptureDeviceInfo* device_info) = 0; |
| protected: |
| - // Gets the names of all video capture devices connected to this computer. |
| - // Used by the default implementation of EnumerateDeviceNames(). |
| - virtual void GetDeviceNames(VideoCaptureDevice::Names* device_names) = 0; |
| + // Gets descriptors of all video capture devices connected to this computer. |
|
mcasas
2016/07/26 23:52:04
Heh, maybe remove "to this computer"?
chfremer
2016/07/27 23:10:18
Done.
|
| + // Used by the default implementation of EnumerateDevices(). |
| + // Note: The same physical device may appear more than once if it is |
| + // accessible through different APIs. |
| + virtual void GetDeviceDescriptors( |
| + VideoCaptureDeviceDescriptors* device_descriptors) = 0; |
| base::ThreadChecker thread_checker_; |