[gstreamer-bugs] [Bug 407369] [v4l2src] Wrong way of EIO error handling
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Tue Feb 13 03:33:32 PST 2007
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=407369
GStreamer | gst-plugins-good | Ver: HEAD CVS
------- Comment #2 from Andrey Plotnikov 2007-02-13 11:31 UTC -------
In my case I have situation when periodically VIDEOC_QBUF call in EIO error
processing block is unsuccessful. I mean this code:
195 GST_DEBUG_OBJECT (v4l2src, "reenqueing buffer");
196 if (ioctl (v4l2src->v4l2object->video_fd, VIDIOC_QBUF, &buffer) < 0)
{
197 GST_WARNING_OBJECT (v4l2src,
198 "Error queueing buffer on device %s. system error: %s",
199 v4l2src->v4l2object->videodev, g_strerror (errno));
200 }
During debugging I found out that after each such occasion the number of active
buffers decreases.
Before, in this situation v4l2src element sent error message. Old code:
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;
}
Now error which rises during reenqueing buffer is skipped and it leads to
total application crash during the time.
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list