mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-10-28 06:52:00 +01:00
303 lines
14 KiB
Diff
303 lines
14 KiB
Diff
--- DarwinStreamingSrvr6.0.3-Source.orig/Buildit 2008-03-26 08:42:48.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Buildit 2008-07-10 18:56:05.000000000 +0800
|
|
@@ -86,14 +86,19 @@ case $PLAT in
|
|
;;
|
|
|
|
Linux.i586 | \
|
|
- Linux.i686)
|
|
+ Linux.i686 | \
|
|
+ Linux.x86_64 )
|
|
echo "Configuring for the "$OSNAME" "$HARDWARENAME" platform"
|
|
CPLUS=gcc
|
|
CCOMP=gcc
|
|
LINKER='gcc'
|
|
MAKE=make
|
|
|
|
- COMPILER_FLAGS="-D_REENTRANT -D__USE_POSIX -D__linux__ -pipe"
|
|
+ if [ "$PLAT" = "Linux.x86_64" ]; then
|
|
+ COMPILER_FLAGS="-D_REENTRANT -D__USE_POSIX -D__linux__ -pipe -fPIC"
|
|
+ else
|
|
+ COMPILER_FLAGS="-D_REENTRANT -D__USE_POSIX -D__linux__ -pipe"
|
|
+ fi
|
|
INCLUDE_FLAG="-include"
|
|
|
|
CORE_LINK_LIBS="-lpthread -ldl -lstdc++ -lm -lcrypt"
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/MP3Broadcaster/BroadcasterMain.cpp_orig 2008-07-03 20:51:14.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/MP3Broadcaster/BroadcasterMain.cpp 2008-07-03 20:51:47.000000000 +0800
|
|
@@ -216,7 +216,7 @@ static void RegisterEventHandlers()
|
|
|
|
struct sigaction act;
|
|
|
|
-#if defined(sun) || defined(i386) || defined(__MacOSX__) || defined(__sgi__) || defined(__osf__) || defined(__hpux__) || defined(__linuxppc__)
|
|
+#if defined(sun) || defined(i386) || defined(__MacOSX__) || defined(__sgi__) || defined(__osf__) || defined(__hpux__) || defined(__linuxppc__) || defined(__linux__)
|
|
sigemptyset(&act.sa_mask);
|
|
act.sa_flags = 0;
|
|
act.sa_handler = (void(*)(int))&SignalEventHandler;
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp_orig 2008-07-03 20:42:56.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp 2008-07-03 20:43:13.000000000 +0800
|
|
@@ -2082,7 +2082,7 @@ static void RegisterEventHandlers()
|
|
|
|
struct sigaction act;
|
|
|
|
-#if defined(sun) || defined(i386) || defined(__MacOSX__) || defined(__powerpc__) || defined (__sgi_cc__) || defined(__osf__) || defined(__hpux__)
|
|
+#if defined(sun) || defined(i386) || defined(__MacOSX__) || defined(__powerpc__) || defined (__sgi_cc__) || defined(__osf__) || defined(__hpux__) || defined(__linux__)
|
|
sigemptyset(&act.sa_mask);
|
|
act.sa_flags = 0;
|
|
act.sa_handler = (void(*)(int))&SignalEventHandler;
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/Server.tproj/main.cpp_orig 2008-07-03 20:38:56.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/main.cpp 2008-07-03 20:39:30.000000000 +0800
|
|
@@ -216,7 +216,7 @@ int main(int argc, char * argv[])
|
|
//(void) ::signal(SIGPIPE, SIG_IGN);
|
|
struct sigaction act;
|
|
|
|
-#if defined(sun) || defined(i386) || defined (__MacOSX__) || defined(__powerpc__) || defined (__osf__) || defined (__sgi_cc__) || defined (__hpux__)
|
|
+#if defined(sun) || defined(i386) || defined (__MacOSX__) || defined(__powerpc__) || defined (__osf__) || defined (__sgi_cc__) || defined (__hpux__) || defined (__linux__)
|
|
sigemptyset(&act.sa_mask);
|
|
act.sa_flags = 0;
|
|
act.sa_handler = (void(*)(int))&sigcatcher;
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/StreamingLoadTool/StreamingLoadTool.cpp_orig 2008-07-04 13:37:58.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/StreamingLoadTool/StreamingLoadTool.cpp 2008-07-04 13:38:16.000000000 +0800
|
|
@@ -135,7 +135,7 @@ int main(int argc, char *argv[])
|
|
#ifndef __Win32__
|
|
struct sigaction act;
|
|
|
|
-#if defined(sun) || defined(i386) || defined (__MacOSX__) || defined(__powerpc__) || defined (__osf__) || defined (__sgi_cc__) || defined (__hpux__)
|
|
+#if defined(sun) || defined(i386) || defined (__MacOSX__) || defined(__powerpc__) || defined (__osf__) || defined (__sgi_cc__) || defined (__hpux__) || defined (__linux__)
|
|
sigemptyset(&act.sa_mask);
|
|
act.sa_flags = 0;
|
|
act.sa_handler = (void(*)(int))&sigcatcher;
|
|
--- DarwinStreamingSrvr6.0.3-Source_orig/CommonUtilitiesLib/SocketUtils.cpp_orig 2008-07-22 13:27:28.026924464 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/SocketUtils.cpp 2008-07-22 13:33:57.944935981 +0800
|
|
@@ -549,9 +549,6 @@ Bool16 SocketUtils::IncrementIfReqIter(c
|
|
//if the length of the addr is 0, use the family to determine
|
|
//what the addr size is
|
|
if (ifr->ifr_addr.sa_len == 0)
|
|
-#else
|
|
- *inIfReqIter += sizeof(ifr->ifr_name) + 0;
|
|
-#endif
|
|
{
|
|
switch (ifr->ifr_addr.sa_family)
|
|
{
|
|
@@ -565,6 +562,9 @@ Bool16 SocketUtils::IncrementIfReqIter(c
|
|
// return false;
|
|
}
|
|
}
|
|
+#else
|
|
+ *inIfReqIter += sizeof(*ifr);
|
|
+#endif
|
|
return true;
|
|
}
|
|
#endif
|
|
--- DarwinStreamingSrvr6.0.3-Source_orig/CommonUtilitiesLib/Task.h_orig 2008-07-25 17:12:53.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/Task.h 2008-07-25 17:14:05.000000000 +0800
|
|
@@ -213,7 +213,7 @@ private:
|
|
static UInt32 sNumShortTaskThreads;
|
|
static UInt32 sNumBlockingTaskThreads;
|
|
|
|
- static OSMutexRW sMutexRW;
|
|
+ static OSMutexRW sMutexRW __attribute__((visibility("hidden")));
|
|
|
|
friend class Task;
|
|
friend class TaskThread;
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/Server.tproj/QTSServer.cpp_orig 2008-07-24 10:00:06.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSServer.cpp 2008-07-24 20:59:40.000000000 +0800
|
|
@@ -135,13 +135,13 @@ QTSServer::~QTSServer()
|
|
//
|
|
// Grab the server mutex. This is to make sure all gets & set values on this
|
|
// object complete before we start deleting stuff
|
|
- OSMutexLocker serverlocker(this->GetServerObjectMutex());
|
|
+ OSMutexLocker* serverlocker = new OSMutexLocker(this->GetServerObjectMutex());
|
|
|
|
//
|
|
// Grab the prefs mutex. This is to make sure we can't reread prefs
|
|
// WHILE shutting down, which would cause some weirdness for QTSS API
|
|
// (some modules could get QTSS_RereadPrefs_Role after QTSS_Shutdown, which would be bad)
|
|
- OSMutexLocker locker(this->GetPrefs()->GetMutex());
|
|
+ OSMutexLocker* locker = new OSMutexLocker(this->GetPrefs()->GetMutex());
|
|
|
|
QTSS_ModuleState theModuleState;
|
|
theModuleState.curRole = QTSS_Shutdown_Role;
|
|
@@ -152,6 +152,13 @@ QTSServer::~QTSServer()
|
|
(void)QTSServerInterface::GetModule(QTSSModule::kShutdownRole, x)->CallDispatch(QTSS_Shutdown_Role, NULL);
|
|
|
|
OSThread::SetMainThreadData(NULL);
|
|
+
|
|
+ delete fRTPMap;
|
|
+ delete fSocketPool;
|
|
+ delete fSrvrMessages;
|
|
+ delete locker;
|
|
+ delete serverlocker;
|
|
+ delete fSrvrPrefs;
|
|
}
|
|
|
|
Bool16 QTSServer::Initialize(XMLPrefsParser* inPrefsSource, PrefsSource* inMessagesSource, UInt16 inPortOverride, Bool16 createListeners)
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/Server.tproj/QTSSMessages.cpp_orig 2008-07-24 14:26:35.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSSMessages.cpp 2008-07-24 19:28:31.000000000 +0800
|
|
@@ -212,15 +212,17 @@ void QTSSMessages::Initialize()
|
|
}
|
|
|
|
QTSSMessages::QTSSMessages(PrefsSource* inMessages)
|
|
-: QTSSDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::kTextMessagesDictIndex))
|
|
+: QTSSDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::kTextMessagesDictIndex)),
|
|
+ numAttrs(GetDictionaryMap()->GetNumAttrs())
|
|
{
|
|
static const UInt32 kMaxMessageSize = 2048;
|
|
char theMessage[kMaxMessageSize];
|
|
|
|
// Use the names of the attributes in the attribute map as the key values for
|
|
// finding preferences in the config file.
|
|
-
|
|
- for (UInt32 x = 0; x < this->GetDictionaryMap()->GetNumAttrs(); x++)
|
|
+ attrBuffer = NEW char* [numAttrs];
|
|
+ ::memset(attrBuffer, 0, sizeof(char*) * numAttrs);
|
|
+ for (UInt32 x = 0; x < numAttrs; x++)
|
|
{
|
|
theMessage[0] = '\0';
|
|
(void)inMessages->GetValue(this->GetDictionaryMap()->GetAttrName(x), &theMessage[0]);
|
|
@@ -248,9 +250,10 @@ QTSSMessages::QTSSMessages(PrefsSource*
|
|
// the new attribute, and copy the data into the newly allocated buffer
|
|
if (theMessage[0] != '\0')
|
|
{
|
|
- char* attrBuffer = NEW char[::strlen(theMessage) + 2];
|
|
- ::strcpy(attrBuffer, theMessage);
|
|
- this->SetVal(this->GetDictionaryMap()->GetAttrID(x), attrBuffer, ::strlen(attrBuffer));
|
|
+ attrBuffer[x] = NEW char[::strlen(theMessage) + 2];
|
|
+ ::strcpy(attrBuffer[x], theMessage);
|
|
+ this->SetVal(this->GetDictionaryMap()->GetAttrID(x),
|
|
+ attrBuffer[x], ::strlen(attrBuffer[x]));
|
|
}
|
|
}
|
|
}
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/Server.tproj/QTSSDictionary.h_orig 2008-07-24 15:52:36.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSSDictionary.h 2008-07-24 15:52:36.000000000 +0800
|
|
@@ -215,7 +215,8 @@ class QTSSDictionary : public QTSSStream
|
|
Bool16 fMyMutex;
|
|
Bool16 fLocked;
|
|
|
|
- void DeleteAttributeData(DictValueElement* inDictValues, UInt32 inNumValues);
|
|
+ void DeleteAttributeData(DictValueElement* inDictValues,
|
|
+ UInt32 inNumValues, QTSSDictionaryMap* theMap);
|
|
};
|
|
|
|
|
|
@@ -271,7 +272,11 @@ class QTSSDictionaryMap
|
|
// CONSTRUCTOR / DESTRUCTOR
|
|
|
|
QTSSDictionaryMap(UInt32 inNumReservedAttrs, UInt32 inFlags = kNoFlags);
|
|
- ~QTSSDictionaryMap(){ delete fAttrArray; }
|
|
+ ~QTSSDictionaryMap() {
|
|
+ for (UInt32 i = 0; i < fAttrArraySize; i++)
|
|
+ delete fAttrArray[i];
|
|
+ delete [] fAttrArray;
|
|
+ }
|
|
|
|
//
|
|
// QTSS API CALLS
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/Server.tproj/QTSSMessages.h_orig 2008-07-24 14:26:35.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSSMessages.h 2008-07-24 20:20:45.000000000 +0800
|
|
@@ -53,13 +53,20 @@ class QTSSMessages : public QTSSDictiona
|
|
static void Initialize();
|
|
|
|
QTSSMessages(PrefsSource* inMessages);
|
|
- virtual ~QTSSMessages() {}
|
|
+ virtual ~QTSSMessages() {
|
|
+ for (UInt32 x = 0; x < numAttrs; x++)
|
|
+ if (attrBuffer[x] != NULL)
|
|
+ delete [] attrBuffer[x];
|
|
+ delete [] attrBuffer;
|
|
+ }
|
|
|
|
|
|
//Use the standard GetAttribute method in QTSSDictionary to retrieve messages
|
|
|
|
private:
|
|
-
|
|
+ char** attrBuffer;
|
|
+ UInt32 numAttrs;
|
|
+
|
|
enum
|
|
{
|
|
kNumMessages = 74 // 0 based count so it is one more than last message index number
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/Server.tproj/QTSSDictionary.cpp_orig 2008-07-23 12:27:56.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSSDictionary.cpp 2008-07-24 16:54:46.000000000 +0800
|
|
@@ -60,12 +60,12 @@ QTSSDictionary::QTSSDictionary(QTSSDicti
|
|
QTSSDictionary::~QTSSDictionary()
|
|
{
|
|
if (fMap != NULL)
|
|
- this->DeleteAttributeData(fAttributes, fMap->GetNumAttrs());
|
|
+ this->DeleteAttributeData(fAttributes, fMap->GetNumAttrs(), fMap);
|
|
if (fAttributes != NULL)
|
|
delete [] fAttributes;
|
|
- delete fInstanceMap;
|
|
- this->DeleteAttributeData(fInstanceAttrs, fInstanceArraySize);
|
|
+ this->DeleteAttributeData(fInstanceAttrs, fInstanceArraySize, fInstanceMap);
|
|
delete [] fInstanceAttrs;
|
|
+ delete fInstanceMap;
|
|
if (fMyMutex)
|
|
delete fMutexP;
|
|
}
|
|
@@ -340,7 +340,8 @@ QTSS_Error QTSSDictionary::SetValue(QTSS
|
|
theAttrs[theMapIndex].fAttributeData.Len = sizeof(char*);
|
|
// store off original string as first value in array
|
|
*(char**)theAttrs[theMapIndex].fAttributeData.Ptr = temp;
|
|
- // question: why isn't theAttrs[theMapIndex].fAllocatedInternally set to true?
|
|
+ // question: why isn't theAttrs[theMapIndex].fAllocatedInternally set to true?
|
|
+ theAttrs[theMapIndex].fAllocatedInternally = true;
|
|
}
|
|
}
|
|
else
|
|
@@ -407,7 +408,7 @@ QTSS_Error QTSSDictionary::SetValue(QTSS
|
|
// The offset should be (attrLen * inIndex) and not (inLen * inIndex)
|
|
char** valuePtr = (char**)(theAttrs[theMapIndex].fAttributeData.Ptr + (attrLen * inIndex));
|
|
if (inIndex < numValues) // we're replacing an existing string
|
|
- delete *valuePtr;
|
|
+ delete [] *valuePtr;
|
|
*valuePtr = (char*)attributeBufferPtr;
|
|
}
|
|
|
|
@@ -522,7 +523,7 @@ QTSS_Error QTSSDictionary::RemoveValue(Q
|
|
{
|
|
// we need to delete the string
|
|
char* str = *(char**)(theAttrs[theMapIndex].fAttributeData.Ptr + (theValueLen * inIndex));
|
|
- delete str;
|
|
+ delete [] str;
|
|
}
|
|
|
|
//
|
|
@@ -797,12 +798,22 @@ QTSS_Error QTSSDictionary::GetAttrInfoBy
|
|
return theErr;
|
|
}
|
|
|
|
-void QTSSDictionary::DeleteAttributeData(DictValueElement* inDictValues, UInt32 inNumValues)
|
|
+void QTSSDictionary::DeleteAttributeData(DictValueElement* inDictValues,
|
|
+ UInt32 inNumValues,
|
|
+ QTSSDictionaryMap* theMap)
|
|
{
|
|
for (UInt32 x = 0; x < inNumValues; x++)
|
|
{
|
|
- if (inDictValues[x].fAllocatedInternally)
|
|
+ if (inDictValues[x].fAllocatedInternally) {
|
|
+ if ((theMap->GetAttrType(x) == qtssAttrDataTypeCharArray) &&
|
|
+ (inDictValues[x].fNumAttributes > 1)) {
|
|
+ UInt32 z = 0;
|
|
+ for (char **y = (char **) (inDictValues[x].fAttributeData.Ptr);
|
|
+ z < inDictValues[x].fNumAttributes; z++)
|
|
+ delete [] y[z];
|
|
+ }
|
|
delete [] inDictValues[x].fAttributeData.Ptr;
|
|
+ }
|
|
}
|
|
}
|
|
|
|
--- DarwinStreamingSrvr6.0.3-Source.orig/CommonUtilitiesLib/OS.cpp_orig 2008-07-24 09:38:53.000000000 +0800
|
|
+++ DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/OS.cpp 2008-07-24 09:39:31.000000000 +0800
|
|
@@ -220,7 +220,7 @@ SInt32 OS::GetGMTOffset()
|
|
return ((tzInfo.Bias / 60) * -1);
|
|
#else
|
|
|
|
- time_t clock;
|
|
+ time_t clock = 0; //Make 'clock' initialized for valgrind
|
|
struct tm *tmptr= localtime(&clock);
|
|
if (tmptr == NULL)
|
|
return 0;
|