From: Wim Taymans Date: Tue, 12 Jul 2011 17:29:35 +0000 (+0100) Subject: v4l: handle object out of the normal flow X-Git-Tag: 1.19.3~509^2~7772 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=baa03a951b40fa7c34cf1b28b6e54af7e6299d06;p=platform%2Fupstream%2Fgstreamer.git v4l: handle object out of the normal flow --- diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 345e9d9..ee8ad9c 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -2189,24 +2189,36 @@ gboolean gst_v4l2_object_start_streaming (GstV4l2Object * v4l2object) { if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_STREAMON, - &(v4l2object->type)) < 0) { + &(v4l2object->type)) < 0) + goto start_failed; + + return TRUE; + + /* ERRORS */ +start_failed: + { GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, OPEN_READ, (_("Error starting streaming on device '%s'."), v4l2object->videodev), GST_ERROR_SYSTEM); return FALSE; } - return TRUE; } gboolean gst_v4l2_object_stop_streaming (GstV4l2Object * v4l2object) { if (v4l2_ioctl (v4l2object->video_fd, VIDIOC_STREAMOFF, - &(v4l2object->type)) < 0) { + &(v4l2object->type)) < 0) + goto stop_failed; + + return FALSE; + + /* ERRORS */ +stop_failed: + { GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, OPEN_READ, (_("Error stopping streaming on device '%s'."), v4l2object->videodev), GST_ERROR_SYSTEM); return FALSE; } - return TRUE; }