From 8f14170b9a4e0fcb5525e5408c8df14076ec8948 Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Sun, 30 Sep 2018 23:28:28 +0200 Subject: avfilter/filters: add ff_inlink_peek_frame and ff_inlink_queued_frames to access frames in the inlink fifo Signed-off-by: Marton Balint --- libavfilter/filters.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libavfilter/filters.h') diff --git a/libavfilter/filters.h b/libavfilter/filters.h index 4e2652ebe5..ff900da63f 100644 --- a/libavfilter/filters.h +++ b/libavfilter/filters.h @@ -60,6 +60,12 @@ int ff_inlink_process_commands(AVFilterLink *link, const AVFrame *frame); */ int ff_inlink_evaluate_timeline_at_frame(AVFilterLink *link, const AVFrame *frame); +/** + * Get the number of frames available on the link. + * @return the number of frames available in the link fifo. + */ +size_t ff_inlink_queued_frames(AVFilterLink *link); + /** * Test if a frame is available on the link. * @return >0 if a frame is available @@ -102,6 +108,13 @@ int ff_inlink_consume_frame(AVFilterLink *link, AVFrame **rframe); int ff_inlink_consume_samples(AVFilterLink *link, unsigned min, unsigned max, AVFrame **rframe); +/** + * Access a frame in the link fifo without consuming it. + * The first frame is numbered 0; the designated frame must exist. + * @return the frame at idx position in the link fifo. + */ +AVFrame *ff_inlink_peek_frame(AVFilterLink *link, size_t idx); + /** * Make sure a frame is writable. * This is similar to av_frame_make_writable() except it uses the link's -- cgit v1.2.3