From 305023fe9d5f8f3ffd5c49b1d1b743f569a9265d Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 18 Oct 2012 10:37:35 +0200 Subject: [PATCH] v4l2: handle ENODATA return value for VIDIOC_ENUMSTD In kernel v3.7-rc1, VIDIOC_ENUMSTD returns ENODATA if the current input does not support the STD API. https://bugzilla.gnome.org/show_bug.cgi?id=698827 --- sys/v4l2/v4l2_calls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c index afa2f1341c..e9201a211f 100644 --- a/sys/v4l2/v4l2_calls.c +++ b/sys/v4l2/v4l2_calls.c @@ -204,7 +204,7 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) standard.index = n; if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_ENUMSTD, &standard) < 0) { - if (errno == EINVAL || errno == ENOTTY) + if (errno == EINVAL || errno == ENOTTY || errno == ENODATA) break; /* end of enumeration */ else { GST_ELEMENT_ERROR (e, RESOURCE, SETTINGS,