Index: content/browser/renderer_host/media/video_capture_host.h |
diff --git a/content/browser/renderer_host/media/video_capture_host.h b/content/browser/renderer_host/media/video_capture_host.h |
index 581ae885816965ef65e01dd55757b1a53f4be072..aa1ae40269d20e1b10ad4b928349068f25b80425 100644 |
--- a/content/browser/renderer_host/media/video_capture_host.h |
+++ b/content/browser/renderer_host/media/video_capture_host.h |
@@ -37,6 +37,7 @@ |
#define CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_HOST_H_ |
#include <map> |
+#include <vector> |
#include "base/memory/ref_counted.h" |
#include "base/sequenced_task_runner_helpers.h" |
@@ -44,6 +45,14 @@ |
#include "content/common/content_export.h" |
#include "content/public/browser/browser_message_filter.h" |
#include "ipc/ipc_message.h" |
+#include "media/video/capture/video_capture_types.h" |
+ |
+namespace media { |
+ |
+struct RuntimeVideoEncodingParameters; |
+struct VideoEncodingParameters; |
+ |
+} // namespace media |
namespace content { |
@@ -61,16 +70,23 @@ class CONTENT_EXPORT VideoCaptureHost |
// VideoCaptureControllerEventHandler implementation. |
Ami GONE FROM CHROMIUM
2013/06/18 18:35:55
s/rE/r::E/
sheu
2013/08/22 22:40:31
It's actually not a nested class. <dramatic prair
|
virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE; |
- virtual void OnBufferCreated(const VideoCaptureControllerID& id, |
- base::SharedMemoryHandle handle, |
- int length, int buffer_id) OVERRIDE; |
virtual void OnBufferReady(const VideoCaptureControllerID& id, |
int buffer_id, |
- base::Time timestamp) OVERRIDE; |
+ size_t data_size, |
+ base::Time timestamp, |
+ bool key_frame) OVERRIDE; |
virtual void OnFrameInfo(const VideoCaptureControllerID& id, |
- int width, |
- int height, |
- int frame_per_second) OVERRIDE; |
+ const media::VideoCaptureParams& params, |
+ const std::vector<base::SharedMemoryHandle>& buffers, |
+ size_t buffer_size) OVERRIDE; |
+ virtual void OnEncodedFrameInfo( |
+ const VideoCaptureControllerID& id, |
+ const media::VideoEncodingParameters& params, |
+ const std::vector<base::SharedMemoryHandle>& buffers, |
+ size_t buffer_size) OVERRIDE; |
+ virtual void OnBitstreamConfigChanged( |
+ const VideoCaptureControllerID& id, |
+ const media::RuntimeVideoEncodingParameters& params) OVERRIDE; |
virtual void OnEnded(const VideoCaptureControllerID& id) OVERRIDE; |
private: |
@@ -83,8 +99,8 @@ class CONTENT_EXPORT VideoCaptureHost |
// IPC message: Start capture on the VideoCaptureDevice referenced by |
// VideoCaptureParams::session_id. |device_id| is an id created by |
- // VideoCaptureMessageFilter to identify a session |
- // between a VideoCaptureMessageFilter and a VideoCaptureHost. |
+ // VideoCaptureMessageFilter to identify a session between a |
+ // VideoCaptureMessageFilter and a VideoCaptureHost. |
void OnStartCapture(int device_id, |
const media::VideoCaptureParams& params); |
void OnControllerAdded( |
@@ -104,6 +120,38 @@ class CONTENT_EXPORT VideoCaptureHost |
// referenced by |device_id|. |
void OnReceiveEmptyBuffer(int device_id, int buffer_id); |
+ // IPC message: Request the encoding capabilities for the capture session |
+ // referenced by |session_id|. |
+ void OnGetCapabilities(int device_id, |
+ const media::VideoCaptureSessionId& session_id); |
+ void OnEncodingCapabilitiesFound( |
+ int device_id, |
+ const media::VideoEncodingCapabilities& capabilities); |
+ void DoEncodingCapabilitiesFoundOnIOThread( |
+ int device_id, |
+ const media::VideoEncodingCapabilities& capabilities); |
+ |
+ // IPC message: Start the encoded bitstream on the VideoCaptureDevice |
+ // referenced by |session_id|. |device_id| is an id created y |
+ // VideoCaptureMessageFilter to identify a session between a |
+ // VideoCaptureMessageFilter and a VideoCaptureHost. |
+ void OnCreateBitstream(int device_id, |
+ const media::VideoCaptureSessionId& session_id, |
+ const media::VideoEncodingParameters& params); |
+ |
+ // IPC message: Stop capture on device referenced by |device_id|. |
+ void OnDestroyBitstream(int device_id); |
+ |
+ // IPC message: Attempt to configure the encoded bitstream output from the |
+ // device referenced by |device_id|. |
+ void OnTryConfigureBitstream( |
+ int device_id, |
+ const media::RuntimeVideoEncodingParameters& params); |
+ |
+ // IPC message: Receive an empty buffer from renderer. Send it to device |
+ // referenced by |device_id|. |
+ void OnBitstreamBufferConsumed(int device_id, int buffer_id); |
+ |
// Send a newly created buffer to the VideoCaptureMessageFilter. |
void DoSendNewBufferOnIOThread( |
const VideoCaptureControllerID& controller_id, |
@@ -115,21 +163,32 @@ class CONTENT_EXPORT VideoCaptureHost |
void DoSendFilledBufferOnIOThread( |
const VideoCaptureControllerID& controller_id, |
int buffer_id, |
- base::Time timestamp); |
+ size_t size, |
+ base::Time timestamp, |
+ bool key_frame); |
+ |
+ // Handle error coming from VideoCaptureDevice. |
+ void DoHandleErrorOnIOThread(const VideoCaptureControllerID& controller_id); |
// Send information about frame resolution and frame rate |
// to the VideoCaptureMessageFilter. |
void DoSendFrameInfoOnIOThread( |
const VideoCaptureControllerID& controller_id, |
- int width, |
- int height, |
- int frame_per_second); |
- |
- // Handle error coming from VideoCaptureDevice. |
- void DoHandleErrorOnIOThread(const VideoCaptureControllerID& controller_id); |
+ const media::VideoCaptureParams& params, |
+ const std::vector<base::SharedMemoryHandle>& buffers, |
+ size_t buffer_size); |
+ void DoSendEncodedFrameInfoOnIOThread( |
+ const VideoCaptureControllerID& controller_id, |
+ const media::VideoEncodingParameters& params, |
+ const std::vector<base::SharedMemoryHandle>& buffers, |
+ size_t buffer_size); |
void DoEndedOnIOThread(const VideoCaptureControllerID& controller_id); |
+ void DoBitstreamConfigChangedOnIOThread( |
+ const VideoCaptureControllerID& controller_id, |
+ const media::RuntimeVideoEncodingParameters& params); |
+ |
void DeleteVideoCaptureControllerOnIOThread( |
const VideoCaptureControllerID& controller_id); |