summaryrefslogtreecommitdiff
path: root/libavformat/avio.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-04-04 08:18:54 +0200
committerAnton Khirnov <anton@khirnov.net>2011-04-08 17:48:44 +0200
commitf8270bbf8ce891cc614a5562c02ce18a50a89f1d (patch)
treed3e1e18d889e8b7cd931233b535aebd19d782eab /libavformat/avio.c
parentc234d40bd9c98fc8c5540135cd5055c12e603a0f (diff)
avio: add a function for iterating though protocol names.
Diffstat (limited to 'libavformat/avio.c')
-rw-r--r--libavformat/avio.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c
index e043058974..ab7a7f51ec 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -57,6 +57,16 @@ URLProtocol *av_protocol_next(URLProtocol *p)
else return first_protocol;
}
+const char *avio_enum_protocols(void **opaque, int output)
+{
+ URLProtocol **p = opaque;
+ *p = *p ? (*p)->next : first_protocol;
+ if (!*p) return NULL;
+ if ((output && (*p)->url_write) || (!output && (*p)->url_read))
+ return (*p)->name;
+ return avio_enum_protocols(opaque, output);
+}
+
int ffurl_register_protocol(URLProtocol *protocol, int size)
{
URLProtocol **p;