diff --git a/spa/plugins/v4l2/v4l2-utils.c b/spa/plugins/v4l2/v4l2-utils.c index a23609db0..25df85874 100644 --- a/spa/plugins/v4l2/v4l2-utils.c +++ b/spa/plugins/v4l2/v4l2-utils.c @@ -83,7 +83,9 @@ static int spa_v4l2_open(struct impl *this) return -err; } - if ((port->cap.capabilities & V4L2_CAP_VIDEO_CAPTURE) == 0) { + if ((port->cap.capabilities & V4L2_CAP_VIDEO_CAPTURE) == 0 || + ((port->cap.capabilities & V4L2_CAP_DEVICE_CAPS) && + (port->cap.device_caps & V4L2_CAP_VIDEO_CAPTURE) == 0)) { spa_log_error(port->log, "v4l2: %s is no video capture device", props->device); return -ENODEV; }