From 7d61dc95d741ca134d59b1f34c4e10c4c4e36f56 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 19 Feb 2016 10:59:46 +0100 Subject: lavf: move urlcontext_child_class_next() to protocols.c It needs to access the list of protocols directly, so it more properly belongs there. --- libavformat/protocols.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'libavformat/protocols.c') 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; -- cgit v1.2.3