| Index: content/browser/renderer_host/media/video_capture_controller.h
|
| diff --git a/content/browser/renderer_host/media/video_capture_controller.h b/content/browser/renderer_host/media/video_capture_controller.h
|
| index a9b93206405f5d4a777ecdb0687bf18e9226a912..c71fc9427af4c9af1e9024144620e86bc1f352d6 100644
|
| --- a/content/browser/renderer_host/media/video_capture_controller.h
|
| +++ b/content/browser/renderer_host/media/video_capture_controller.h
|
| @@ -57,7 +57,19 @@
|
| namespace content {
|
| class VideoCaptureBufferPool;
|
|
|
| -class CONTENT_EXPORT VideoCaptureController {
|
| +class CONTENT_EXPORT VideoFrameReceiver {
|
| + public:
|
| + virtual ~VideoFrameReceiver(){};
|
| +
|
| + virtual void OnIncomingCapturedVideoFrame(
|
| + std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> buffer,
|
| + const scoped_refptr<media::VideoFrame>& frame) = 0;
|
| + virtual void OnError() = 0;
|
| + virtual void OnLog(const std::string& message) = 0;
|
| + virtual void OnBufferDestroyed(int buffer_id_to_drop) = 0;
|
| +};
|
| +
|
| +class CONTENT_EXPORT VideoCaptureController : public VideoFrameReceiver {
|
| public:
|
| // |max_buffers| is the maximum number of video frame buffers in-flight at any
|
| // one time. This value should be based on the logical capacity of the
|
| @@ -65,7 +77,7 @@ class CONTENT_EXPORT VideoCaptureController {
|
| // capture requires more buffers than webcam capture because the pipeline is
|
| // longer (it includes read-backs pending in the GPU pipeline).
|
| explicit VideoCaptureController(int max_buffers);
|
| - virtual ~VideoCaptureController();
|
| + ~VideoCaptureController() override;
|
|
|
| base::WeakPtr<VideoCaptureController> GetWeakPtrForIOThread();
|
|
|
| @@ -125,13 +137,13 @@ class CONTENT_EXPORT VideoCaptureController {
|
|
|
| bool has_received_frames() const { return has_received_frames_; }
|
|
|
| - // Worker functions on IO thread. Called by the VideoCaptureDeviceClient.
|
| - virtual void DoIncomingCapturedVideoFrameOnIOThread(
|
| + // Implementation of VideoFrameReceiver interface:
|
| + void OnIncomingCapturedVideoFrame(
|
| std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> buffer,
|
| - const scoped_refptr<media::VideoFrame>& frame);
|
| - virtual void DoErrorOnIOThread();
|
| - virtual void DoLogOnIOThread(const std::string& message);
|
| - virtual void DoBufferDestroyedOnIOThread(int buffer_id_to_drop);
|
| + const scoped_refptr<media::VideoFrame>& frame) override;
|
| + void OnError() override;
|
| + void OnLog(const std::string& message) override;
|
| + void OnBufferDestroyed(int buffer_id_to_drop) override;
|
|
|
| private:
|
| struct ControllerClient;
|
|
|