summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2007-02-19 12:22:43 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2007-02-19 12:22:43 +0000
commit2d1b42029af8c75e3539c11314f818b61c6e6a8e (patch)
tree370cacd889ffb9cdfbb2952c7594e89410649311 /sys
parent71cf071f58386f8d508f51fd4c4dbe64f54f40c1 (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')
-rw-r--r--sys/v4l2/v4l2src_calls.c13
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;
+ }
}