[FFmpeg-cvslog] lavc/utils: fix metadata audio frame memleak in case of non refcounted frames.

Clément Bœsch git at videolan.org
Thu Mar 21 01:08:05 CET 2013


ffmpeg | branch: master | Clément Bœsch <ubitux at gmail.com> | Tue Mar 19 22:47:49 2013 +0100| [4331484b8d70529b79e14ab22afe81b8fe203046] | committer: Clément Bœsch

lavc/utils: fix metadata audio frame memleak in case of non refcounted frames.

The metadata must be set before saving the frame to avci->to_free,
otherwise it will leak.

Signed-off-by: Hendrik Leppkes <h.leppkes at gmail.com>
Signed-off-by: Clément Bœsch <ubitux at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4331484b8d70529b79e14ab22afe81b8fe203046
---

 libavcodec/utils.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 887f6b1..c15b772 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2051,6 +2051,7 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
         avctx->pkt = &tmp;
         ret = avctx->codec->decode(avctx, frame, got_frame_ptr, &tmp);
         if (ret >= 0 && *got_frame_ptr) {
+            add_metadata_from_side_data(avctx, frame);
             avctx->frame_number++;
             frame->pkt_dts = avpkt->dts;
             av_frame_set_best_effort_timestamp(frame,
@@ -2070,7 +2071,6 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
                 avci->to_free.extended_data = avci->to_free.data;
             }
         }
-        add_metadata_from_side_data(avctx, frame);
 
         side= av_packet_get_side_data(avctx->pkt, AV_PKT_DATA_SKIP_SAMPLES, &side_size);
         if(side && side_size>=10) {



More information about the ffmpeg-cvslog mailing list