Chromium Code Reviews| Index: content/browser/renderer_host/media/video_capture_host.cc |
| diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc |
| index 9d84d92840950f9b934834fd273b027e7afbe998..d9a94485f1f0c1b1fd682e9e9095721a5f43fcc2 100644 |
| --- a/content/browser/renderer_host/media/video_capture_host.cc |
| +++ b/content/browser/renderer_host/media/video_capture_host.cc |
| @@ -66,6 +66,19 @@ void VideoCaptureHost::OnBufferCreated(VideoCaptureControllerID controller_id, |
| Send(new VideoCaptureMsg_NewBuffer(controller_id, handle, length, buffer_id)); |
| } |
| +void VideoCaptureHost::OnGpuMemoryBufferCreated( |
| + VideoCaptureControllerID controller_id, |
| + const std::vector<gfx::GpuMemoryBufferHandle>& gmb_handles, |
| + const gfx::Size& size, |
| + int buffer_id) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + if (entries_.find(controller_id) == entries_.end()) |
| + return; |
| + |
| + Send(new VideoCaptureMsg_NewGpuMemoryBuffer(controller_id, gmb_handles, size, |
| + buffer_id)); |
| +} |
| + |
| void VideoCaptureHost::OnBufferDestroyed(VideoCaptureControllerID controller_id, |
| int buffer_id) { |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| @@ -94,9 +107,9 @@ void VideoCaptureHost::OnBufferReady( |
| params.coded_size = video_frame->coded_size(); |
| params.visible_rect = video_frame->visible_rect(); |
| if (video_frame->HasTextures()) { |
| - DCHECK_EQ(media::VideoFrame::NumPlanes(video_frame->format()), 1u) |
| - << "Multiplanar textures not supported"; |
| - params.mailbox_holder = video_frame->mailbox_holder(0); |
| + for (size_t i = 0; i < media::VideoFrame::NumPlanes(video_frame->format()); |
| + ++i) |
|
mcasas
2015/08/21 03:57:25
Needs {}
emircan
2015/08/22 03:13:26
Done.
|
| + params.mailbox_holders.push_back(video_frame->mailbox_holder(i)); |
| } |
| Send(new VideoCaptureMsg_BufferReady(params)); |