summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-09-16 15:25:08 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-09-16 15:32:04 +0200
commitc4e0aff12b238dd3a46614278d2721ec75f2463e (patch)
tree4b5bca7ba2952ff6376b9b230a2a98212410442c
parent9c0ff2f38174f2e4111859bd66956a77764cb515 (diff)
[MOVED FROM BAD 134/134] vp8dec: Unref input/output states when stopping the decoder
-rw-r--r--ext/vp8/gstvp8dec.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/vp8/gstvp8dec.c b/ext/vp8/gstvp8dec.c
index ff221052f..a45bf72d3 100644
--- a/ext/vp8/gstvp8dec.c
+++ b/ext/vp8/gstvp8dec.c
@@ -297,6 +297,15 @@ gst_vp8_dec_stop (GstVideoDecoder * base_video_decoder)
GstVP8Dec *gst_vp8_dec = GST_VP8_DEC (base_video_decoder);
GST_DEBUG_OBJECT (gst_vp8_dec, "stop");
+
+ 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;
+ }
if (gst_vp8_dec->decoder_inited)
vpx_codec_destroy (&gst_vp8_dec->decoder);
gst_vp8_dec->decoder_inited = FALSE;