From 541a9670d23c89f69f5c272c5c2fa37edf6d8f1c Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Thu, 15 May 2014 10:44:29 -0400 Subject: [PATCH] v4l2videodec: Handle start_streaming error https://bugzilla.gnome.org/show_bug.cgi?id=730207 --- sys/v4l2/gstv4l2videodec.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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, -- 2.7.4