diff options
Diffstat (limited to 'libavformat/protocols.c')
-rw-r--r-- | libavformat/protocols.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavformat/protocols.c b/libavformat/protocols.c index c1e9989a0a..45b2a90251 100644 --- a/libavformat/protocols.c +++ b/libavformat/protocols.c @@ -163,6 +163,26 @@ const URLProtocol *ff_url_protocols[] = { NULL, }; +const AVClass *ff_urlcontext_child_class_next(const AVClass *prev) +{ + int i; + + /* find the protocol that corresponds to prev */ + for (i = 0; ff_url_protocols[i]; i++) { + if (ff_url_protocols[i]->priv_data_class == prev) { + i++; + break; + } + } + + /* find next protocol with priv options */ + for (; ff_url_protocols[i]; i++) + if (ff_url_protocols[i]->priv_data_class) + return ff_url_protocols[i]->priv_data_class; + return NULL; +} + + const char *avio_enum_protocols(void **opaque, int output) { const URLProtocol **p = *opaque; |