diff options
author | Martin Storsjö <[email protected]> | 2011-12-30 11:43:10 +0200 |
---|---|---|
committer | Martin Storsjö <[email protected]> | 2012-01-05 23:56:56 +0200 |
commit | acb074301c8612dfd5f135a0513bbe93a2dc51d1 (patch) | |
tree | 6b57d264caa7020dd9238dd259b13b54c26ac3a1 | |
parent | 32b83aeec1a129d6eef2e89c7f107c614dfb4574 (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ö <[email protected]>
-rw-r--r-- | libavformat/avio.c | 8 |
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) |