]> granicus.if.org Git - rtmpdump/commitdiff
XBOX compatibility patches (Mostly same as WIN32)
authorhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Sat, 1 May 2010 11:00:04 +0000 (11:00 +0000)
committerhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Sat, 1 May 2010 11:00:04 +0000 (11:00 +0000)
git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@464 400ebc74-4327-4243-bc38-086b20814532

librtmp/amf.c
librtmp/amf.h
librtmp/bytes.h
librtmp/hashswf.c
librtmp/log.c
librtmp/log.h
librtmp/rtmp.c
librtmp/rtmp.h
librtmp/rtmp_sys.h

index 4078078b33ed62f8c5b4d8dac83e8d40f4912ba1..911bb134443ad1f1b2d87f68beee5d1fc96c92b2 100644 (file)
@@ -26,6 +26,7 @@
 #include <assert.h>
 #include <stdlib.h>
 
+#include "rtmp_sys.h"
 #include "amf.h"
 #include "log.h"
 #include "bytes.h"
index a03774f450ad34648025df49b29f011ba83b1172..18dcf705ac376a390878d852631dd23013c64b88 100644 (file)
  */
 
 #include <stdint.h>
+
+#ifdef _XBOX
+
+#ifndef __cplusplus
+#define bool _Bool
+typedef unsigned char _Bool;
+#define false 0
+#define true  1
+#endif
+
+#else
 #include <stdbool.h>
+#endif
 
 #ifdef __cplusplus
 extern "C"
index 3419b67e4746101d08dbe785173beb31e9841e9a..62b9226eb62da75046522fab89f6e485af94aad9 100644 (file)
@@ -27,7 +27,7 @@
 
 #include <stdint.h>
 
-#ifdef WIN32
+#if defined(WIN32) || defined(_XBOX)
 /* Windows is little endian only */
 #define __LITTLE_ENDIAN 1234
 #define __BIG_ENDIAN    4321
index f72b68720a485fcd88866ba719afb85ea2502087..b32442d293b648dff4dcfd10977e9d4b2195fa0b 100644 (file)
@@ -136,7 +136,7 @@ HTTP_get(struct HTTP_ctx *http, const char *url, HTTP_read_callback *cb)
     }
   sa.sin_port = htons(port);
   sb.sb_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
-  if (sb.sb_socket < 0)
+  if (sb.sb_socket == -1)
     return HTTPRES_LOST_CONNECTION;
   i =
     sprintf(sb.sb_buf,
@@ -464,12 +464,19 @@ RTMP_HashSWF(const char *url, unsigned int *size, unsigned char *hash,
   AVal home, hpre;
 
   date[0] = '\0';
-#ifdef WIN32
+#if defined(WIN32) || defined(_XBOX)
+#ifdef _XBOX
+  hpre.av_val = "Q:";
+  hpre.av_len = 2;
+  home.av_val = "\\UserData\\cache";
+#else
   hpre.av_val = getenv("HOMEDRIVE");
   hpre.av_len = strlen(hpre.av_val);
   home.av_val = getenv("HOMEPATH");
+#endif
 #define DIRSEP "\\"
-#else
+
+#else /* !WIN32 */
   hpre.av_val = "";
   hpre.av_len = 0;
   home.av_val = getenv("HOME");
index a827841916a18e6e078fa280c781ca70c5d835dd..5e1c8711b381e513940c634e59260dd36c91ff3e 100644 (file)
@@ -26,6 +26,7 @@
 #include <assert.h>
 #include <ctype.h>
 
+#include "rtmp_sys.h"
 #include "log.h"
 
 #define MAX_PRINT_LEN  2048
index 26784ed27190fd5bd746af9a7334a655597432c2..ebc1605f04af9174934c52fcdbd2d229f9f1351d 100644 (file)
@@ -58,4 +58,5 @@ RTMP_LogLevel RTMP_LogGetLevel(void);
 #ifdef __cplusplus
 }
 #endif
+
 #endif
index f91e60c511d0383188eac6047441f6c6810a0453..2958754d952aa7e46c3a5882465cb9f7fa9442c7 100644 (file)
@@ -807,7 +807,7 @@ RTMP_Connect0(RTMP *r, struct sockaddr * service)
       }
   }
 
-  setsockopt(r->m_sb.sb_socket, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on));
+  setsockopt(r->m_sb.sb_socket, IPPROTO_TCP, TCP_NODELAY, (char *) &on, sizeof(on));
 
   return true;
 }
@@ -3524,7 +3524,7 @@ HTTP_read(RTMP *r, int fill)
  * packets, 0 if ignorable error, >0 if there is a media packet
  */
 static int
-Read_1_Packet(RTMP *r, char *buf, int buflen)
+Read_1_Packet(RTMP *r, char *buf, unsigned int buflen)
 {
   uint32_t prevTagSize = 0;
   int rtnGetNextMediaPacket = 0, ret = RTMP_READ_EOF;
index 4eab3e3a08b7800cbe7ae79d313ddefad94cb216..5ec8916b219b677c7ba089854bfc07004dd69bfc 100644 (file)
@@ -24,7 +24,7 @@
  *  http://www.gnu.org/copyleft/lgpl.html
  */
 
-#ifndef NO_CRYPTO
+#if !defined(NO_CRYPTO) && !defined(CRYPTO)
 #define CRYPTO
 #endif
 
index a7ab97f24291bf949383ad0b7a22153d20864567..2ba144997be53ebb3fde32dff1ae1a0f5f744ac0 100644 (file)
  *  http://www.gnu.org/copyleft/lgpl.html
  */
 
-#ifdef WIN32
+#if defined(WIN32) || defined(_XBOX)
+
+#ifdef _XBOX
+#include <xtl.h>
+#include <winsockx.h>
+#define snprintf _snprintf
+#define strcasecmp stricmp
+#define strncasecmp strnicmp
+#define vsnprintf _vsnprintf
+
+#else /* !_XBOX */
 #include <winsock2.h>
 #include <ws2tcpip.h>
+#endif
+
 #define GetSockError() WSAGetLastError()
 #define setsockopt(a,b,c,d,e)  (setsockopt)(a,b,c,(const char *)d,(int)e)
 #define EWOULDBLOCK    WSAETIMEDOUT    /* we don't use nonblocking, but we do use timeouts */
 #define sleep(n)       Sleep(n*1000)
 #define msleep(n)      Sleep(n)
 #define SET_RCVTIMEO(tv,s)     int tv = s*1000
-#else
+#else /* !WIN32 && !_XBOX */
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/times.h>