lavfi/video: ensure that filter_frame is called.
[ffmpeg.git] / libavfilter / video.c
index a7ef045..bd2d32a 100644 (file)
@@ -163,6 +163,9 @@ static int default_start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref)
 {
     AVFilterLink *outlink = NULL;
 
 {
     AVFilterLink *outlink = NULL;
 
+    if (inlink->dstpad->filter_frame)
+        return 0;
+
     if (inlink->dst->nb_outputs)
         outlink = inlink->dst->outputs[0];
 
     if (inlink->dst->nb_outputs)
         outlink = inlink->dst->outputs[0];
 
@@ -275,6 +278,12 @@ static int default_end_frame(AVFilterLink *inlink)
 {
     AVFilterLink *outlink = NULL;
 
 {
     AVFilterLink *outlink = NULL;
 
+    if (inlink->dstpad->filter_frame) {
+        int ret = inlink->dstpad->filter_frame(inlink, inlink->cur_buf);
+        inlink->cur_buf = NULL;
+        return ret;
+    }
+
     if (inlink->dst->nb_outputs)
         outlink = inlink->dst->outputs[0];
 
     if (inlink->dst->nb_outputs)
         outlink = inlink->dst->outputs[0];