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
This commit is contained in:
parent
3f1710e74f
commit
5a9dd3de63
@ -316,7 +316,7 @@ void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
|
|||||||
picref->perms,
|
picref->perms,
|
||||||
link_dpad(link).min_perms, link_dpad(link).rej_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;
|
link->src_buf = picref;
|
||||||
avfilter_copy_buffer_ref_props(link->cur_buf, link->src_buf);
|
avfilter_copy_buffer_ref_props(link->cur_buf, link->src_buf);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user