[MOVED FROM BAD 114/134] vp8: fix codec state leaks

I only tested that vp8enc ! vp8dec does not crash, as valgrind does not grok
at least one of the instructions used by vp8enc, preventing me from checking
a leak, and the lack of one after the patch.
This commit is contained in:
Vincent Penquerc'h 2012-06-07 12:33:31 +01:00 committed by Sebastian Dröge
parent e644f68e26
commit c76f4fe3ef
2 changed files with 7 additions and 0 deletions

View file

@ -316,6 +316,10 @@ gst_vp8_dec_reset (GstVideoDecoder * base_video_decoder, gboolean hard)
gst_video_codec_state_unref (decoder->output_state); gst_video_codec_state_unref (decoder->output_state);
decoder->output_state = NULL; decoder->output_state = NULL;
} }
if (hard && decoder->input_state) {
gst_video_codec_state_unref (decoder->input_state);
decoder->input_state = NULL;
}
if (decoder->decoder_inited) if (decoder->decoder_inited)
vpx_codec_destroy (&decoder->decoder); vpx_codec_destroy (&decoder->decoder);
decoder->decoder_inited = FALSE; decoder->decoder_inited = FALSE;

View file

@ -488,6 +488,9 @@ gst_vp8_enc_finalize (GObject * object)
g_free (gst_vp8_enc->multipass_cache_file); g_free (gst_vp8_enc->multipass_cache_file);
gst_vp8_enc->multipass_cache_file = NULL; gst_vp8_enc->multipass_cache_file = NULL;
if (gst_vp8_enc->input_state)
gst_video_codec_state_unref (gst_vp8_enc->input_state);
G_OBJECT_CLASS (parent_class)->finalize (object); G_OBJECT_CLASS (parent_class)->finalize (object);
} }