+2007-02-19 Stefan Kost <ensonic@users.sf.net>
+
+ * 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
+
2007-02-18 Wim Taymans <wim@fluendo.com>
* gst/rtp/Makefile.am:
*/
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;
}
/*} */
}
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;
+ }
}