From 37f9de59d1e793fac4cbb37045a2a34bb977b0cc Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 29 Aug 2011 20:35:03 +0200 Subject: avfilter: fix processing multiple commands per frame and filter Found-by: Nicolas George Signed-off-by: Michael Niedermayer --- libavfilter/avfilter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavfilter/avfilter.c') diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index d327cf688b..d73698681e 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -566,9 +566,10 @@ void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref) else link->cur_buf = picref; - if(cmd && cmd->time <= picref->pts * av_q2d(link->time_base)){ + while(cmd && cmd->time <= picref->pts * av_q2d(link->time_base)){ avfilter_process_command(link->dst, cmd->command, cmd->arg, 0, 0, cmd->flags); command_queue_pop(link->dst); + cmd= link->dst->command_queue; } start_frame(link, link->cur_buf); -- cgit v1.2.3