diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Buildit DarwinStreamingSrvr6.0.3-Source-Solaris/Buildit
--- DarwinStreamingSrvr6.0.3-Source-Orig/Buildit	Wed Mar 26 01:42:48 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Buildit	Wed May 28 10:20:03 2008
@@ -1,6 +1,7 @@
 #!/bin/sh
  
-VERSION=`grep kVersion revision.h | grep -o [:0123456789:].*[:0123456789:]`
+VERSION=`grep '^#define kVersion' revision.h | awk -F\" '{print $2}'`
+
 ##Build script for Darwin Streaming Server
 if [ `uname` = "Darwin" ] ; then
     PLATFORM=dss

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Makefile.POSIX DarwinStreamingSrvr6.0.3-Source-Solaris/Makefile.POSIX
--- DarwinStreamingSrvr6.0.3-Source-Orig/Makefile.POSIX	Fri Nov 16 06:17:59 2007
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Makefile.POSIX	Sat May 24 07:19:34 2008
@@ -42,7 +42,6 @@
 CCFLAGS += -IRTPMetaInfoLib
 CCFLAGS += -IPrefsSourceLib
 CCFLAGS += -IServer.tproj
-
 # EACH DIRECTORY WITH A STATIC LIBRARY MUST BE APPENDED IN THIS MANNER TO THE LINKOPTS
 
 LINKOPTS = -LCommonUtilitiesLib
@@ -52,38 +51,42 @@
 
 CFILES = CommonUtilitiesLib/daemon.c
 
-CPPFILES = 	Server.tproj/QTSSExpirationDate.cpp\
+CPPFILES =              Server.tproj/GenerateXMLPrefs.cpp \
+			Server.tproj/main.cpp \
 			Server.tproj/QTSSCallbacks.cpp \
-			Server.tproj/QTSSDictionary.cpp\
 			Server.tproj/QTSSDataConverter.cpp \
+			Server.tproj/QTSSDictionary.cpp \
 			Server.tproj/QTSSErrorLogModule.cpp \
-			Server.tproj/QTSSMessages.cpp\
+			Server.tproj/QTSServer.cpp \
+			Server.tproj/QTSServerInterface.cpp \
+			Server.tproj/QTSServerPrefs.cpp \
+			Server.tproj/QTSSExpirationDate.cpp \
+			Server.tproj/QTSSFile.cpp \
+			Server.tproj/QTSSMessages.cpp \
 			Server.tproj/QTSSModule.cpp \
-			Server.tproj/QTSServerPrefs.cpp\
-			Server.tproj/QTSSSocket.cpp\
-			Server.tproj/QTSSFile.cpp\
 			Server.tproj/QTSSPrefs.cpp \
-			Server.tproj/QTSServer.cpp\
-			Server.tproj/QTSServerInterface.cpp \
-			Server.tproj/RTCPTask.cpp\
-			Server.tproj/RTPSession.cpp \
-			Server.tproj/RTPPacketResender.cpp \
+			Server.tproj/QTSSSocket.cpp \
+			Server.tproj/QTSSUserProfile.cpp \
+			Server.tproj/RTCPTask.cpp \
 			Server.tproj/RTPBandwidthTracker.cpp \
 			Server.tproj/RTPOverbufferWindow.cpp \
-			Server.tproj/RTPSessionInterface.cpp\
+			Server.tproj/RTPPacketResender.cpp \
+			Server.tproj/RTPSession3GPP.cpp \
+			Server.tproj/RTPSession.cpp \
+			Server.tproj/RTPSessionInterface.cpp \
+			Server.tproj/RTPStream3gpp.cpp \
 			Server.tproj/RTPStream.cpp \
-			Server.tproj/RTSPProtocol.cpp\
+			Server.tproj/RTSPProtocol.cpp \
+			Server.tproj/RTSPRequest3GPP.cpp \
 			Server.tproj/RTSPRequest.cpp \
-			Server.tproj/RTSPRequestInterface.cpp\
+			Server.tproj/RTSPRequestInterface.cpp \
 			Server.tproj/RTSPRequestStream.cpp \
-			Server.tproj/RTSPResponseStream.cpp\
+			Server.tproj/RTSPResponseStream.cpp \
+			Server.tproj/RTSPSession3GPP.cpp \
 			Server.tproj/RTSPSession.cpp \
