diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-08-29 20:35:03 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-08-29 20:39:34 +0200 |
commit | 37f9de59d1e793fac4cbb37045a2a34bb977b0cc (patch) | |
tree | 3f3c2fa931fd81ac615b173c6c7a77aaf804abb6 | |
parent | 50be0b911a61e537878b2d65587ef303a56b3e91 (diff) | |
download | ffmpeg-37f9de59d1e793fac4cbb37045a2a34bb977b0cc.tar.gz |
avfilter: fix processing multiple commands per frame and filter
Found-by: Nicolas George
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/avfilter.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |