summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/avfilter.c')
-rw-r--r--libavfilter/avfilter.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 001c729f14..872d62fc60 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -191,7 +191,12 @@ AVFilterPicRef *avfilter_get_video_buffer(AVFilterLink *link, int perms)
void avfilter_request_frame(AVFilterLink *link)
{
- link->src->filter->outputs[link->srcpad].request_frame(link);
+ const AVFilterPad *pad = &link->src->filter->outputs[link->srcpad];
+
+ if(pad->request_frame)
+ pad->request_frame(link);
+ else if(link->src->inputs[0])
+ avfilter_request_frame(link->src->inputs[0]);
}
/* XXX: should we do the duplicating of the picture ref here, instead of