Index: media/gpu/v4l2_slice_video_decode_accelerator.cc |
diff --git a/media/gpu/v4l2_slice_video_decode_accelerator.cc b/media/gpu/v4l2_slice_video_decode_accelerator.cc |
index d27a3b1eeb5539c37b4b1b064800dafd4a2f1bfb..88c2390269c9787021a842f2b669b9062434dd43 100644 |
--- a/media/gpu/v4l2_slice_video_decode_accelerator.cc |
+++ b/media/gpu/v4l2_slice_video_decode_accelerator.cc |
@@ -755,10 +755,17 @@ bool V4L2SliceVideoDecodeAccelerator::CreateOutputBuffers() { |
<< ", visible size=" << visible_size_.ToString() |
<< ", coded size=" << coded_size_.ToString(); |
+ // With ALLOCATE mode the client can sample it as RGB and doesn't need to |
+ // know the precise format. |
+ VideoPixelFormat pixel_format = |
+ (output_mode_ == Config::OutputMode::IMPORT) |
+ ? V4L2Device::V4L2PixFmtToVideoPixelFormat(output_format_fourcc_) |
+ : PIXEL_FORMAT_UNKNOWN; |
+ |
child_task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&VideoDecodeAccelerator::Client::ProvidePictureBuffers, |
- client_, num_pictures, 1, coded_size_, |
+ client_, num_pictures, pixel_format, 1, coded_size_, |
device_->GetTextureTarget())); |
// Go into kAwaitingPictureBuffers to prevent us from doing any more decoding |
@@ -2791,11 +2798,6 @@ bool V4L2SliceVideoDecodeAccelerator::TryToSetupDecodeOnSeparateThread( |
return true; |
} |
-media::VideoPixelFormat V4L2SliceVideoDecodeAccelerator::GetOutputFormat() |
- const { |
- return V4L2Device::V4L2PixFmtToVideoPixelFormat(output_format_fourcc_); |
-} |
- |
// static |
media::VideoDecodeAccelerator::SupportedProfiles |
V4L2SliceVideoDecodeAccelerator::GetSupportedProfiles() { |