diff options
Diffstat (limited to 'libavformat/avformat.c')
-rw-r--r-- | libavformat/avformat.c | 15 |
1 files changed, 15 insertions, 0 deletions
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). * |