From: Nicolas Dufresne Date: Thu, 15 May 2014 14:44:29 +0000 (-0400) Subject: v4l2videodec: Handle start_streaming error X-Git-Tag: 1.19.3~509^2~4449 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=541a9670d23c89f69f5c272c5c2fa37edf6d8f1c;p=platform%2Fupstream%2Fgstreamer.git v4l2videodec: Handle start_streaming error https://bugzilla.gnome.org/show_bug.cgi?id=730207 --- diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c index 4decd76..2867b7b 100644 --- a/sys/v4l2/gstv4l2videodec.c +++ b/sys/v4l2/gstv4l2videodec.c @@ -528,8 +528,10 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder, GST_DEBUG_OBJECT (self, "Starting decoding thread"); /* Enable processing input */ - gst_v4l2_buffer_pool_start_streaming (GST_V4L2_BUFFER_POOL - (self->v4l2capture->pool)); + if (!gst_v4l2_buffer_pool_start_streaming (GST_V4L2_BUFFER_POOL + (self->v4l2capture->pool))) + goto start_streaming_failed; + gst_v4l2_object_unlock_stop (self->v4l2output); gst_v4l2_object_unlock_stop (self->v4l2capture); @@ -566,6 +568,13 @@ not_negotiated: ret = GST_FLOW_NOT_NEGOTIATED; goto drop; } +start_streaming_failed: + { + GST_ELEMENT_ERROR (self, RESOURCE, SETTINGS, + (_("Failed to re-enabled decoder.")), + ("Could not re-enqueue and start streaming on decide.")); + return GST_FLOW_ERROR; + } activate_failed: { GST_ELEMENT_ERROR (self, RESOURCE, SETTINGS,