r464 - in trunk/librtmp: amf.c amf.h bytes.h hashswf.c log.c log.h rtmp.c rtmp.h rtmp_sys.h
Author: hyc Date: Sat May 1 13:00:04 2010 New Revision: 464 Log: XBOX compatibility patches (Mostly same as WIN32) Modified: trunk/librtmp/amf.c trunk/librtmp/amf.h trunk/librtmp/bytes.h trunk/librtmp/hashswf.c trunk/librtmp/log.c trunk/librtmp/log.h trunk/librtmp/rtmp.c trunk/librtmp/rtmp.h trunk/librtmp/rtmp_sys.h Modified: trunk/librtmp/amf.c ============================================================================== --- trunk/librtmp/amf.c Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/amf.c Sat May 1 13:00:04 2010 (r464) @@ -26,6 +26,7 @@ #include <assert.h> #include <stdlib.h> +#include "rtmp_sys.h" #include "amf.h" #include "log.h" #include "bytes.h" Modified: trunk/librtmp/amf.h ============================================================================== --- trunk/librtmp/amf.h Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/amf.h Sat May 1 13:00:04 2010 (r464) @@ -25,7 +25,19 @@ */ #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" Modified: trunk/librtmp/bytes.h ============================================================================== --- trunk/librtmp/bytes.h Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/bytes.h Sat May 1 13:00:04 2010 (r464) @@ -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 Modified: trunk/librtmp/hashswf.c ============================================================================== --- trunk/librtmp/hashswf.c Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/hashswf.c Sat May 1 13:00:04 2010 (r464) @@ -136,7 +136,7 @@ HTTP_get(struct HTTP_ctx *http, const ch } 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 i 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"); Modified: trunk/librtmp/log.c ============================================================================== --- trunk/librtmp/log.c Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/log.c Sat May 1 13:00:04 2010 (r464) @@ -26,6 +26,7 @@ #include <assert.h> #include <ctype.h> +#include "rtmp_sys.h" #include "log.h" #define MAX_PRINT_LEN 2048 Modified: trunk/librtmp/log.h ============================================================================== --- trunk/librtmp/log.h Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/log.h Sat May 1 13:00:04 2010 (r464) @@ -58,4 +58,5 @@ RTMP_LogLevel RTMP_LogGetLevel(void); #ifdef __cplusplus } #endif + #endif Modified: trunk/librtmp/rtmp.c ============================================================================== --- trunk/librtmp/rtmp.c Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/rtmp.c Sat May 1 13:00:04 2010 (r464) @@ -807,7 +807,7 @@ RTMP_Connect0(RTMP *r, struct sockaddr * } } - 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; Modified: trunk/librtmp/rtmp.h ============================================================================== --- trunk/librtmp/rtmp.h Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/rtmp.h Sat May 1 13:00:04 2010 (r464) @@ -24,7 +24,7 @@ * http://www.gnu.org/copyleft/lgpl.html */ -#ifndef NO_CRYPTO +#if !defined(NO_CRYPTO) && !defined(CRYPTO) #define CRYPTO #endif Modified: trunk/librtmp/rtmp_sys.h ============================================================================== --- trunk/librtmp/rtmp_sys.h Fri Apr 30 06:36:29 2010 (r463) +++ trunk/librtmp/rtmp_sys.h Sat May 1 13:00:04 2010 (r464) @@ -21,16 +21,28 @@ * 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>
participants (1)
-
hyc