diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-09-16 15:25:08 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-09-16 15:25:08 +0200 |
commit | 12b5ef6573776d56693ef252815fe784c4e55890 (patch) | |
tree | 0599c5e47cc17231c29ff3ec81bd67ae16fb9a59 /ext | |
parent | 50ad4b5bbe0ba79e65f9256de1ff7d2ace5b12e6 (diff) | |
download | gstreamer-plugins-bad-12b5ef6573776d56693ef252815fe784c4e55890.tar.gz |
vp8dec: Unref input/output states when stopping the decoder
Diffstat (limited to 'ext')
-rw-r--r-- | ext/vp8/gstvp8dec.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/vp8/gstvp8dec.c b/ext/vp8/gstvp8dec.c index 8d0f0bc27..b03802ac3 100644 --- a/ext/vp8/gstvp8dec.c +++ b/ext/vp8/gstvp8dec.c @@ -287,6 +287,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; |