It was reallocated even if the exisiting buffer is larger than needed one, thus unnecessary shrinking it.
>From 2b8cea72a69abe6564367fb2149be936d2ffb916 Mon Sep 17 00:00:00 2001
From: Artyom Lebedev <vagran....@gmail.com>
Date: Wed, 19 Dec 2018 11:49:22 +0200
Subject: [PATCH] Fix unnecessary buffer reallocotion in
 ffio_ensure_seekback().
To: ffmpeg-devel@ffmpeg.org

---
 libavformat/aviobuf.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 5a33f82..b867fdd 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -1063,6 +1063,9 @@ int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size)
         return 0;
     av_assert0(!s->write_flag);
 
+    if (s->buffer_size >= buf_size)
+        return 0;
+
     buffer = av_malloc(buf_size);
     if (!buffer)
         return AVERROR(ENOMEM);
-- 
2.7.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to