| Index: content/renderer/media/video_capture_message_filter.cc
|
| diff --git a/content/renderer/media/video_capture_message_filter.cc b/content/renderer/media/video_capture_message_filter.cc
|
| index 702a1488850589f6a4fa2ed5287a561560402a44..9b4c81c4a28500acacb57da97b2451fdba7abde9 100644
|
| --- a/content/renderer/media/video_capture_message_filter.cc
|
| +++ b/content/renderer/media/video_capture_message_filter.cc
|
| @@ -61,6 +61,7 @@ bool VideoCaptureMessageFilter::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(VideoCaptureMsg_BufferReady, OnBufferReceived)
|
| IPC_MESSAGE_HANDLER(VideoCaptureMsg_StateChanged, OnDeviceStateChanged)
|
| IPC_MESSAGE_HANDLER(VideoCaptureMsg_NewBuffer, OnBufferCreated)
|
| + IPC_MESSAGE_HANDLER(VideoCaptureMsg_NewBuffer2, OnBufferCreated2)
|
| IPC_MESSAGE_HANDLER(VideoCaptureMsg_FreeBuffer, OnBufferDestroyed)
|
| IPC_MESSAGE_HANDLER(VideoCaptureMsg_DeviceSupportedFormatsEnumerated,
|
| OnDeviceSupportedFormatsEnumerated)
|
| @@ -110,13 +111,34 @@ void VideoCaptureMessageFilter::OnBufferCreated(int device_id,
|
| // Send the buffer back to Host in case it's waiting for all buffers
|
| // to be returned.
|
| base::SharedMemory::CloseHandle(handle);
|
| - Send(new VideoCaptureHostMsg_BufferReady(device_id, buffer_id, 0, -1.0));
|
| +
|
| + Send(new VideoCaptureHostMsg_BufferReady(
|
| + device_id, buffer_id, 0 /* release_sync_point */,
|
| + -1.0 /* consumer_resource_utilization */));
|
| return;
|
| }
|
|
|
| delegate->OnBufferCreated(handle, length, buffer_id);
|
| }
|
|
|
| +void VideoCaptureMessageFilter::OnBufferCreated2(
|
| + int device_id,
|
| + const std::vector<gfx::GpuMemoryBufferHandle>& handles,
|
| + const gfx::Size& size,
|
| + int buffer_id) {
|
| + Delegate* const delegate = find_delegate(device_id);
|
| + if (!delegate) {
|
| + DLOG(WARNING) << "OnBufferCreated: Got video GMB buffer for a "
|
| + "non-existent or removed video capture.";
|
| + Send(new VideoCaptureHostMsg_BufferReady(
|
| + device_id, buffer_id, 0 /* release_sync_point */,
|
| + -1.0 /* consumer_resource_utilization */));
|
| + return;
|
| + }
|
| +
|
| + delegate->OnBufferCreated2(handles, size, buffer_id);
|
| +}
|
| +
|
| void VideoCaptureMessageFilter::OnBufferReceived(
|
| const VideoCaptureMsg_BufferReady_Params& params) {
|
| Delegate* const delegate = find_delegate(params.device_id);
|
|
|