[FFmpeg-devel] [PATCH 1/4] avcodec/a64multienc: use av_frame_ref instead of copying the frame

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Mon Feb 23 12:23:12 CET 2015


On 23.02.2015 01:56, Michael Niedermayer wrote:
>> --- a/libavcodec/a64multienc.c
>> +++ b/libavcodec/a64multienc.c
>> @@ -317,7 +317,9 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
>>       } else {
>>           /* fill up mc_meta_charset with data until lifetime exceeds */
>>           if (c->mc_frame_counter < c->mc_lifetime) {
>> -            *p = *pict;
>> +            ret = av_frame_ref(p, pict);
>> +            if (ret < 0)
>> +                return ret;
>
> I suspect this leaves a memleak, ill push it anyway as it allows
> regression testing the more complex subsequent fix

Yes, this trades the crash for a memleak. :-/
Your simplification [1] fixes that.

Best regards,
Andreas

1: 
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=4da351ff0cff460db2110cf22f2e3eded8733a58


More information about the ffmpeg-devel mailing list