diff options
Diffstat (limited to 'sys')
-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; + } } |