From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTP id AE8EC4252A
	for <ffmpegdev@gitmailbox.com>; Fri, 18 Mar 2022 13:05:36 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A6BF68B0C3;
	Fri, 18 Mar 2022 15:05:34 +0200 (EET)
Received: from srv-infra-1.infra.inf.glb.tvvideoms.com (www.inf.tvvideoms.com
 [213.205.126.156])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4057C68AAD7
 for <ffmpeg-devel@ffmpeg.org>; Fri, 18 Mar 2022 15:05:28 +0200 (EET)
Received: from cji.paris (unknown [172.16.3.159])
 by srv-infra-1.infra.inf.glb.tvvideoms.com (Postfix) with ESMTP id 8A9F0207B9; 
 Fri, 18 Mar 2022 13:05:27 +0000 (UTC)
From: Nicolas Gaullier <nicolas.gaullier@cji.paris>
To: ffmpeg-devel@ffmpeg.org
Date: Fri, 18 Mar 2022 14:05:07 +0100
Message-Id: <20220318130508.18075-1-nicolas.gaullier@cji.paris>
X-Mailer: git-send-email 2.34.0
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH] lavf/mpegenc: fix memory leak in the fifo
 since the new API
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Nicolas Gaullier <nicolas.gaullier@cji.paris>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20220318130508.18075-1-nicolas.gaullier@cji.paris/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

The older av_fifo_realloc2 implemented an auto grow that should be ported as such.

This introduces a limitation in the buffer size.
AUTO_GROW_DEFAULT_BYTES is currently 1MB which seems reasonable here.

Fix regressing since ea511196a6c85eb433e10cdbecb0b2c722faf20d

Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
---
 libavformat/mpegenc.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index cc47a43288..b1dcde7686 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -461,7 +461,7 @@ static av_cold int mpeg_mux_init(AVFormatContext *ctx)
                    av_get_media_type_string(st->codecpar->codec_type), i);
             return AVERROR(EINVAL);
         }
-        stream->fifo = av_fifo_alloc2(16, 1, 0);
+        stream->fifo = av_fifo_alloc2(16, 1, AV_FIFO_FLAG_AUTO_GROW);
         if (!stream->fifo)
             return AVERROR(ENOMEM);
     }
@@ -1207,10 +1207,6 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt)
     pkt_desc->unwritten_size =
     pkt_desc->size           = size;
 
-    ret = av_fifo_grow2(stream->fifo, size);
-    if (ret < 0)
-        return ret;
-
     if (s->is_dvd) {
         // min VOBU length 0.4 seconds (mpucoder)
         if (is_iframe &&
-- 
2.34.0

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

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".