diff --git a/libavformat/network.c b/libavformat/network.c index 432084faa4..c2f7a9b0de 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -164,6 +164,14 @@ int ff_neterrno(void) return AVERROR(EAGAIN); case WSAEINTR: return AVERROR(EINTR); + case WSAEPROTONOSUPPORT: + return AVERROR(EPROTONOSUPPORT); + case WSAETIMEDOUT: + return AVERROR(ETIMEDOUT); + case WSAECONNREFUSED: + return AVERROR(ECONNREFUSED); + case WSAEINPROGRESS: + return AVERROR(EINPROGRESS); } return -err; } diff --git a/libavformat/network.h b/libavformat/network.h index 3e4422e4c2..793cfee9a9 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -35,10 +35,19 @@ #include #include +#ifndef EPROTONOSUPPORT #define EPROTONOSUPPORT WSAEPROTONOSUPPORT +#endif +#ifndef ETIMEDOUT #define ETIMEDOUT WSAETIMEDOUT +#endif +#ifndef ECONNREFUSED #define ECONNREFUSED WSAECONNREFUSED +#endif +#ifndef EINPROGRESS #define EINPROGRESS WSAEINPROGRESS +#endif + #define getsockopt(a, b, c, d, e) getsockopt(a, b, c, (char*) d, e) #define setsockopt(a, b, c, d, e) setsockopt(a, b, c, (const char*) d, e)