diff --git a/subprojects/gst-plugins-good/sys/v4l2/v4l2_calls.c b/subprojects/gst-plugins-good/sys/v4l2/v4l2_calls.c index 66bcef004d..e207c51a3c 100644 --- a/subprojects/gst-plugins-good/sys/v4l2/v4l2_calls.c +++ b/subprojects/gst-plugins-good/sys/v4l2/v4l2_calls.c @@ -307,6 +307,10 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) } else { GST_WARNING_OBJECT (e, "Failed querying control %d on device '%s'. " "(%d - %s)", n, v4l2object->videodev, errno, strerror (errno)); + if (n > (V4L2_CID_PRIVATE_BASE + V4L2_CID_MAX_CTRLS)) { + GST_DEBUG_OBJECT (e, "Finish control by reaching V4L2_CID_MAX_CTRLS"); + break; + } continue; } }