summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2011-12-30 11:43:10 +0200
committerMartin Storsjö <martin@martin.st>2012-01-05 23:56:56 +0200
commitacb074301c8612dfd5f135a0513bbe93a2dc51d1 (patch)
tree6b57d264caa7020dd9238dd259b13b54c26ac3a1
parent32b83aeec1a129d6eef2e89c7f107c614dfb4574 (diff)
avio: Only do implicit network initialization for network protocols
The implicit network initialization is set to be removed in the future, but is kept for compatibility. By not doing the implicit initialization for non-network protocols, we avoid the warning about avformat_network_init() not being called for these, where it really doesn't make much sense. Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/avio.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavformat/avio.c b/libavformat/avio.c
index 4750a9d544..ee4dfb6c8c 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -129,7 +129,7 @@ static int url_alloc_for_protocol (URLContext **puc, struct URLProtocol *up,
int err;
#if CONFIG_NETWORK
- if (!ff_network_init())
+ if (up->flags & URL_PROTOCOL_FLAG_NETWORK && !ff_network_init())
return AVERROR(EIO);
#endif
uc = av_mallocz(sizeof(URLContext) + strlen(filename) + 1);
@@ -159,7 +159,8 @@ static int url_alloc_for_protocol (URLContext **puc, struct URLProtocol *up,
fail:
*puc = NULL;
#if CONFIG_NETWORK
- ff_network_close();
+ if (up->flags & URL_PROTOCOL_FLAG_NETWORK)
+ ff_network_close();
#endif
return err;
}
@@ -380,7 +381,8 @@ int ffurl_close(URLContext *h)
if (h->is_connected && h->prot->url_close)
ret = h->prot->url_close(h);
#if CONFIG_NETWORK
- ff_network_close();
+ if (h->prot->flags & URL_PROTOCOL_FLAG_NETWORK)
+ ff_network_close();
#endif
if (h->prot->priv_data_size) {
if (h->prot->priv_data_class)