Index: content/browser/renderer_host/media/video_capture_manager.h |
diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/content/browser/renderer_host/media/video_capture_manager.h |
index 6f0b0ec4702dedd2e9e2f43caecee942542ec5e8..dc8b0ef2263ab9b7b78e4ec26b31d879d0cb34a0 100644 |
--- a/content/browser/renderer_host/media/video_capture_manager.h |
+++ b/content/browser/renderer_host/media/video_capture_manager.h |
@@ -82,6 +82,12 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
VideoCaptureControllerID client_id, |
VideoCaptureControllerEventHandler* client_handler); |
+ // Retrieve the available capture capabilities for a particular device. The |
+ // capabilities are cached during GetAvailableDevicesOnDeviceThread() and |
+ // updated on DoStartDeviceOnDeviceThread(). The call is asynchronous and the |
+ // reply comes via OnDeviceCapabilitiesEnumerated(). |
tommi (sloooow) - chröme
2013/10/25 14:15:34
nit: nice comment in general but I don't think you
mcasas
2013/10/28 12:50:08
Boosted prosaic skills :) + corrected callback nam
|
+ void EnumerateDeviceCapabilities(const StreamDeviceInfo& device_info); |
+ |
private: |
virtual ~VideoCaptureManager(); |
struct DeviceEntry; |
@@ -96,6 +102,9 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
void OnClosed(MediaStreamType type, int capture_session_id); |
void OnDevicesEnumerated(MediaStreamType stream_type, |
const media::VideoCaptureDevice::Names& names); |
+ void OnDeviceCapabilitiesEnumerated( |
+ const StreamDeviceInfo& device_info, |
+ const media::VideoCaptureCapabilities& capabilities); |
// Find a DeviceEntry by its device ID and type, if it is already opened. |
DeviceEntry* GetDeviceEntryForMediaStreamDevice( |
@@ -115,6 +124,10 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
media::VideoCaptureDevice::Names GetAvailableDevicesOnDeviceThread( |
MediaStreamType stream_type); |
+ // Queries and returns the video capture capabilities of a device. |
+ media::VideoCaptureCapabilities GetDeviceCapabilitiesOnDeviceThread( |
+ const StreamDeviceInfo& device_info) const; |
+ |
// Create and Start a new VideoCaptureDevice, storing the result in |
// |entry->video_capture_device|. Ownership of |client| passes to |
// the device. |
@@ -177,6 +190,13 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
// device thread. |
media::VideoCaptureDevice::Names video_capture_devices_; |
+ // Local cache of video capture capabilities, indexed by unique id. It is |
+ // created in GetAvailableDevicesOnDeviceThread(), updated in |
+ // DoStartDeviceOnDeviceThread() and retrieved for a particular device id in |
+ // EnumerateDeviceCapabilities(), read only. |
tommi (sloooow) - chröme
2013/10/25 14:15:34
is this last part true? It looks like EnumerateDe
mcasas
2013/10/28 12:50:08
Correct, this comment has not been updated after I
|
+ std::map<std::string, media::VideoCaptureCapabilities> |
+ video_capture_capabilities_; |
tommi (sloooow) - chröme
2013/10/25 14:15:34
Instead of an extra map, can we change video_captu
mcasas
2013/10/28 12:50:08
Done. It turned out to be a class - first due to C
|
+ |
DISALLOW_COPY_AND_ASSIGN(VideoCaptureManager); |
}; |