Message ID | 20220318130508.18075-1-nicolas.gaullier@cji.paris |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] lavf/mpegenc: fix memory leak in the fifo since the new API | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
yinshiyou/make_loongarch64 | warning | New warnings during build |
andriy/make_fate_armv7_RPi4 | success | Make fate finished |
andriy/make_armv7_RPi4 | warning | New warnings during build |
andriy/make_fate_aarch64_jetson | success | Make fate finished |
andriy/make_aarch64_jetson | warning | New warnings during build |
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 &&
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(-)