Fix compile error on mingw where ETIMEDOUT is missing (because it's a WSA error).
authorRonald S. Bultje <rsbultje@gmail.com>
Thu, 15 Apr 2010 18:27:27 +0000 (18:27 +0000)
committerRonald S. Bultje <rsbultje@gmail.com>
Thu, 15 Apr 2010 18:27:27 +0000 (18:27 +0000)
This patch also changes FF_NETERROR() to be an AVERROR(), i.e. it is always
negative, whereas it was previously positive.

Originally committed as revision 22887 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/network.h
libavformat/rtsp.c

index 53bb9c0..0fbcbbb 100644 (file)
@@ -27,8 +27,8 @@
 #include <winsock2.h>
 #include <ws2tcpip.h>
 
-#define ff_neterrno() WSAGetLastError()
-#define FF_NETERROR(err) WSA##err
+#define ff_neterrno() (-WSAGetLastError())
+#define FF_NETERROR(err) (-WSA##err)
 #define WSAEAGAIN WSAEWOULDBLOCK
 #else
 #include <sys/types.h>
@@ -36,8 +36,8 @@
 #include <netinet/in.h>
 #include <netdb.h>
 
-#define ff_neterrno() errno
-#define FF_NETERROR(err) err
+#define ff_neterrno() AVERROR(errno)
+#define FF_NETERROR(err) AVERROR(err)
 #endif
 
 #if HAVE_ARPA_INET_H
index 643e4d5..16397e4 100644 (file)
@@ -1692,7 +1692,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
             }
 #endif
         } else if (n == 0 && ++timeout_cnt >= MAX_TIMEOUTS) {
-            return AVERROR(ETIMEDOUT);
+            return FF_NETERROR(ETIMEDOUT);
         } else if (n < 0 && errno != EINTR)
             return AVERROR(errno);
     }