-			Server.tproj/RTSPSessionInterface.cpp\
-			Server.tproj/main.cpp \
+			Server.tproj/RTSPSessionInterface.cpp \
 			Server.tproj/RunServer.cpp \
-			Server.tproj/GenerateXMLPrefs.cpp \
-			Server.tproj/QTSSUserProfile.cpp\
-			PrefsSourceLib/FilePrefsSource.cpp\
+			PrefsSourceLib/FilePrefsSource.cpp \
 			PrefsSourceLib/XMLPrefsParser.cpp \
 			PrefsSourceLib/XMLParser.cpp \
 			OSMemoryLib/OSMemory.cpp \
@@ -91,11 +94,13 @@
 			RTSPClientLib/ClientSocket.cpp \
 			HTTPUtilitiesLib/HTTPProtocol.cpp \
 			HTTPUtilitiesLib/HTTPRequest.cpp \
-			RTCPUtilitiesLib/RTCPAPPPacket.cpp\
+			RTCPUtilitiesLib/RTCPAckPacket.cpp \
+			RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp \
+			RTCPUtilitiesLib/RTCPAPPPacket.cpp \
+			RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp \
 			RTCPUtilitiesLib/RTCPPacket.cpp \
-			RTCPUtilitiesLib/RTCPSRPacket.cpp\
-			RTCPUtilitiesLib/RTCPAckPacket.cpp\
-			RTPMetaInfoLib/RTPMetaInfoPacket.cpp\
+			RTCPUtilitiesLib/RTCPSRPacket.cpp \
+			RTPMetaInfoLib/RTPMetaInfoPacket.cpp \
 			APIStubLib/QTSS_Private.cpp \
 			APICommonCode/QTSSModuleUtils.cpp\
 			APICommonCode/QTSSRollingLog.cpp \
@@ -102,6 +107,7 @@
 			APICommonCode/SDPSourceInfo.cpp \
 			APICommonCode/SourceInfo.cpp \
 			APICommonCode/QTAccessFile.cpp \
+			APICommonCode/QTSS3GPPModuleUtils.cpp \
 			SafeStdLib/InternalStdLib.cpp \
 			APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp \
 			APIModules/QTSSFileModule/QTSSFileModule.cpp \
@@ -129,7 +135,7 @@
 			APIModules/QTSSAccessModule/QTSSAccessModule.cpp \
 			APIModules/QTSSHttpFileModule/QTSSHttpFileModule.cpp \
 			APIModules/QTSSAccessModule/AccessChecker.cpp
-			
+
 # CCFLAGS += $(foreach dir,$(HDRS),-I$(dir))
 
 LIBFILES = 	QTFileLib/libQTFileLib.a \

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/PlatformHeader.h DarwinStreamingSrvr6.0.3-Source-Solaris/PlatformHeader.h
--- DarwinStreamingSrvr6.0.3-Source-Orig/PlatformHeader.h	Tue May  6 01:29:00 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/PlatformHeader.h	Wed May 28 10:22:26 2008
@@ -172,6 +172,12 @@
 #ifdef _M_ALPHA
    #define BIGENDIAN 0
 #endif
+#ifdef __i386
+    #define BIGENDIAN 0
+#endif
+#ifdef __amd64
+    #define BIGENDIAN 0
+#endif 
 #ifndef BIGENDIAN
   #error NEED BIGENDIAN DEFINITION 0 OR 1 FOR PLATFORM
 #endif
@@ -187,6 +193,8 @@
 #define kPlatformNameString     "Solaris"
 #define EXPORT
 #define _REENTRANT 1
+#define kUInt32_Max (UInt32) ULONG_MAX
+#define kSInt32_Max (SInt32) LONG_MAX
 
 #elif __sgi__ 
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/APICommonCode/QTAccessFile.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/APICommonCode/QTAccessFile.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/APICommonCode/QTAccessFile.cpp	Tue May  6 01:28:57 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/APICommonCode/QTAccessFile.cpp	Sat May 24 03:23:13 2008
@@ -46,7 +46,9 @@
 
 
 #include <grp.h>
+#ifdef __MacOSX__
 #include <membership.h>
+#endif
 #include <pwd.h>
 #include <signal.h>
 #include <unistd.h>
