Implement poll_frame() method. Fix ffmpeg.c bug with
[libav.git] / libavfilter / avfilter.c
index 08e6aae..f2a42cb 100644 (file)
@@ -185,6 +185,22 @@ int avfilter_request_frame(AVFilterLink *link)
     else return -1;
 }
 
+int avfilter_poll_frame(AVFilterLink *link)
+{
+    int i, min=INT_MAX;
+
+    if(link_spad(link).poll_frame)
+        return link_spad(link).poll_frame(link);
+    else
+        for (i=0; i<link->src->input_count; i++) {
+            if(!link->src->inputs[i])
+                return -1;
+            min = FFMIN(min, avfilter_poll_frame(link->src->inputs[i]));
+        }
+
+    return min;
+}
+
 /* XXX: should we do the duplicating of the picture ref here, instead of
  * forcing the source filter to do it? */
 void avfilter_start_frame(AVFilterLink *link, AVFilterPicRef *picref)