| Index: content/common/gpu/media/v4l2_video_decode_accelerator.cc
|
| diff --git a/content/common/gpu/media/v4l2_video_decode_accelerator.cc b/content/common/gpu/media/v4l2_video_decode_accelerator.cc
|
| index 64672fccdd75c83bdc7c0885a3134edbbb429d4e..59590577247c5fc63d43d10f9db9c72e89f67db7 100644
|
| --- a/content/common/gpu/media/v4l2_video_decode_accelerator.cc
|
| +++ b/content/common/gpu/media/v4l2_video_decode_accelerator.cc
|
| @@ -256,15 +256,19 @@ bool V4L2VideoDecodeAccelerator::Initialize(const Config& config,
|
|
|
| // Capabilities check.
|
| struct v4l2_capability caps;
|
| - const __u32 kCapsRequired =
|
| - V4L2_CAP_VIDEO_CAPTURE_MPLANE |
|
| - V4L2_CAP_VIDEO_OUTPUT_MPLANE |
|
| - V4L2_CAP_STREAMING;
|
| + const __u32 kCapsRequired = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING;
|
| IOCTL_OR_ERROR_RETURN_FALSE(VIDIOC_QUERYCAP, &caps);
|
| if ((caps.capabilities & kCapsRequired) != kCapsRequired) {
|
| - LOG(ERROR) << "Initialize(): ioctl() failed: VIDIOC_QUERYCAP"
|
| - ", caps check failed: 0x" << std::hex << caps.capabilities;
|
| - return false;
|
| + // This cap combination is deprecated, but some older drivers may still be
|
| + // returning it.
|
| + const __u32 kCapsRequiredCompat = V4L2_CAP_VIDEO_CAPTURE_MPLANE |
|
| + V4L2_CAP_VIDEO_OUTPUT_MPLANE |
|
| + V4L2_CAP_STREAMING;
|
| + if ((caps.capabilities & kCapsRequiredCompat) != kCapsRequiredCompat) {
|
| + LOG(ERROR) << "Initialize(): ioctl() failed: VIDIOC_QUERYCAP"
|
| + ", caps check failed: 0x" << std::hex << caps.capabilities;
|
| + return false;
|
| + }
|
| }
|
|
|
| if (!SetupFormats())
|
|
|