@@ -613,6 +615,7 @@
 
 bool DSAccessFile::CheckGroupMembership(const char* inUsername, const char* inGroupName)
 {   
+#ifdef __MacOSX__
 	// In Tiger, group membership is painfully simple: we ask memberd for it!
 	struct passwd	*user		= NULL;
 	struct group	*group		= NULL;
@@ -641,6 +644,9 @@
 	if ( mbr_check_membership(userID, groupID, &isMember) )
 		return false;
 	return (bool)isMember;
+#else
+	return true;
+#endif
 }
 
 Bool16 DSAccessFile::ValidUser( char*userName, void* extraDataPtr)

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/CommonUtilitiesLib/OS.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OS.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/CommonUtilitiesLib/OS.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OS.cpp	Wed May 28 10:27:16 2008
@@ -69,10 +69,14 @@
     #include <sys/sysctl.h>
 #endif
 
-#if (__solaris__ || __linux__ || __linuxppc__)
+#if (__linux__ || __linuxppc__)
     #include "StringParser.h"
 #endif
 
+#if (__solaris__)
+       #include <unistd.h>
+#endif
+
 #if __sgi__
 	#include <sys/systeminfo.h>
 #endif
@@ -225,7 +229,11 @@
     if (tmptr == NULL)
         return 0;
         
+   #if __MacOSX__
      return tmptr->tm_gmtoff / 3600;//convert seconds to  hours before or after GMT
+   #else
+     return 0;
+   #endif
 #endif
 }
 
@@ -406,39 +414,12 @@
 
 #if(__solaris__)
 {
-    UInt32 numCPUs = 0;
-    char linebuff[512] = "";
-    StrPtrLen line(linebuff, sizeof(linebuff));
-    StrPtrLen word;
-
-    FILE *p = ::popen("uname -X","r");
-    while((::fgets(linebuff, sizeof(linebuff -1), p)) > 0)
-    {
-        StringParser lineParser(&line);
-        lineParser.ConsumeWhitespace(); //skip over leading whitespace
-
-        if (lineParser.GetDataRemaining() == 0) // must be an empty line
-            continue;
-
-        lineParser.ConsumeUntilWhitespace(&word);
-
-        if ( word.Equal("NumCPU")) // found a tag as first word in line
-        {
-            lineParser.GetThru(NULL,'=');
-            lineParser.ConsumeWhitespace();  //skip over leading whitespace
-            lineParser.ConsumeUntilWhitespace(&word); //read the number of cpus
-            if (word.Len > 0)
-                ::sscanf(word.Ptr, "%"_U32BITARG_"", &numCPUs);
-
-            break;
-        }
-    }
-    if (numCPUs == 0)
-        numCPUs = 1;
-        
-    ::pclose(p);
+    static UInt32 numCPUs = sysconf(_SC_NPROCESSORS_ONLN);  // Only ever called once
     
-       return numCPUs;
+    if (numCPUs <= 0)
+        numCPUs = 1;
+
+    return numCPUs;
 }
 #endif

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/CommonUtilitiesLib/OSHeaders.h DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OSHeaders.h
--- DarwinStreamingSrvr6.0.3-Source-Orig/CommonUtilitiesLib/OSHeaders.h	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OSHeaders.h	Sat May 24 02:05:15 2008
@@ -120,7 +120,6 @@
 
     
 #elif __linux__ || __linuxppc__ || __FreeBSD__
-    
     /* Defines */
     #define _64BITARG_ "q"
     #define _S64BITARG_ "lld"
@@ -128,9 +127,13 @@
 #if __LP64__
 	#define _S32BITARG_ "d"
 	#define _U32BITARG_ "u"
+        #define _SPOINTERSIZEARG_ _S64BITARG_
+        #define _UPOINTERSIZEARG_ _U64BITARG_
 #else
-	#define _S32BITARG_ "ld"
-	#define _U32BITARG_ "lu"
+	#define _S32BITARG_ "d"
+	#define _U32BITARG_ "u"
+        #define _SPOINTERSIZEARG_ _S32BITARG_
+        #define _UPOINTERSIZEARG_ _U32BITARG_
 #endif
 
     /* paths */
@@ -141,6 +144,7 @@
 
     /* Includes */
     #include <sys/types.h>
+    #include <stdint.h>
     
     /* Constants */
     #define QT_TIME_TO_LOCAL_TIME   (-2082844800)
