From: hyc Date: Thu, 17 Dec 2009 03:29:36 +0000 (+0000) Subject: Win32 thread support X-Git-Tag: v2.4~400 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=09246404944aa78568f997a9b0c93b2ac151c35b;p=rtmpdump Win32 thread support git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@86 400ebc74-4327-4243-bc38-086b20814532 --- diff --git a/streams.c b/streams.c index 4a58536..c6ee066 100644 --- a/streams.c +++ b/streams.c @@ -25,13 +25,18 @@ #include #include -#include #include #include "rtmp.h" #include "parseurl.h" +#ifdef WIN32 +#include +#else +#include +#endif + #define RTMPDUMP_STREAMS_VERSION "v2.0" #define RD_SUCCESS 0 @@ -40,23 +45,19 @@ #define PACKET_SIZE 1024*1024 -/* -inline void InitSockets() { -#ifdef WIN32 - WORD version; - WSADATA wsaData; - - version = MAKEWORD(1,1); - WSAStartup(version, &wsaData); -#endif -} - -inline void CleanupSockets() { #ifdef WIN32 - WSACleanup(); +#define InitSockets() {\ + WORD version; \ + WSADATA wsaData; \ + \ + version = MAKEWORD(1,1); \ + WSAStartup(version, &wsaData); } + +#define CleanupSockets() WSACleanup() +#else +#define InitSockets() +#define CleanupSockets() #endif -} -*/ enum { @@ -373,6 +374,19 @@ WriteStream(RTMP * rtmp, char **buf, // target pointer, maybe preallocated return ret; // no more media packets } +#ifdef WIN32 +HANDLE +ThreadCreate(void *(*routine) (void *), void *args) +{ + HANDLE thd; + + thd = (HANDLE) _beginthread(routine, 0, args); + if (thd == -1L) + LogPrintf("%s, _beginthread failed with %d\n", __FUNCTION__, errno); + + return thd; +} +#else pthread_t ThreadCreate(void *(*routine) (void *), void *args) { @@ -391,6 +405,7 @@ ThreadCreate(void *(*routine) (void *), void *args) return id; } +#endif void * controlServerThread(void *unused) @@ -1212,7 +1227,7 @@ main(int argc, char **argv) netstackdump_read = fopen("netstackdump_read", "wb"); #endif - //InitSockets(); + InitSockets(); // start text UI ThreadCreate(controlServerThread, 0); @@ -1233,7 +1248,7 @@ main(int argc, char **argv) } Log(LOGDEBUG, "Done, exiting..."); - //CleanupSockets(); + CleanupSockets(); #ifdef _DEBUG if (netstackdump != 0)