summaryrefslogtreecommitdiff
path: root/libavformat/avformat.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/avformat.c')
-rw-r--r--libavformat/avformat.c15
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).
*