@@ -149,14 +153,14 @@
     /* Typedefs */
     typedef signed long         PointerSizedInt;
     typedef unsigned long       PointerSizedUInt;
-    typedef unsigned char       UInt8;
-    typedef signed char         SInt8;
-    typedef unsigned short      UInt16;
-    typedef signed short        SInt16;
-    typedef unsigned int	UInt32;
-    typedef signed int		SInt32;
-    typedef signed int int 	SInt64;
-    typedef unsigned int int 	UInt64;
+    typedef uint8_t             UInt8;
+    typedef int8_t              SInt8;
+    typedef uint16_t            UInt16;
+    typedef int16_t             SInt16;
+    typedef uint32_t            UInt32;
+    typedef int32_t		SInt32;
+    typedef int64_t             SInt64;
+    typedef uint64_t            UInt64;
     typedef float               Float32;
     typedef double              Float64;
     typedef UInt16              Bool16;
@@ -177,12 +181,15 @@
         
     #define TW0_CHARS_TO_INT( c1, c2 )  ( c1 << 8 | c2 )
 
+    #define kSInt16_Max USHRT_MAX
+    #define kUInt16_Max USHRT_MAX
 
+    #define kSInt32_Max LONG_MAX
+    #define kUInt32_Max ULONG_MAX
 
+    #define kSInt64_Max LONG_LONG_MAX
+    #define kUInt64_Max ULONG_LONG_MAX
 
-
-
-
 #elif __Win32__
     
     /* Defines */

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/CommonUtilitiesLib/OSRef.h DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OSRef.h
--- DarwinStreamingSrvr6.0.3-Source-Orig/CommonUtilitiesLib/OSRef.h	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OSRef.h	Mon May 26 15:40:24 2008
@@ -41,10 +41,13 @@
 #ifndef _OSREF_H_
 #define _OSREF_H_
 
+#define kUInt32_Max (UInt32) ULONG_MAX
 
+
 #include "StrPtrLen.h"
 #include "OSHashTable.h"
 #include "OSCond.h"
