diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2007-02-19 12:22:43 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2007-02-19 12:22:43 +0000 |
commit | 2d1b42029af8c75e3539c11314f818b61c6e6a8e (patch) | |
tree | 370cacd889ffb9cdfbb2952c7594e89410649311 /sys/v4l2 | |
parent | 71cf071f58386f8d508f51fd4c4dbe64f54f40c1 (diff) |
sys/v4l2/v4l2src_calls.c: Readd GST_ELEMENT_ERROR if we can't reenque buffers after EIO, fixes #407369
Original commit message from CVS:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list),
(gst_v4l2src_grab_frame), (gst_v4l2src_set_capture),
(gst_v4l2src_capture_init):
Readd GST_ELEMENT_ERROR if we can't reenque buffers after EIO,
fixes #407369
Diffstat (limited to 'sys/v4l2')
-rw-r--r-- | sys/v4l2/v4l2src_calls.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/v4l2/v4l2src_calls.c b/sys/v4l2/v4l2src_calls.c index fd956aeb..7eef5471 100644 --- a/sys/v4l2/v4l2src_calls.c +++ b/sys/v4l2/v4l2src_calls.c @@ -194,9 +194,7 @@ gst_v4l2src_grab_frame (GstV4l2Src * v4l2src) */ GST_DEBUG_OBJECT (v4l2src, "reenqueing buffer"); if (ioctl (v4l2src->v4l2object->video_fd, VIDIOC_QBUF, &buffer) < 0) { - GST_WARNING_OBJECT (v4l2src, - "Error queueing buffer on device %s. system error: %s", - v4l2src->v4l2object->videodev, g_strerror (errno)); + goto qbuf_failed; } /*} */ } @@ -255,6 +253,15 @@ too_many_trials: NUM_TRIALS, v4l2src->v4l2object->videodev, g_strerror (errno))); return -1; } +qbuf_failed: + { + GST_ELEMENT_ERROR (v4l2src, RESOURCE, WRITE, + (_("Could not exchange data with device '%s'."), + v4l2src->v4l2object->videodev), + ("Error queueing buffer on device %s. system error: %s", + v4l2src->v4l2object->videodev, g_strerror (errno))); + return -1; + } } |