From ae4650f0b9cbb96b868038bafe632614832fe86f Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Sat, 24 Dec 2016 13:16:15 +0100 Subject: [PATCH] lavfi: disallow ff_request_frame for filters using activate. Having two different functions allows to have stricter tests and detect errors earlier. --- libavfilter/avfilter.c | 1 + libavfilter/internal.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 75597d054e..64a14d318e 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -408,6 +408,7 @@ int ff_request_frame(AVFilterLink *link) { FF_TPRINTF_START(NULL, request_frame); ff_tlog_link(NULL, link, 1); + av_assert1(!link->dst->filter->activate); if (link->status_out) return link->status_out; if (link->status_in) { diff --git a/libavfilter/internal.h b/libavfilter/internal.h index a8b69fd7f1..04072208a4 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -309,6 +309,9 @@ int ff_poll_frame(AVFilterLink *link); /** * Request an input frame from the filter at the other end of the link. * + * This function must not be used by filters using the activate callback, + * use ff_link_set_frame_wanted() instead. + * * The input filter may pass the request on to its inputs, fulfill the * request from an internal buffer or any other means specific to its function. *