Chromium Code Reviews| 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..61998f423a5455a35dbcb67030b8ce8ec2e7f4e6 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>& gmb_handles, |
|
reveman
2015/08/26 11:54:05
nit: s/gmb_handles/handles/
emircan
2015/08/26 21:23:12
Done.
|
| + 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(gmb_handles, size, buffer_id); |
| +} |
| + |
| void VideoCaptureMessageFilter::OnBufferReceived( |
| const VideoCaptureMsg_BufferReady_Params& params) { |
| Delegate* const delegate = find_delegate(params.device_id); |