[2/2] avformat: Warn about using network functions without calling avformat_network_init

Message ID 1320667816-38134-2-git-send-email-martin@martin.st
State Committed
Commit ce145690b6a53dd9d5134c6d4a5c6d401bc69514
Headers show

Commit Message

Martin Storsjö Nov. 7, 2011, 12:10 p.m.
This is to make developers aware of the fact that they will
start using the new init function at some point.
---
 libavformat/network.c |    7 +++++++
 libavformat/network.h |    1 +
 libavformat/utils.c   |    1 +
 3 files changed, 9 insertions(+), 0 deletions(-)

Patch

diff --git a/libavformat/network.c b/libavformat/network.c
index d84dcaf..f8403ae 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -119,8 +119,15 @@  void ff_tls_deinit(void)
     avpriv_unlock_avformat();
 }
 
+int ff_network_inited_globally;
+
 int ff_network_init(void)
 {
+    if (!ff_network_inited_globally)
+        av_log(NULL, AV_LOG_WARNING, "Using network protocols without global "
+                                     "network initialization. Please use "
+                                     "avformat_network_init(), this will "
+                                     "become mandatory later.\n");
 #if HAVE_WINSOCK2_H
     WSADATA wsaData;
     if (WSAStartup(MAKEWORD(1,1), &wsaData))
diff --git a/libavformat/network.h b/libavformat/network.h
index df79f45..72d01d2 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -56,6 +56,7 @@  int ff_neterrno(void);
 
 int ff_socket_nonblock(int socket, int enable);
 
+extern int ff_network_inited_globally;
 int ff_network_init(void);
 void ff_network_close(void);
 
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 8d0ae05..cb472c9 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3967,6 +3967,7 @@  int avformat_query_codec(AVOutputFormat *ofmt, enum CodecID codec_id, int std_co
 int avformat_network_init(void)
 {
 #if CONFIG_NETWORK
+    ff_network_inited_globally = 1;
     int ret;
     if ((ret = ff_network_init()) < 0)
         return ret;