[rtmpdump] r162 - in trunk: hashswf.c rtmp.c rtmp.h

hyc subversion at mplayerhq.hu
Fri Jan 1 21:48:50 CET 2010


Author: hyc
Date: Fri Jan  1 21:48:49 2010
New Revision: 162

Log:
Fix SO_RCVTIMEO for WIN32

Modified:
   trunk/hashswf.c
   trunk/rtmp.c
   trunk/rtmp.h

Modified: trunk/hashswf.c
==============================================================================
--- trunk/hashswf.c	Thu Dec 31 20:45:09 2009	(r161)
+++ trunk/hashswf.c	Fri Jan  1 21:48:49 2010	(r162)
@@ -154,9 +154,7 @@ http_get(const char *url, struct info *i
   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)))
     {

Modified: trunk/rtmp.c
==============================================================================
--- trunk/rtmp.c	Thu Dec 31 20:45:09 2009	(r161)
+++ trunk/rtmp.c	Fri Jan  1 21:48:49 2010	(r162)
@@ -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

Modified: trunk/rtmp.h
==============================================================================
--- trunk/rtmp.h	Thu Dec 31 20:45:09 2009	(r161)
+++ trunk/rtmp.h	Fri Jan  1 21:48:49 2010	(r162)
@@ -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>


More information about the rtmpdump mailing list