Chromium Code Reviews| Index: content/renderer/media/video_capture_impl.h |
| diff --git a/content/renderer/media/video_capture_impl.h b/content/renderer/media/video_capture_impl.h |
| index e47c35dba8d115451fc0e71c4405e52667ae273b..fbedb386d7a83f1c06a7326d5d8b2abe8ff435e9 100644 |
| --- a/content/renderer/media/video_capture_impl.h |
| +++ b/content/renderer/media/video_capture_impl.h |
| @@ -27,6 +27,7 @@ |
| #include "content/renderer/media/video_capture_message_filter.h" |
| #include "media/video/capture/video_capture.h" |
| #include "media/video/capture/video_capture_types.h" |
| +#include "media/video/encoded_video_source.h" |
| namespace base { |
| class MessageLoopProxy; |
| @@ -35,7 +36,9 @@ class MessageLoopProxy; |
| namespace content { |
| class CONTENT_EXPORT VideoCaptureImpl |
| - : public media::VideoCapture, public VideoCaptureMessageFilter::Delegate { |
| + : public media::VideoCapture, |
| + public VideoCaptureMessageFilter::Delegate, |
| + public media::EncodedVideoSource { |
| public: |
| // media::VideoCapture interface. |
| virtual void StartCapture( |
| @@ -56,6 +59,31 @@ class CONTENT_EXPORT VideoCaptureImpl |
| virtual void OnDeviceInfoReceived( |
| const media::VideoCaptureParams& device_info) OVERRIDE; |
| virtual void OnDelegateAdded(int32 device_id) OVERRIDE; |
| + virtual void OnEncodingCapabilitiesAvailable( |
| + const media::VideoEncodingCapabilities& capabilities) OVERRIDE; |
| + virtual void OnEncodedBitstreamOpened( |
| + const media::VideoEncodingParameters& params, |
| + const std::vector<base::SharedMemoryHandle>& buffers, |
| + uint32 buffer_size) OVERRIDE; |
| + virtual void OnEncodedBitstreamClosed() OVERRIDE; |
| + virtual void OnEncodingConfigChanged( |
| + const media::RuntimeVideoEncodingParameters& params) OVERRIDE; |
| + virtual void OnEncodedBufferReady( |
| + int buffer_id, |
| + uint32 size, |
| + const media::BufferEncodingMetadata& metadata) OVERRIDE; |
| + |
| + // media::EncodedVideoSource interface. |
| + virtual void RequestCapabilities( |
| + const RequestCapabilitiesCallback& callback) OVERRIDE; |
| + virtual void OpenBitstream( |
| + media::EncodedVideoSource::Client* client, |
| + const media::VideoEncodingParameters& params) OVERRIDE; |
| + virtual void CloseBitstream() OVERRIDE; |
| + virtual void ReturnBitstreamBuffer( |
| + scoped_refptr<const media::EncodedBitstreamBuffer> buffer) OVERRIDE; |
| + virtual void TrySetBitstreamConfig( |
| + const media::RuntimeVideoEncodingParameters& params) OVERRIDE; |
| // Stop/resume delivering video frames to clients, based on flag |suspend|. |
| virtual void SuspendCapture(bool suspend); |
| @@ -90,6 +118,26 @@ class CONTENT_EXPORT VideoCaptureImpl |
| void DoSuspendCaptureOnCaptureThread(bool suspend); |
| + void StartFetchCapabilities(); |
| + void DoRequestCapabilitiesOnCaptureThread( |
| + const RequestCapabilitiesCallback& callback); |
| + void DoOpenBitstreamOnCaptureThread( |
| + media::EncodedVideoSource::Client* client, |
| + const media::VideoEncodingParameters& params); |
| + void DoCloseBitstreamOnCaptureThread(); |
| + void DoNotifyBitstreamOpenedOnCaptureThread( |
| + const media::VideoEncodingParameters& params, |
| + const std::vector<base::SharedMemoryHandle>& buffers, |
| + uint32 buffer_size); |
| + void DoNotifyBitstreamClosedOnCaptureThread(); |
| + void DoNotifyBitstreamConfigChangedOnCaptureThread( |
| + const media::RuntimeVideoEncodingParameters& params); |
| + void DoNotifyBitstreamBufferReadyOnCaptureThread( |
| + int buffer_id, uint32 size, |
| + const media::BufferEncodingMetadata& metadata); |
| + void DoNotifyCapabilitiesAvailableOnCaptureThread( |
| + const media::VideoEncodingCapabilities& capabilities); |
| + |
| void Init(); |
| void DeInit(base::Closure task); |
| void DoDeInitOnCaptureThread(base::Closure task); |
| @@ -132,6 +180,20 @@ class CONTENT_EXPORT VideoCaptureImpl |
| bool suspended_; |
| VideoCaptureState state_; |
| + // Video encoding capabilities as reported by the device. |
| + media::VideoEncodingCapabilities encoding_caps_; |
| + // Callback for RequestCapabilities(). |
| + RequestCapabilitiesCallback encoding_caps_callback_; |
| + // Pointer to the EVS client. |
| + media::EncodedVideoSource::Client* encoded_video_source_client_; |
| + // Bitstream buffers returned by the video capture device. Unowned. |
| + std::vector<base::SharedMemory*> bitstream_buffers_; |
| + // |bitstream_opened_| is set to true when renderer receives BitstreamOpened |
| + // message acknowledging an OpenBitstream request, and is set to false when |
| + // the EVS client requests to close bitstream, or when renderer receives |
| + // BitstreamClosed message from the browser procses. |
| + bool bitstream_opened_; |
|
Ami GONE FROM CHROMIUM
2013/06/18 20:56:27
s/ed// since this is temporal (once closed, it is
hshi1
2013/06/18 23:01:19
Done.
|
| + |
| DISALLOW_COPY_AND_ASSIGN(VideoCaptureImpl); |
| }; |