Index: content/browser/renderer_host/media/video_capture_controller.cc |
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc |
index f625a0732c06f9f9c59cad2282d83933d3d6b524..1fc30dbf17967c4f7515be2294c475678e9a9a35 100644 |
--- a/content/browser/renderer_host/media/video_capture_controller.cc |
+++ b/content/browser/renderer_host/media/video_capture_controller.cc |
@@ -251,7 +251,7 @@ void VideoCaptureController::ReturnBuffer( |
const VideoCaptureControllerID& id, |
VideoCaptureControllerEventHandler* event_handler, |
int buffer_id, |
- uint32 sync_point) { |
+ const std::vector<uint32>& sync_points) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
ControllerClient* client = FindClient(id, event_handler, controller_clients_); |
@@ -267,8 +267,10 @@ void VideoCaptureController::ReturnBuffer( |
scoped_refptr<media::VideoFrame> frame = iter->second; |
client->active_buffers.erase(iter); |
- if (frame->format() == media::VideoFrame::NATIVE_TEXTURE) |
- frame->mailbox_holder()->sync_point = sync_point; |
+ if (frame->format() == media::VideoFrame::NATIVE_TEXTURE) { |
+ for (size_t i = 0; i < sync_points.size(); i++) |
+ frame->AppendReleaseSyncPoint(sync_points[i]); |
danakj
2014/03/20 15:59:08
Do you know where is the callback that will eventu
dshwang
2014/03/20 16:11:20
That's good question. AFAIK, currently VidoeCaptur
Ami GONE FROM CHROMIUM
2014/04/11 20:55:17
Yep.
|
+ } |
buffer_pool_->RelinquishConsumerHold(buffer_id, 1); |
} |