]> granicus.if.org Git - rtmpdump/commitdiff
Fix SO_RCVTIMEO for WIN32
authorhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Fri, 1 Jan 2010 20:48:49 +0000 (20:48 +0000)
committerhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Fri, 1 Jan 2010 20:48:49 +0000 (20:48 +0000)
git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@162 400ebc74-4327-4243-bc38-086b20814532

hashswf.c
rtmp.c
rtmp.h

index ead18be20ccf1c702280af24a2928fe4c7d7f6b4..fa3d245268f58ef21c53538e873589caaabc69a8 100644 (file)
--- a/hashswf.c
+++ b/hashswf.c
@@ -154,9 +154,7 @@ http_get(const char *url, struct info *in)
   send(sb.sb_socket, sb.sb_buf, i, 0);
 
   // set timeout
-  struct timeval tv;
-  memset(&tv, 0, sizeof(tv));
-  tv.tv_sec = 5;
+  SET_RCVTIMEO(tv, 5);
   if (setsockopt
     (sb.sb_socket, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(tv)))
     {
diff --git a/rtmp.c b/rtmp.c
index 396ed32df43f434bb20c07d8292aae0b7a74e0cb..f21f986817ce0b44976fd933b3698ef7eb899ea2 100644 (file)
--- a/rtmp.c
+++ b/rtmp.c
@@ -398,14 +398,12 @@ RTMP_Connect(RTMP * r)
          return false;
        }
       // set timeout
-      struct timeval tv;
-      memset(&tv, 0, sizeof(tv));
-      tv.tv_sec = r->Link.timeout;
+      SET_RCVTIMEO(tv, r->Link.timeout);
       if (setsockopt
          (r->m_socket, SOL_SOCKET, SO_RCVTIMEO, (char *) &tv, sizeof(tv)))
        {
          Log(LOGERROR, "%s, Setting socket timeout to %ds failed!",
-             __FUNCTION__, tv.tv_sec);
+             __FUNCTION__, r->Link.timeout);
        }
     }
   else
diff --git a/rtmp.h b/rtmp.h
index c7aa2dc3b65114525b3a3bebb0976e610ca9ac21..24e737b0f43dc96a701906a7124f25ed369be29f 100644 (file)
--- a/rtmp.h
+++ b/rtmp.h
@@ -31,6 +31,7 @@
 #define sleep(n)       Sleep(n*1000)
 #define msleep(n)      Sleep(n)
 #define socklen_t      int
+#define SET_RCVTIMEO(tv,s)     int tv = s*1000
 #else
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -43,6 +44,7 @@
 #define GetSockError() errno
 #define closesocket(s) close(s)
 #define msleep(n)      usleep(n*1000)
+#define SET_RCVTIMEO(tv,s)     struct timeval tv; tv.tv_sec = s; tv.tv_usec = 0
 #endif
 
 #include <errno.h>