]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/buffersink.c
avcodec: Remove libstagefright
[ffmpeg] / libavfilter / buffersink.c
index 5db86abd8a1db1587992927f872e211b3d63b8b9..2feb56dee9bd49706ffc38a60499223ce0b32376 100644 (file)
@@ -134,12 +134,17 @@ int attribute_align_arg av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFr
 
     /* no picref available, fetch it from the filterchain */
     while (!av_fifo_size(buf->fifo)) {
-        if (inlink->closed)
-            return AVERROR_EOF;
+        if (inlink->status)
+            return inlink->status;
         if (flags & AV_BUFFERSINK_FLAG_NO_REQUEST)
             return AVERROR(EAGAIN);
         if ((ret = ff_request_frame(inlink)) < 0)
             return ret;
+        while (inlink->frame_wanted_out) {
+            ret = ff_filter_graph_run_once(ctx->graph);
+            if (ret < 0)
+                return ret;
+        }
     }
 
     if (flags & AV_BUFFERSINK_FLAG_PEEK) {