Mercurial > libavcodec.hg
diff xl.c @ 10399:136334ad62b3 libavcodec
Release frame after decoding is done
author | kostya |
---|---|
date | Wed, 14 Oct 2009 05:28:24 +0000 |
parents | 54bc8a2727b0 |
children | 8a137661f31e |
line wrap: on
line diff
--- a/xl.c Tue Oct 13 20:48:51 2009 +0000 +++ b/xl.c Wed Oct 14 05:28:24 2009 +0000 @@ -128,6 +128,17 @@ return 0; } +static av_cold int decode_end(AVCodecContext *avctx){ + VideoXLContext * const a = avctx->priv_data; + AVFrame *pic = &a->pic; + + if (pic->data[0]) + avctx->release_buffer(avctx, pic); + av_freep(&a->pic); + + return 0; +} + AVCodec xl_decoder = { "xl", CODEC_TYPE_VIDEO, @@ -135,7 +146,7 @@ sizeof(VideoXLContext), decode_init, NULL, - NULL, + decode_end, decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),