[FFmpeg-cvslog] avs: call release_buffer() at the end.
Anton Khirnov
git at videolan.org
Mon Dec 26 04:14:02 CET 2011
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Dec 25 19:35:19 2011 +0100| [80dc7c0160fb27e46fc0caae8af10b3d63730c7c] | committer: Anton Khirnov
avs: call release_buffer() at the end.
Fixes a memleak.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=80dc7c0160fb27e46fc0caae8af10b3d63730c7c
---
libavcodec/avs.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/libavcodec/avs.c b/libavcodec/avs.c
index 3ccded3..b3cd5b1 100644
--- a/libavcodec/avs.c
+++ b/libavcodec/avs.c
@@ -161,6 +161,15 @@ static av_cold int avs_decode_init(AVCodecContext * avctx)
return 0;
}
+static av_cold int avs_decode_end(AVCodecContext *avctx)
+{
+ AvsContext *s = avctx->priv_data;
+ if (s->picture.data[0])
+ avctx->release_buffer(avctx, &s->picture);
+ return 0;
+}
+
+
AVCodec ff_avs_decoder = {
.name = "avs",
.type = AVMEDIA_TYPE_VIDEO,
@@ -168,6 +177,7 @@ AVCodec ff_avs_decoder = {
.priv_data_size = sizeof(AvsContext),
.init = avs_decode_init,
.decode = avs_decode_frame,
+ .close = avs_decode_end,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),
};
More information about the ffmpeg-cvslog
mailing list