| 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);
|
|
|