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 f57c10f96d506d6a8c84701ba0e1c45614c46347..b0288c0a2bac2236d270cfe6a8893292ecf38eb4 100644 |
--- a/content/browser/renderer_host/media/video_capture_manager.h |
+++ b/content/browser/renderer_host/media/video_capture_manager.h |
@@ -21,6 +21,11 @@ |
#include "media/video/capture/video_capture_device.h" |
#include "media/video/capture/video_capture_types.h" |
+namespace media { |
+struct RuntimeVideoEncodingParameters; |
+struct VideoEncodingParameters; |
+} // namespace media |
+ |
namespace content { |
class MockVideoCaptureManager; |
class VideoCaptureController; |
@@ -59,7 +64,13 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
// will be delivered to the frame receiver, and |stopped_cb| will be called. |
// |stopped_cb| can be NULL. |
virtual void Stop(const media::VideoCaptureSessionId& capture_session_id, |
- base::Closure stopped_cb); |
+ const base::Closure& stopped_cb); |
+ |
+ // Called by VideoCaptureHost to request a parameter change in the encoded |
+ // output bitstream of a capture device, if supported. |
+ virtual void TryConfigureEncodedBitstream( |
+ const media::VideoCaptureSessionId& session_id, |
+ const media::RuntimeVideoEncodingParameters& params); |
// Used by unit test to make sure a fake device is used instead of a real |
// video capture device. Due to timing requirements, the function must be |
@@ -71,12 +82,19 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
void AddController( |
const media::VideoCaptureParams& capture_params, |
VideoCaptureControllerEventHandler* handler, |
- base::Callback<void(VideoCaptureController*)> added_cb); |
+ const base::Callback<void(VideoCaptureController*)>& added_cb); |
// Called by VideoCaptureHost to remove the |controller|. |
void RemoveController( |
VideoCaptureController* controller, |
VideoCaptureControllerEventHandler* handler); |
+ // Called by VideoCaptureHost to request the encoding capabilities of a |
+ // capture device. |
+ void RequestEncodingCapabilities( |
+ const media::VideoCaptureSessionId& session_id, |
+ const base::Callback<void( |
+ const media::VideoEncodingCapabilities&)>& caps_cb); |
+ |
private: |
friend class MockVideoCaptureManager; |
@@ -92,14 +110,21 @@ class CONTENT_EXPORT VideoCaptureManager : public MediaStreamProvider { |
void OnStart(const media::VideoCaptureParams capture_params, |
media::VideoCaptureDevice::EventHandler* video_capture_receiver); |
void OnStop(const media::VideoCaptureSessionId capture_session_id, |
- base::Closure stopped_cb); |
+ const base::Closure& stopped_cb); |
+ void OnTryConfigureEncodedBitstream( |
+ const media::VideoCaptureSessionId& session_id, |
+ const media::RuntimeVideoEncodingParameters& params); |
void DoAddControllerOnDeviceThread( |
const media::VideoCaptureParams capture_params, |
VideoCaptureControllerEventHandler* handler, |
- base::Callback<void(VideoCaptureController*)> added_cb); |
+ const base::Callback<void(VideoCaptureController*)>& added_cb); |
void DoRemoveControllerOnDeviceThread( |
VideoCaptureController* controller, |
VideoCaptureControllerEventHandler* handler); |
+ void DoRequestEncodingCapabilitiesOnDeviceThread( |
+ const media::VideoCaptureSessionId& session_id, |
+ const base::Callback<void( |
+ const media::VideoEncodingCapabilities&)>& caps_cb); |
// Executed on Browser::IO thread to call Listener. |
void OnOpened(MediaStreamType type, int capture_session_id); |