diff --git a/libavformat/network.c b/libavformat/network.c
index d5c82e9ab9ba83645c97a13d4bc2857dea1b0775..21c836a0aa06ac9b97fad604207ff3ddee73cc2c 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -346,3 +346,10 @@ int ff_http_match_no_proxy(const char *no_proxy, const char *hostname)
     av_free(buf);
     return ret;
 }
+
+void ff_log_net_error(void *ctx, int level, const char* prefix)
+{
+    char errbuf[100];
+    av_strerror(ff_neterrno(), errbuf, sizeof(errbuf));
+    av_log(ctx, level, "%s: %s\n", prefix, errbuf);
+}
diff --git a/libavformat/network.h b/libavformat/network.h
index efaa7893a40e3efa1ef2a97ee1c86e178587f120..7843b908a18ed09523f2cb3a1541bb37f13da695 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -304,4 +304,6 @@ int ff_http_match_no_proxy(const char *no_proxy, const char *hostname);
 
 int ff_socket(int domain, int type, int protocol);
 
+void ff_log_net_error(void *ctx, int level, const char* prefix);
+
 #endif /* AVFORMAT_NETWORK_H */