[FFmpeg-cvslog] lavfi/vf_tile: simplify request_frame loop.

Nicolas George git at videolan.org
Wed Apr 3 18:36:34 CEST 2013


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Sun Mar 31 19:19:35 2013 +0200| [77fa554b6e083191fab7f6aea596a93f2a389da7] | committer: Nicolas George

lavfi/vf_tile: simplify request_frame loop.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77fa554b6e083191fab7f6aea596a93f2a389da7
---

 libavfilter/vf_tile.c |   15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/libavfilter/vf_tile.c b/libavfilter/vf_tile.c
index b45cbb8..64bf970 100644
--- a/libavfilter/vf_tile.c
+++ b/libavfilter/vf_tile.c
@@ -116,6 +116,8 @@ static int config_props(AVFilterLink *outlink)
     /* TODO make the color an option, or find an unified way of choosing it */
     ff_draw_color(&tile->draw, &tile->blank, (uint8_t[]){ 0, 0, 0, -1 });
 
+    outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
+
     return 0;
 }
 
@@ -203,16 +205,9 @@ static int request_frame(AVFilterLink *outlink)
     AVFilterLink *inlink = ctx->inputs[0];
     int r;
 
-    while (1) {
-        r = ff_request_frame(inlink);
-        if (r < 0) {
-            if (r == AVERROR_EOF && tile->current)
-                r = end_last_frame(ctx);
-            break;
-        }
-        if (!tile->current) /* done */
-            break;
-    }
+    r = ff_request_frame(inlink);
+    if (r == AVERROR_EOF && tile->current)
+        r = end_last_frame(ctx);
     return r;
 }
 



More information about the ffmpeg-cvslog mailing list