+#include "OSHeaders.h"
 
 class OSRefKey;
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/MP3Broadcaster/BroadcasterMain.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/MP3Broadcaster/BroadcasterMain.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/MP3Broadcaster/BroadcasterMain.cpp	Tue May  6 01:28:57 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/MP3Broadcaster/BroadcasterMain.cpp	Mon May 26 17:39:26 2008
@@ -229,7 +229,7 @@
     if ( ::signal(SIGTERM, SIG_IGN) != SIG_IGN) 
     {   // from kill...
         if ( ::sigaction(SIGTERM, &act, NULL) != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
     }
 
@@ -236,7 +236,7 @@
     if ( ::signal(SIGINT, SIG_IGN) != SIG_IGN) 
     {   // ^C signal
         if ( ::sigaction(SIGINT, &act, NULL)  != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -244,7 +244,7 @@
     if ( ::signal(SIGPIPE, SIG_IGN) != SIG_IGN) 
     {   // broken pipe probably from a failed RTSP session (the server went down?)
         if ( ::sigaction(SIGPIPE, &act, NULL)   != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -252,7 +252,7 @@
     if ( ::signal(SIGHUP, SIG_IGN) != SIG_IGN) 
     {   // catch any SIGHUP
         if ( ::sigaction(SIGHUP, &act, NULL)  != 0)
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -260,7 +260,7 @@
     if ( ::signal(SIGALRM, SIG_IGN) != SIG_IGN) 
     {   // catch any SIGALRM
         if ( ::sigaction(SIGALRM, &act, NULL)  != 0)
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -282,7 +282,7 @@
 
 	  {
 
-         qtss_printf( "- PlaylistBroadcaster: Unexpected signal type (%"_SPOINTERSIZEARG_").\n", signalID );
+         qtss_printf( "- PlaylistBroadcaster: Unexpected signal type (%_SPOINTERSIZEARG_).\n", signalID );
 
          // just ignore it...
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp	Tue May  6 01:29:00 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp	Mon May 26 17:38:23 2008
@@ -2099,7 +2099,7 @@
     if ( ::signal(SIGTERM, SIG_IGN) != SIG_IGN) 
     {   // from kill...
         if ( ::sigaction(SIGTERM, &act, NULL) != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
     }
 
@@ -2106,7 +2106,7 @@
     if ( ::signal(SIGINT, SIG_IGN) != SIG_IGN) 
     {   // ^C signal
         if ( ::sigaction(SIGINT, &act, NULL)  != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -2114,7 +2114,7 @@
     if ( ::signal(SIGPIPE, SIG_IGN) != SIG_IGN) 
     {   // broken pipe probably from a failed RTSP session (the server went down?)
         if ( ::sigaction(SIGPIPE, &act, NULL)   != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -2122,7 +2122,7 @@
     if ( ::signal(SIGHUP, SIG_IGN) != SIG_IGN) 
     {   // broken pipe probably from a failed RTSP session (the server went down?)
         if ( ::sigaction(SIGHUP, &act, NULL)  != 0)
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/RTSPClientLib/PlayerSimulator.h DarwinStreamingSrvr6.0.3-Source-Solaris/RTSPClientLib/PlayerSimulator.h
--- DarwinStreamingSrvr6.0.3-Source-Orig/RTSPClientLib/PlayerSimulator.h	Tue May  6 01:29:00 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/RTSPClientLib/PlayerSimulator.h	Sat May 24 02:08:45 2008
@@ -31,7 +31,7 @@
 #ifndef _PLAYERSIMULATOR_H_
 #define _PLAYERSIMULATOR_H_
 
-#include "SafeStdLib.h""
+#include "SafeStdLib.h"
 #include "OSHeaders.h"
 #include "OS.h"
 #include "SVector.h"

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/QTSSErrorLogModule.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/QTSSErrorLogModule.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/QTSSErrorLogModule.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/QTSSErrorLogModule.cpp	Sat May 24 02:58:48 2008
@@ -265,7 +265,11 @@
     
                 sDupErrorStringCount = 0;
             }
-            ::strlcpy(sLastErrorString, inParamBlock->errorParams.inBuffer, sizeof(sLastErrorString));
+#if __MacOSX__
+            strlcpy(sLastErrorString, inParamBlock->errorParams.inBuffer, sizeof(sLastErrorString));
+#else
+            strncpy(sLastErrorString, inParamBlock->errorParams.inBuffer, sizeof(sLastErrorString) -1);
+#endif
         
         }
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/QTSServer.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/QTSServer.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/QTSServer.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/QTSServer.cpp	Sat May 24 07:24:39 2008
@@ -70,7 +70,9 @@
 #include "QTSSAdminModule.h"
 #include "QTSSAccessModule.h"
 #include "QTSSMP3StreamingModule.h"
+#if __MacOSX__
 #include "QTSSDSAuthModule.h"
+#endif
 #if MEMORY_DEBUGGING
 #include "QTSSWebDebugModule.h"
 #endif
@@ -85,7 +87,7 @@
 #include "RTCPTask.h"
 #include "QTSSFile.h"
 
-#include "RTPStream3GPP.h"
+#include "RTPStream3gpp.h"
 #include "RTSPRequest3GPP.h"
 
 // CLASS DEFINITIONS
@@ -680,9 +682,11 @@
     (void)AddModule(theWebDebug);
 #endif
 
+#if __MacOSX__
     QTSSModule* theQTSSDSAuthModule = new QTSSModule("QTSSDSAuthModule");
     (void)theQTSSDSAuthModule->SetupModule(&sCallbacks, &QTSSDSAuthModule_Main);
     (void)AddModule(theQTSSDSAuthModule); 
+#endif
 
     QTSSModule* theQTACCESSmodule = new QTSSModule("QTSSAccessModule");
     (void)theQTACCESSmodule->SetupModule(&sCallbacks, &QTSSAccessModule_Main);

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTPSession.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTPSession.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTPSession.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTPSession.cpp	Sat May 24 02:39:34 2008
@@ -38,7 +38,7 @@
 #include "RTSPProtocol.h" 
 #include "QTSServerInterface.h"
 #include "QTSS.h"
-#include "RTSPRequest3gpp.h"
+#include "RTSPRequest3GPP.h"
 
 #include "OS.h"
 #include "OSMemory.h"

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTPStream.h DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTPStream.h
--- DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTPStream.h	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTPStream.h	Sat May 24 02:36:24 2008
@@ -57,7 +57,7 @@
 
 #include "RTCPPacket.h"
 
-#include "RTSPRequest3gpp.h"
+#include "RTSPRequest3GPP.h"
 
 #ifndef MIN
 #define	MIN(a,b) (((a)<(b))?(a):(b))

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTPStream3gpp.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTPStream3gpp.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTPStream3gpp.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTPStream3gpp.cpp	Sat May 24 02:48:52 2008
@@ -34,7 +34,7 @@
 #include "RTPStream.h"
 #include "RTPStream3gpp.h"
 #include "RTPSessionInterface.h"
-#include "RTSPRequest3gpp.h"
+#include "RTSPRequest3GPP.h"
 #include "RTCPAPPNADUPacket.h"
 
 #if DEBUG

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTSPRequest3GPP.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTSPRequest3GPP.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/Server.tproj/RTSPRequest3GPP.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Server.tproj/RTSPRequest3GPP.cpp	Sat May 24 02:49:26 2008
@@ -32,7 +32,7 @@
 */
 
 
-#include "RTSPRequest3gpp.h"
+#include "RTSPRequest3GPP.h"
 #include "RTSPProtocol.h"
 #include "QTSServerInterface.h"
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/StreamingLoadTool/Makefile.POSIX DarwinStreamingSrvr6.0.3-Source-Solaris/StreamingLoadTool/Makefile.POSIX
--- DarwinStreamingSrvr6.0.3-Source-Orig/StreamingLoadTool/Makefile.POSIX	Fri Nov 16 06:17:36 2007
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/StreamingLoadTool/Makefile.POSIX	Sat May 24 02:32:03 2008
@@ -17,6 +17,7 @@
 CCFLAGS += -I..
 CCFLAGS += -I../OSMemoryLib
 CCFLAGS += -I../RTSPClientLib
+CCFLAGS += -I../RTCPUtilitiesLib
 CCFLAGS += -I../APICommonCode
 CCFLAGS += -I../CommonUtilitiesLib
 CCFLAGS += -I../PrefsSourceLib
@@ -36,6 +37,12 @@
 			../RTSPClientLib/ClientSocket.cpp \
 			../RTSPClientLib/RTSPClient.cpp \
 			../RTSPClientLib/ClientSession.cpp \
+			../RTCPUtilitiesLib/RTCPAckPacket.cpp \
+			../RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp \
+			../RTCPUtilitiesLib/RTCPAPPPacket.cpp \
+			../RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp \
+			../RTCPUtilitiesLib/RTCPPacket.cpp \
+			../RTCPUtilitiesLib/RTCPSRPacket.cpp \
 			../PrefsSourceLib/FilePrefsSource.cpp \
 			../APICommonCode/SDPSourceInfo.cpp \
 			../APICommonCode/SourceInfo.cpp \

diff -ur DarwinStreamingSrvr6.0.3-Source-Orig/StreamingLoadTool/StreamingLoadTool.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/StreamingLoadTool/StreamingLoadTool.cpp
--- DarwinStreamingSrvr6.0.3-Source-Orig/StreamingLoadTool/StreamingLoadTool.cpp	Tue May  6 01:28:57 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/StreamingLoadTool/StreamingLoadTool.cpp	Sat May 24 02:22:13 2008
@@ -743,7 +743,7 @@
             
             bitsReceived += .5;
             
- 			printf("%5lu %6lu %8lu %6lu %6lu %6lu %9.0fk\n",
+ 			printf("%5"_U32BITARG_" %6"_U32BITARG_" %8"_U32BITARG_" %6"_U32BITARG_" %6"_U32BITARG_" %6"_U32BITARG_" %9.0fk\n",
 				ClientSession:: GetActiveConnections (),
 				ClientSession:: GetPlayingConnections (),
 				ClientSession:: GetConnectionAttempts (),
@@ -811,7 +811,7 @@
 	if (sLog != NULL)
 		::fclose(sLog);
 		
-	printf("%5lu %6lu %8lu %6lu %6lu %6lu %9.0fk\n",
+	printf("%5"_U32BITARG_" %6"_U32BITARG_" %8"_U32BITARG_" %6"_U32BITARG_" %6"_U32BITARG_" %6"_U32BITARG_" %9.0fk\n",
 		ClientSession:: GetActiveConnections (),
 		ClientSession:: GetPlayingConnections (),
 		ClientSession:: GetConnectionAttempts (),
