aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/avfilter.h
diff options
context:
space:
mode:
authorNicolas George <george@nsup.org>2015-09-30 16:11:57 +0200
committerNicolas George <george@nsup.org>2015-12-22 16:04:30 +0100
commit16557887127256fb1e491702375e7ea7b3940924 (patch)
treee6218ca8a613ccf7c54a95047d618de3d7e66724 /libavfilter/avfilter.h
parent108b4de5529a75b06da72b974b26625a8067001f (diff)
downloadffmpeg-16557887127256fb1e491702375e7ea7b3940924.tar.gz
lavfi: make request_frame() non-recursive.
Instead of calling the input filter request_frame() method, ff_request_frame() now marks the link and returns immediately. buffersink is changed to activate the marked filters until a frame is obtained.
Diffstat (limited to 'libavfilter/avfilter.h')
-rw-r--r--libavfilter/avfilter.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index c52175b4c9..599369dcb0 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -520,6 +520,20 @@ struct AVFilterLink {
* A pointer to a FFVideoFramePool struct.
*/
void *video_frame_pool;
+
+ /**
+ * True if a frame is currently wanted on the input of this filter.
+ * Set when ff_request_frame() is called by the output,
+ * cleared when the request is handled or forwarded.
+ */
+ int frame_wanted_in;
+
+ /**
+ * True if a frame is currently wanted on the output of this filter.
+ * Set when ff_request_frame() is called by the output,
+ * cleared when a frame is filtered.
+ */
+ int frame_wanted_out;
};
/**