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 <one...@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.
Regards, Marton
if (!buffer) return AVERROR(ENOMEM); - memcpy(buffer, s->buffer, filled); - av_free(s->buffer); s->buf_ptr = buffer + (s->buf_ptr - s->buffer); s->buf_end = buffer + (s->buf_end - s->buffer); s->buffer = buffer; -- 2.17.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".