From 5a9dd3de63db95704708350bc1c5abb74944cda2 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 24 Aug 2010 08:37:54 +0000 Subject: [PATCH] Make avfilter_start_frame() invoke avfilter_get_video_buffer() on the link rather than avfilter_default_get_video_buffer(). This is required as the buffer requested may be greater than the buffer allocated locally by avfilter_default_get_video_buffer(), for example if in filterchain there is a pad filter (like in "fifo,pad"). In that case the pad filter will try to write beyond the data of the allocated buffer, resulting in a crash. Originally committed as revision 24895 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/avfilter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index cfdaa82cc5..d787f9233f 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -316,7 +316,7 @@ void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref) picref->perms, link_dpad(link).min_perms, link_dpad(link).rej_perms); - link->cur_buf = avfilter_default_get_video_buffer(link, dst->min_perms, link->w, link->h); + link->cur_buf = avfilter_get_video_buffer(link, dst->min_perms, link->w, link->h); link->src_buf = picref; avfilter_copy_buffer_ref_props(link->cur_buf, link->src_buf); }