Index: media/capture/video/fake_video_capture_device.cc |
diff --git a/media/capture/video/fake_video_capture_device.cc b/media/capture/video/fake_video_capture_device.cc |
index 8ea60bccc8efd1f1e11626a75de38f7e8bc173bf..9c87afc9e415ce8a45420385621c8cdcd04b5d65 100644 |
--- a/media/capture/video/fake_video_capture_device.cc |
+++ b/media/capture/video/fake_video_capture_device.cc |
@@ -320,16 +320,19 @@ void FakeVideoCaptureDevice::CaptureUsingClientBuffers( |
DCHECK(thread_checker_.CalledOnValidThread()); |
const int arbitrary_frame_feedback_id = 0; |
- std::unique_ptr<VideoCaptureDevice::Client::Buffer> capture_buffer( |
+ VideoCaptureDevice::Client::Buffer capture_buffer = |
client_->ReserveOutputBuffer( |
capture_format_.frame_size, capture_format_.pixel_format, |
- capture_format_.pixel_storage, arbitrary_frame_feedback_id)); |
- DLOG_IF(ERROR, !capture_buffer) << "Couldn't allocate Capture Buffer"; |
- DCHECK(capture_buffer->data()) << "Buffer has NO backing memory"; |
+ capture_format_.pixel_storage, arbitrary_frame_feedback_id); |
+ DLOG_IF(ERROR, !capture_buffer.is_valid()) |
+ << "Couldn't allocate Capture Buffer"; |
+ auto buffer_access = |
+ capture_buffer.handle_provider()->GetHandleForInProcessAccess(); |
+ DCHECK(buffer_access->data()) << "Buffer has NO backing memory"; |
DCHECK_EQ(PIXEL_STORAGE_CPU, capture_format_.pixel_storage); |
- uint8_t* data_ptr = static_cast<uint8_t*>(capture_buffer->data()); |
- memset(data_ptr, 0, capture_buffer->mapped_size()); |
+ uint8_t* data_ptr = buffer_access->data(); |
+ memset(data_ptr, 0, buffer_access->mapped_size()); |
DrawPacman(capture_format_.pixel_format, data_ptr, elapsed_time_, |
fake_capture_rate_, capture_format_.frame_size, current_zoom_); |