提交 5a9dd3de 编写于 作者: S Stefano Sabatini

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
上级 3f1710e7
......@@ -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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册