vp8dec: Reset output and input states when changing format
authorJose Antonio Santos Cadenas <santoscadenas@gmail.com>
Tue, 5 Aug 2014 08:34:39 +0000 (10:34 +0200)
committerThiago Santos <thiagoss@osg.samsung.com>
Tue, 2 Sep 2014 02:56:51 +0000 (23:56 -0300)
https://bugzilla.gnome.org/show_bug.cgi?id=734266

ext/vpx/gstvp8dec.c

index 5efcdd3..6f3d7d7 100644 (file)
@@ -318,8 +318,16 @@ gst_vp8_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state)
     vpx_codec_destroy (&gst_vp8_dec->decoder);
   gst_vp8_dec->decoder_inited = FALSE;
 
-  if (gst_vp8_dec->input_state)
+  if (gst_vp8_dec->output_state) {
+    gst_video_codec_state_unref (gst_vp8_dec->output_state);
+    gst_vp8_dec->output_state = NULL;
+  }
+
+  if (gst_vp8_dec->input_state) {
     gst_video_codec_state_unref (gst_vp8_dec->input_state);
+    gst_vp8_dec->input_state = NULL;
+  }
+
   gst_vp8_dec->input_state = gst_video_codec_state_ref (state);
 
   return TRUE;