Mercurial > libavcodec.hg
diff qdrw.c @ 10399:136334ad62b3 libavcodec
Release frame after decoding is done
author | kostya |
---|---|
date | Wed, 14 Oct 2009 05:28:24 +0000 |
parents | d7ed9dcc78e3 |
children | 8a137661f31e |
line wrap: on
line diff
--- a/qdrw.c Tue Oct 13 20:48:51 2009 +0000 +++ b/qdrw.c Wed Oct 14 05:28:24 2009 +0000 @@ -140,6 +140,17 @@ return 0; } +static av_cold int decode_end(AVCodecContext *avctx){ + QdrawContext * 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 qdraw_decoder = { "qdraw", CODEC_TYPE_VIDEO, @@ -147,7 +158,7 @@ sizeof(QdrawContext), decode_init, NULL, - NULL, + decode_end, decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),