| Index: content/renderer/media/video_capture_impl.cc
|
| diff --git a/content/renderer/media/video_capture_impl.cc b/content/renderer/media/video_capture_impl.cc
|
| index 1ccd6c63fce441a6407db674e1a7754a12014ffb..2469441f46ca4f2836a76540177d8c735e6d7b7b 100644
|
| --- a/content/renderer/media/video_capture_impl.cc
|
| +++ b/content/renderer/media/video_capture_impl.cc
|
| @@ -310,13 +310,20 @@ void VideoCaptureImpl::OnBufferReceived(
|
| const gfx::Size& coded_size,
|
| const gfx::Rect& visible_rect) {
|
| DCHECK(io_task_runner_->BelongsToCurrentThread());
|
| + // TODO(astojilj) Check STORAGE_GPU_MEMORY_BUFFERS support for Y8/Y16.
|
| if (state_ != VIDEO_CAPTURE_STATE_STARTED || suspended_ ||
|
| - pixel_format != media::PIXEL_FORMAT_I420 ||
|
| + (pixel_format != media::PIXEL_FORMAT_I420 &&
|
| + ((pixel_format != media::PIXEL_FORMAT_Y8 &&
|
| + pixel_format != media::PIXEL_FORMAT_Y16) ||
|
| + storage_type != media::VideoFrame::STORAGE_SHMEM)) ||
|
| (storage_type != media::VideoFrame::STORAGE_SHMEM &&
|
| storage_type != media::VideoFrame::STORAGE_GPU_MEMORY_BUFFERS)) {
|
| // Crash in debug builds since the host should not have provided a buffer
|
| // with an unsupported pixel format or storage type.
|
| - DCHECK_EQ(media::PIXEL_FORMAT_I420, pixel_format);
|
| + DCHECK(media::PIXEL_FORMAT_I420 == pixel_format ||
|
| + ((media::PIXEL_FORMAT_Y8 == pixel_format ||
|
| + media::PIXEL_FORMAT_Y16 == pixel_format) &&
|
| + storage_type == media::VideoFrame::STORAGE_SHMEM));
|
| DCHECK(storage_type == media::VideoFrame::STORAGE_SHMEM ||
|
| storage_type == media::VideoFrame::STORAGE_GPU_MEMORY_BUFFERS);
|
| Send(new VideoCaptureHostMsg_BufferReady(device_id_, buffer_id,
|
|
|