diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index 12b37836f8..790dda5a0b 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -316,11 +316,15 @@ static int poll_frame(AVFilterLink *link) return 1; val = avfilter_poll_frame(link->src->inputs[0]); + if (val <= 0) + return val; if (val==1 && !yadif->next) { //FIXME change API to not requre this red tape if ((ret = avfilter_request_frame(link->src->inputs[0])) < 0) return ret; val = avfilter_poll_frame(link->src->inputs[0]); + if (val <= 0) + return val; } assert(yadif->next || !val);