| Index: media/video/capture/fake_video_capture_device.cc
|
| diff --git a/media/video/capture/fake_video_capture_device.cc b/media/video/capture/fake_video_capture_device.cc
|
| index e7b90ade34c185a4645a67d167f79ee57b4b3990..c4831367a2ff025b184c0c856bab54169ec2b807 100644
|
| --- a/media/video/capture/fake_video_capture_device.cc
|
| +++ b/media/video/capture/fake_video_capture_device.cc
|
| @@ -102,6 +102,7 @@ void FakeVideoCaptureDevice::AllocateAndStart(
|
|
|
| if (device_type_ == USING_OWN_BUFFERS ||
|
| device_type_ == USING_OWN_BUFFERS_TRIPLANAR) {
|
| + capture_format_.pixel_storage = PIXEL_STORAGE_CPU;
|
| fake_frame_.reset(new uint8[VideoFrame::AllocationSize(
|
| VideoFrame::I420, capture_format_.frame_size)]);
|
| BeepAndScheduleNextCapture(
|
| @@ -119,7 +120,10 @@ void FakeVideoCaptureDevice::AllocateAndStart(
|
| weak_factory_.GetWeakPtr(),
|
| (device_type_ == USING_CLIENT_BUFFERS_I420
|
| ? PIXEL_FORMAT_I420
|
| - : PIXEL_FORMAT_GPUMEMORYBUFFER)));
|
| + : PIXEL_FORMAT_ARGB),
|
| + (device_type_ == USING_CLIENT_BUFFERS_GPU
|
| + ? PIXEL_STORAGE_GPUMEMORYBUFFER
|
| + : PIXEL_STORAGE_CPU)));
|
| } else {
|
| client_->OnError("Unknown Fake Video Capture Device type.");
|
| }
|
| @@ -169,11 +173,13 @@ void FakeVideoCaptureDevice::CaptureUsingOwnBuffers(
|
|
|
| void FakeVideoCaptureDevice::CaptureUsingClientBuffers(
|
| VideoPixelFormat pixel_format,
|
| + VideoPixelStorage pixel_storage,
|
| base::TimeTicks expected_execution_time) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| scoped_ptr<VideoCaptureDevice::Client::Buffer> capture_buffer(
|
| - client_->ReserveOutputBuffer(pixel_format, capture_format_.frame_size));
|
| + client_->ReserveOutputBuffer(capture_format_.frame_size, pixel_format,
|
| + pixel_storage));
|
| DLOG_IF(ERROR, !capture_buffer) << "Couldn't allocate Capture Buffer";
|
|
|
| if (capture_buffer.get()) {
|
| @@ -181,17 +187,17 @@ void FakeVideoCaptureDevice::CaptureUsingClientBuffers(
|
| DCHECK(data_ptr) << "Buffer has NO backing memory";
|
| memset(data_ptr, 0, capture_buffer->size());
|
|
|
| - DrawPacman(
|
| - (pixel_format == media::PIXEL_FORMAT_GPUMEMORYBUFFER), /* use_argb */
|
| - data_ptr,
|
| - frame_count_,
|
| - kFakeCapturePeriodMs,
|
| - capture_format_.frame_size);
|
| + DrawPacman((pixel_format == media::PIXEL_FORMAT_ARGB), /* use_argb */
|
| + data_ptr,
|
| + frame_count_,
|
| + kFakeCapturePeriodMs,
|
| + capture_format_.frame_size);
|
|
|
| // Give the captured frame to the client.
|
| const VideoCaptureFormat format(capture_format_.frame_size,
|
| capture_format_.frame_rate,
|
| - pixel_format);
|
| + pixel_format,
|
| + pixel_storage);
|
| client_->OnIncomingCapturedBuffer(capture_buffer.Pass(), format,
|
| base::TimeTicks::Now());
|
| }
|
| @@ -199,7 +205,7 @@ void FakeVideoCaptureDevice::CaptureUsingClientBuffers(
|
| BeepAndScheduleNextCapture(
|
| expected_execution_time,
|
| base::Bind(&FakeVideoCaptureDevice::CaptureUsingClientBuffers,
|
| - weak_factory_.GetWeakPtr(), pixel_format));
|
| + weak_factory_.GetWeakPtr(), pixel_format, pixel_storage));
|
| }
|
|
|
| void FakeVideoCaptureDevice::BeepAndScheduleNextCapture(
|
|
|