ffmpeg | branch: master | Nicolas George <geo...@nsup.org> | Thu Dec 22 12:04:12 2016 +0100| [8156b5ac94368e5d4ddc66675ededf9b5dd507ab] | committer: Marton Balint
avfilter/af_amerge: detect EOF immediately Fix an infinite loop in forward_status_change(). Signed-off-by: Nicolas George <geo...@nsup.org> Signed-off-by: Marton Balint <c...@passwd.hu> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8156b5ac94368e5d4ddc66675ededf9b5dd507ab --- libavfilter/af_amerge.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c index 4a8c6d5..40bf7ab 100644 --- a/libavfilter/af_amerge.c +++ b/libavfilter/af_amerge.c @@ -23,6 +23,9 @@ * Audio merging filter */ +#define FF_INTERNAL_FIELDS 1 +#include "framequeue.h" + #include "libavutil/avstring.h" #include "libavutil/bprint.h" #include "libavutil/channel_layout.h" @@ -182,7 +185,9 @@ static int request_frame(AVFilterLink *outlink) int i, ret; for (i = 0; i < s->nb_inputs; i++) - if (!s->in[i].nb_samples) + if (!s->in[i].nb_samples || + /* detect EOF immediately */ + (ctx->inputs[i]->status_in && !ctx->inputs[i]->status_out)) if ((ret = ff_request_frame(ctx->inputs[i])) < 0) return ret; return 0; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog