summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2012-10-18 10:37:35 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2013-09-13 16:29:46 +0200
commit8ae122680028e850969efe8cdcde6c18ebc7e166 (patch)
tree46cbfee545700b77762467f6d8bdbda8a9fd65d3
parent3f31280ce6423a10f37a28f82860c7ebc72f0354 (diff)
downloadgst-plugins-good-8ae122680028e850969efe8cdcde6c18ebc7e166.tar.gz
gst-plugins-good-8ae122680028e850969efe8cdcde6c18ebc7e166.tar.xz
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
-rw-r--r--sys/v4l2/v4l2_calls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
index 7c2702469..2fcb53219 100644
--- a/sys/v4l2/v4l2_calls.c
+++ b/sys/v4l2/v4l2_calls.c
@@ -203,7 +203,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,