summaryrefslogtreecommitdiff
path: root/libavformat/avio.c
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-02-29 18:07:41 +0000
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-02-29 18:08:15 +0000
commitbb8cc89b2986df6f60831b67cd250da312cce1d0 (patch)
tree6678d45fc1451bc18bbc92de58bcf1f5308ac4c7 /libavformat/avio.c
parent95cdc0a5c658a3f4301a66bcb1d96d11dc941151 (diff)
parent832a202c47a246ed15e3edc6b05dfcfa7d82c4b2 (diff)
Merge commit '832a202c47a246ed15e3edc6b05dfcfa7d82c4b2'
* commit '832a202c47a246ed15e3edc6b05dfcfa7d82c4b2': protocols: make the list of protocols static Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'libavformat/avio.c')
-rw-r--r--libavformat/avio.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c
index 4a29827935..69b6eaac83 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -239,6 +239,7 @@ int ffurl_handshake(URLContext *c)
static const struct URLProtocol *url_find_protocol(const char *filename)
{
const URLProtocol *up;
+ const URLProtocol **protocols;
char proto_str[128], proto_nested[128], *ptr;
size_t proto_len = strspn(filename, URL_SCHEME_CHARS);
int i;
@@ -257,14 +258,16 @@ static const struct URLProtocol *url_find_protocol(const char *filename)
if ((ptr = strchr(proto_nested, '+')))
*ptr = '\0';
- for (i = 0; ff_url_protocols[i]; i++) {
- up = ff_url_protocols[i];
+ protocols = ffurl_get_protocols(NULL, NULL);
+ for (i = 0; protocols[i]; i++) {
+ up = protocols[i];
if (!strcmp(proto_str, up->name))
break;
if (up->flags & URL_PROTOCOL_FLAG_NESTED_SCHEME &&
!strcmp(proto_nested, up->name))
break;
}
+ av_freep(&protocols);
return up;
}