[FFmpeg-devel] [PATCH 3/3] avfilter/vf_framerate: unbreak flushing

Paul B Mahol onemda at gmail.com
Fri Sep 11 17:24:09 CEST 2015


Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 libavfilter/vf_framerate.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c
index 7dadfde..cd9a981 100644
--- a/libavfilter/vf_framerate.c
+++ b/libavfilter/vf_framerate.c
@@ -667,9 +667,12 @@ static int request_frame(AVFilterLink *outlink)
     // if there is no "next" frame AND we are not in flush then get one from our input filter
     if (!s->srce[s->frst] && !s->flush) {
         ff_dlog(ctx, "request_frame() call source's request_frame()\n");
-        if ((val = ff_request_frame(outlink->src->inputs[0])) < 0) {
+        val = ff_request_frame(outlink->src->inputs[0]);
+        if (val < 0 && (val != AVERROR_EOF)) {
             ff_dlog(ctx, "request_frame() source's request_frame() returned error:%d\n", val);
             return val;
+        } else if (val == AVERROR_EOF) {
+            s->flush = 1;
         }
         ff_dlog(ctx, "request_frame() source's request_frame() returned:%d\n", val);
         return 0;
-- 
1.7.11.2



More information about the ffmpeg-devel mailing list