diff options
author | Nicolas George <george@nsup.org> | 2015-09-30 16:11:57 +0200 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2015-12-22 16:04:30 +0100 |
commit | 16557887127256fb1e491702375e7ea7b3940924 (patch) | |
tree | e6218ca8a613ccf7c54a95047d618de3d7e66724 /libavfilter/avfilter.h | |
parent | 108b4de5529a75b06da72b974b26625a8067001f (diff) | |
download | ffmpeg-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.h | 14 |
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; }; /** |