| Index: content/browser/renderer_host/media/video_capture_device_impl.cc
|
| diff --git a/content/browser/renderer_host/media/video_capture_device_impl.cc b/content/browser/renderer_host/media/video_capture_device_impl.cc
|
| index f2eac243fb8b6b07d6a9071b5f063981d5f826aa..2dca7856ed441fe0a32b66f21eead544eff9e9a2 100644
|
| --- a/content/browser/renderer_host/media/video_capture_device_impl.cc
|
| +++ b/content/browser/renderer_host/media/video_capture_device_impl.cc
|
| @@ -112,10 +112,6 @@ bool ThreadSafeCaptureOracle::ObserveEventAndDecideCapture(
|
| TRACE_EVENT_ASYNC_BEGIN2("mirroring", "Capture", output_buffer.get(),
|
| "frame_number", frame_number,
|
| "trigger", event_name);
|
| - *callback = base::Bind(&ThreadSafeCaptureOracle::DidCaptureFrame,
|
| - this,
|
| - output_buffer,
|
| - frame_number);
|
| *storage = media::VideoFrame::WrapExternalPackedMemory(
|
| media::VideoFrame::I420,
|
| capture_size_,
|
| @@ -126,6 +122,11 @@ bool ThreadSafeCaptureOracle::ObserveEventAndDecideCapture(
|
| base::SharedMemory::NULLHandle(),
|
| base::TimeDelta(),
|
| base::Closure());
|
| + *callback = base::Bind(&ThreadSafeCaptureOracle::DidCaptureFrame,
|
| + this,
|
| + output_buffer,
|
| + *storage,
|
| + frame_number);
|
| return true;
|
| }
|
|
|
| @@ -164,7 +165,8 @@ void ThreadSafeCaptureOracle::ReportError() {
|
| }
|
|
|
| void ThreadSafeCaptureOracle::DidCaptureFrame(
|
| - scoped_refptr<media::VideoCaptureDevice::Client::Buffer> buffer,
|
| + const scoped_refptr<media::VideoCaptureDevice::Client::Buffer>& buffer,
|
| + const scoped_refptr<media::VideoFrame>& frame,
|
| int frame_number,
|
| base::TimeTicks timestamp,
|
| bool success) {
|
| @@ -178,11 +180,12 @@ void ThreadSafeCaptureOracle::DidCaptureFrame(
|
|
|
| if (success) {
|
| if (oracle_->CompleteCapture(frame_number, timestamp)) {
|
| - client_->OnIncomingCapturedBuffer(buffer,
|
| - media::VideoFrame::I420,
|
| - capture_size_,
|
| - timestamp,
|
| - frame_rate_);
|
| + client_->OnIncomingCapturedVideoFrame(
|
| + buffer,
|
| + media::VideoCaptureFormat(
|
| + capture_size_, frame_rate_, media::PIXEL_FORMAT_I420),
|
| + frame,
|
| + timestamp);
|
| }
|
| }
|
| }
|
|
|