From 1c0912c26eb96c270e2cec08650d3d487b28ea49 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 7 May 2022 07:27:36 +0200 Subject: avformat/utils: Move av_find_program_from_stream to avformat.c It is potentially used with both demuxers and muxers. Signed-off-by: Andreas Rheinhardt --- libavformat/avformat.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libavformat/avformat.c') diff --git a/libavformat/avformat.c b/libavformat/avformat.c index 78bec2f736..e3dad1f9a5 100644 --- a/libavformat/avformat.c +++ b/libavformat/avformat.c @@ -261,6 +261,21 @@ void av_program_add_stream_index(AVFormatContext *ac, int progid, unsigned idx) } } +AVProgram *av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s) +{ + for (unsigned i = 0; i < ic->nb_programs; i++) { + if (ic->programs[i] == last) { + last = NULL; + } else { + if (!last) + for (unsigned j = 0; j < ic->programs[i]->nb_stream_indexes; j++) + if (ic->programs[i]->stream_index[j] == s) + return ic->programs[i]; + } + } + return NULL; +} + /** * Matches a stream specifier (but ignores requested index). * -- cgit v1.2.3