[FFmpeg-devel] [PATCH] avformat/aviobuf: realloc memory in ffio_ensure_seekback()

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Tue Sep 15 23:22:41 EEST 2020


Marton Balint:
> 
> 
> On Tue, 15 Sep 2020, Paul B Mahol wrote:
> 
>> This removes big CPU overhead for demuxing chained ogg streams.
>>
>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>> ---
>> libavformat/aviobuf.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
>> index a77517d712..6d01150f66 100644
>> --- a/libavformat/aviobuf.c
>> +++ b/libavformat/aviobuf.c
>> @@ -1005,12 +1005,11 @@ int ffio_ensure_seekback(AVIOContext *s,
>> int64_t buf_size)
>>         return 0;
>>     av_assert0(!s->write_flag);
>>
>> -    buffer = av_malloc(buf_size);
>> +    buffer = s->buffer;
>> +    buffer = av_realloc(buffer, buf_size);
> 
> It is not guaranteed that buffer is allocated with av_realloc, so you
> cannot realloc it.
> 

This isn't true since 21f70940ae106bfffa07e73057cdb4b5e81a767a any more.

- Andreas


More information about the ffmpeg-devel mailing list