diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-02-16 14:23:50 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-02-16 14:23:50 +0100 |
commit | 6623ab258b247e042b597058c47b91a5eddf0a8b (patch) | |
tree | 44f7fb9076a579be3e86180e9d04681bf7cf2fec /sys/v4l2/v4l2_calls.c | |
parent | 979431c034edd48f9d82c9a3982009177067c2d9 (diff) | |
parent | c1c858f2733aba9fd8f6120656b0db20a66b6c77 (diff) |
Merge branch 'master' into 0.11
Diffstat (limited to 'sys/v4l2/v4l2_calls.c')
-rw-r--r-- | sys/v4l2/v4l2_calls.c | 11 |
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) { |