int buffer_id) OVERRIDE;
virtual void OnBufferReady(const VideoCaptureControllerID& id,
int buffer_id,
- base::TimeTicks timestamp,
- const media::VideoCaptureFormat& format) OVERRIDE;
+ const media::VideoCaptureFormat& format,
+ base::TimeTicks timestamp) OVERRIDE;
+ virtual void OnMailboxBufferReady(const VideoCaptureControllerID& id,
+ int buffer_id,
+ const gpu::MailboxHolder& mailbox_holder,
+ const media::VideoCaptureFormat& format,
+ base::TimeTicks timestamp) OVERRIDE;
virtual void OnEnded(const VideoCaptureControllerID& id) OVERRIDE;
private:
// IPC message: Receive an empty buffer from renderer. Send it to device
// referenced by |device_id|.
- void OnReceiveEmptyBuffer(int device_id, int buffer_id);
+ void OnReceiveEmptyBuffer(int device_id,
+ int buffer_id,
+ const std::vector<uint32>& sync_points);
// IPC message: Get supported formats referenced by |capture_session_id|.
// |device_id| is needed for message back-routing purposes.
int device_id,
media::VideoCaptureSessionId capture_session_id);
- // Send a newly created buffer to the VideoCaptureMessageFilter.
+ // Sends a newly created buffer to the VideoCaptureMessageFilter.
void DoSendNewBufferOnIOThread(
const VideoCaptureControllerID& controller_id,
base::SharedMemoryHandle handle,
const VideoCaptureControllerID& controller_id,
int buffer_id);
- // Send a filled buffer to the VideoCaptureMessageFilter.
+ // Sends a filled buffer to the VideoCaptureMessageFilter.
void DoSendFilledBufferOnIOThread(
const VideoCaptureControllerID& controller_id,
int buffer_id,
- base::TimeTicks timestamp,
- const media::VideoCaptureFormat& format);
+ const media::VideoCaptureFormat& format,
+ base::TimeTicks timestamp);
- // Handle error coming from VideoCaptureDevice.
+ // Sends a filled texture mailbox buffer to the VideoCaptureMessageFilter.
+ void DoSendFilledMailboxBufferOnIOThread(
+ const VideoCaptureControllerID& controller_id,
+ int buffer_id,
+ const gpu::MailboxHolder& mailbox_holder,
+ const media::VideoCaptureFormat& format,
+ base::TimeTicks timestamp);
+
+ // Handles error coming from VideoCaptureDevice.
void DoHandleErrorOnIOThread(const VideoCaptureControllerID& controller_id);
void DoEndedOnIOThread(const VideoCaptureControllerID& controller_id);
+ // Deletes the controller and notifies the VideoCaptureManager. |on_error| is
+ // true if this is triggered by VideoCaptureControllerEventHandler::OnError.
void DeleteVideoCaptureControllerOnIOThread(
- const VideoCaptureControllerID& controller_id);
+ const VideoCaptureControllerID& controller_id, bool on_error);
MediaStreamManager* media_stream_manager_;