diff wnv1.c @ 10399:136334ad62b3 libavcodec

Release frame after decoding is done
author kostya
date Wed, 14 Oct 2009 05:28:24 +0000
parents b949a56ecc07
children 8a137661f31e
line wrap: on
line diff
--- a/wnv1.c	Tue Oct 13 20:48:51 2009 +0000
+++ b/wnv1.c	Wed Oct 14 05:28:24 2009 +0000
@@ -143,6 +143,17 @@
     return 0;
 }
 
+static av_cold int decode_end(AVCodecContext *avctx){
+    WNV1Context * const l = avctx->priv_data;
+    AVFrame *pic = &l->pic;
+
+    if (pic->data[0])
+        avctx->release_buffer(avctx, pic);
+    av_freep(&l->pic);
+
+    return 0;
+}
+
 AVCodec wnv1_decoder = {
     "wnv1",
     CODEC_TYPE_VIDEO,
@@ -150,7 +161,7 @@
     sizeof(WNV1Context),
     decode_init,
     NULL,
-    NULL,
+    decode_end,
     decode_frame,
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),