[FFmpeg-devel] [PATCH] h264_parser: fix memory leak
Rafaël Carré
rafael.carre
Thu Jan 28 12:49:05 CET 2010
Hi,
I noticed h264 parser was leaking a rbsp_buffer (reproducible with
ffplay under valgrind if you can find it through all the sdl/alsa
related messages)
This is freed in h264.c:free_tables(), which loops over all thread
contexts.
First thread context is the decoder's context, set in decoder init.
This initialisation is missing in the parser so I added it. I suppose
other initialisations made in ff_h264_decode_init are useless in the
case of the parser.
Personally I would prefer just to not assume the context has set
thread_context[0] with this smaller patch (assuming the parser will
not need to use thread_context at all)
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index e4a47cf..f1a09c3 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -669,7 +669,7 @@ static void free_tables(H264Context *h){
av_freep(&h->mb2b8_xy);
for(i = 0; i < MAX_THREADS; i++) {
- hx = h->thread_context[i];
+ hx = i ? h->thread_context[i] : h; /* parser doesn't use threads */
if(!hx) continue;
av_freep(&hx->top_borders[1]);
av_freep(&hx->top_borders[0]);
--
Rafa?l Carr?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100128/00f3840a/attachment.pgp>
More information about the ffmpeg-devel
mailing list