diff --git a/plugins/linux-v4l2/v4l2-controls.c b/plugins/linux-v4l2/v4l2-controls.c index b11ba811f64f30ae30d9b5a9b2a1d72f9bf1be5f..c31a91d067d0f574be1dc9607e6e5dafef92786f 100644 --- a/plugins/linux-v4l2/v4l2-controls.c +++ b/plugins/linux-v4l2/v4l2-controls.c @@ -98,6 +98,8 @@ int_fast32_t v4l2_update_controls(int_fast32_t dev, obs_properties_t *props, memset(&qctrl, 0, sizeof(qctrl)); qctrl.id = V4L2_CTRL_FLAG_NEXT_CTRL; while (0 == v4l2_ioctl(dev, VIDIOC_QUERYCTRL, &qctrl)) { + qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; + if (qctrl.flags & V4L2_CTRL_FLAG_DISABLED) { blog(LOG_INFO, "found control %s but it is disabled", qctrl.name); @@ -145,8 +147,6 @@ int_fast32_t v4l2_update_controls(int_fast32_t dev, obs_properties_t *props, (char *)qctrl.name, qctrl.default_value); break; } - - qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; } return 0;