ducatividdec: fix deadlocks on early out paths
[glsdk/gst-plugin-ducati.git] / src / gstducatividdec.c
index caeceb47f1b288fb772ea5467d03c9a208a663bf..bebba5a17654d79904fde223214dc89a07b4f56d 100644 (file)
@@ -481,7 +481,7 @@ codec_process (GstDucatiVidDec * self, gboolean send, gboolean flush,
 gboolean
 gst_ducati_viddec_codec_flush (GstDucatiVidDec * self, gboolean eos)
 {
-  gint err;
+  gint err = FALSE;
 
   GST_DEBUG_OBJECT (self, "flush: eos=%d", eos);
 
@@ -497,12 +497,12 @@ gst_ducati_viddec_codec_flush (GstDucatiVidDec * self, gboolean eos)
   self->wait_keyframe = TRUE;
 
   if (G_UNLIKELY (self->first_in_buffer)) {
-    return TRUE;
+    goto out;
   }
 
   if (G_UNLIKELY (!self->codec)) {
     GST_WARNING_OBJECT (self, "no codec");
-    return TRUE;
+    goto out;
   }
 
   err = VIDDEC3_control (self->codec, XDM_FLUSH, self->dynParams, self->status);