Free encoder extradata in avcodec_close(). Should fix several small memory
authorVitor Sessak <vitor1001@gmail.com>
Sat, 20 Feb 2010 18:28:11 +0000 (18:28 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Sat, 20 Feb 2010 18:28:11 +0000 (18:28 +0000)
leaks when encoding (at least for asv, wma and aac).

Fix also issue 1577.

Originally committed as revision 21923 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/utils.c

index 0b0c562..a66b85e 100644 (file)
@@ -685,6 +685,8 @@ av_cold int avcodec_close(AVCodecContext *avctx)
         avctx->codec->close(avctx);
     avcodec_default_free_buffers(avctx);
     av_freep(&avctx->priv_data);
+    if(avctx->codec->encode)
+        av_freep(&avctx->extradata);
     avctx->codec = NULL;
     entangled_thread_counter--;