[FFmpeg-devel] [PATCH] avfilter/src_movie: Remove align dimension to fix crash

Zhao Zhili quinkblack at foxmail.com
Fri May 10 11:56:16 EEST 2024


From: Zhao Zhili <zhilizhao at tencent.com>

The alignment is handled by ff_default_get_video_buffer2. We
shouldn't use the aligned width/height as FFFramePool width/height.
It cause recreate FFFramePool inside ff_default_get_video_buffer2.
The recreate of FFFramePool together with multi-threads decoding
leading to data race and crash, for example,
./ffplay -f lavfi -i movie=foo.mp4,drawtext=text=bar
---
 libavfilter/src_movie.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index e2cdcf17db..5099012100 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -187,7 +187,6 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags)
 
     switch (avctx->codec_type) {
     case AVMEDIA_TYPE_VIDEO:
-        avcodec_align_dimensions2(avctx, &w, &h, linesize_align);
         new = ff_default_get_video_buffer(outlink, w, h);
         break;
     case AVMEDIA_TYPE_AUDIO:
-- 
2.42.0



More information about the ffmpeg-devel mailing list