summaryrefslogtreecommitdiff
path: root/sys/v4l2/v4l2_calls.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-02-16 14:23:50 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2012-02-16 14:23:50 +0100
commit6623ab258b247e042b597058c47b91a5eddf0a8b (patch)
tree44f7fb9076a579be3e86180e9d04681bf7cf2fec /sys/v4l2/v4l2_calls.c
parent979431c034edd48f9d82c9a3982009177067c2d9 (diff)
parentc1c858f2733aba9fd8f6120656b0db20a66b6c77 (diff)
Merge branch 'master' into 0.11
Diffstat (limited to 'sys/v4l2/v4l2_calls.c')
-rw-r--r--sys/v4l2/v4l2_calls.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
index 74b2e0adf..62c03ee05 100644
--- a/sys/v4l2/v4l2_calls.c
+++ b/sys/v4l2/v4l2_calls.c
@@ -250,7 +250,7 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
control.id = n;
if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_QUERYCTRL, &control) < 0) {
- if (errno == EINVAL) {
+ if (errno == EINVAL || errno == ENOTTY || errno == EIO) {
if (n < V4L2_CID_PRIVATE_BASE) {
GST_DEBUG_OBJECT (e, "skipping control %08x", n);
/* continue so that we also check private controls */
@@ -260,12 +260,9 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
break;
}
} else {
- GST_ELEMENT_ERROR (e, RESOURCE, SETTINGS,
- (_("Failed getting controls attributes on device '%s'."),
- v4l2object->videodev),
- ("Failed querying control %d on device '%s'. (%d - %s)",
- n, v4l2object->videodev, errno, strerror (errno)));
- return FALSE;
+ GST_WARNING_OBJECT (e, "Failed querying control %d on device '%s'. "
+ "(%d - %s)", n, v4l2object->videodev, errno, strerror (errno));
+ continue;
}
}
if (control.flags & V4L2_CTRL_FLAG_DISABLED) {