From c0618945b2f0cf4b3b1596ca274dace42591e13d Mon Sep 17 00:00:00 2001 From: Ryan Schmidt Date: Mon, 19 May 2008 22:17:55 -0500 Subject: [PATCH] Add DarwinStreamingSrvr6.0.3-Source --- APICommonCode/QTAccessFile.cpp | 325 +- APICommonCode/QTAccessFile.h | 54 +- APICommonCode/QTSS3GPPModuleUtils.cpp | 128 + APICommonCode/QTSS3GPPModuleUtils.h | 74 + APICommonCode/QTSSMemoryDeleter.h | 6 +- APICommonCode/QTSSModuleUtils.cpp | 88 +- APICommonCode/QTSSModuleUtils.h | 24 +- APICommonCode/QTSSRollingLog.cpp | 8 +- APICommonCode/QTSSRollingLog.h | 6 +- APICommonCode/SDPSourceInfo.cpp | 13 +- APICommonCode/SDPSourceInfo.h | 8 +- APICommonCode/SourceInfo.cpp | 10 +- APICommonCode/SourceInfo.h | 6 +- .../OSMemory_Modules/OSMemory_Modules.cpp | 6 +- .../QTSSAccessLogModule.cpp | 58 +- .../QTSSAccessLogModule/QTSSAccessLogModule.h | 6 +- APIModules/QTSSAccessModule/AccessChecker.cpp | 6 +- APIModules/QTSSAccessModule/AccessChecker.h | 6 +- .../QTSSAccessModule/QTSSAccessModule.cpp | 56 +- .../QTSSAccessModule/QTSSAccessModule.h | 6 +- .../QTSSAdminModule/AdminElementNode.cpp | 165 +- APIModules/QTSSAdminModule/AdminElementNode.h | 10 +- APIModules/QTSSAdminModule/AdminQuery.cpp | 16 +- APIModules/QTSSAdminModule/AdminQuery.h | 6 +- .../QTSSAdminModule/QTSSAdminModule.cpp | 76 +- APIModules/QTSSAdminModule/QTSSAdminModule.h | 6 +- .../QTSSDSAuthModule/DSAccessChecker.cpp | 646 + APIModules/QTSSDSAuthModule/DSAccessChecker.h | 70 + .../DSWrappers/CDirService.cpp | 91 + .../QTSSDSAuthModule/DSWrappers/CDirService.h | 87 + .../QTSSDSAuthModule/DSWrappers/DSBuffer.cpp | 94 + .../QTSSDSAuthModule/DSWrappers/DSBuffer.h | 125 + .../QTSSDSAuthModule/DSWrappers/DSDataList.h | 140 + .../QTSSDSAuthModule/DSWrappers/DSDataNode.h | 118 + .../QTSSDSAuthModule/QTSSDSAuthModule.cpp | 528 + .../QTSSDSAuthModule.h} | 16 +- .../AccessCheck.cpp | 414 - .../AccessCheck.h | 98 - .../Makefile.POSIX | 3 +- .../QTSSDemoAuthorizationModule.cpp | 207 + ...Module.h => QTSSDemoAuthorizationModule.h} | 29 +- .../QTSSDemoModule.cpp | 310 - .../Makefile.POSIX | 58 + .../QTSSDemoRedirectModule.cpp | 227 + .../QTSSDemoRedirectModule.h} | 32 +- .../QTSSDemoSMILModule.cpp | 8 +- .../QTSSDemoSMILModule.h | 6 +- APIModules/QTSSFileModule/QTSSFileModule.cpp | 152 +- APIModules/QTSSFileModule/QTSSFileModule.h | 6 +- .../QTSSFilePrivsModule.cpp | 18 +- .../QTSSFilePrivsModule.h | 6 +- .../QTSSFlowControlModule.cpp | 43 +- .../QTSSFlowControlModule.h | 6 +- .../QTSSHomeDirectoryModule/DirectoryInfo.cpp | 6 +- .../QTSSHomeDirectoryModule/DirectoryInfo.h | 6 +- .../QTSSHomeDirectoryModule.cpp | 6 +- .../QTSSHomeDirectoryModule.h | 6 +- .../QTSSHttpFileModule/QTSSHttpFileModule.cpp | 24 +- .../QTSSHttpFileModule/QTSSHttpFileModule.h | 6 +- .../QTSSMP3StreamingModule.cpp | 46 +- .../QTSSMP3StreamingModule.h | 12 +- APIModules/QTSSODAuthModule/AccessCheck.cpp | 913 - APIModules/QTSSODAuthModule/AccessCheck.h | 97 - .../QTSSODAuthModule/QTSSODAuthModule.cpp | 327 - APIModules/QTSSODAuthModule/README | 81 - APIModules/QTSSODAuthModule/dsqtaccess | 41 - .../QTSSPosixFileSysModule.cpp | 6 +- .../QTSSPosixFileSysModule.h | 6 +- .../QTSSProxyModule/QTSSProxyModule.cpp | 12 +- APIModules/QTSSProxyModule/QTSSProxyModule.h | 6 +- .../QTSSRTPFileModule/QTSSRTPFileModule.cpp | 6 +- .../QTSSRTPFileModule/QTSSRTPFileModule.h | 6 +- .../QTSSRTPFileModule/RTPFileSession.cpp | 14 +- APIModules/QTSSRTPFileModule/RTPFileSession.h | 6 +- .../QTSSRawFileModule.cpp | 10 +- .../QTSSRawFileModule.h | 6 +- .../QTSSRefMovieModule/QTSSRefMovieModule.cpp | 6 +- .../QTSSRefMovieModule/QTSSRefMovieModule.h | 6 +- .../QTSSReflectorModule.cpp | 185 +- .../QTSSReflectorModule/QTSSReflectorModule.h | 6 +- .../QTSSReflectorModule/QTSSRelayModule.cpp | 14 +- .../QTSSReflectorModule/QTSSRelayModule.h | 6 +- .../QTSSSplitterModule.cpp | 8 +- .../QTSSReflectorModule/QTSSSplitterModule.h | 6 +- .../QTSSReflectorModule/RCFSourceInfo.cpp | 6 +- .../QTSSReflectorModule/RCFSourceInfo.h | 6 +- .../QTSSReflectorModule/RTPSessionOutput.cpp | 115 +- .../QTSSReflectorModule/RTPSessionOutput.h | 13 +- .../QTSSReflectorModule/RTSPSourceInfo.cpp | 6 +- .../QTSSReflectorModule/RTSPSourceInfo.h | 6 +- .../QTSSReflectorModule/ReflectorOutput.h | 8 +- .../QTSSReflectorModule/ReflectorSession.cpp | 19 +- .../QTSSReflectorModule/ReflectorSession.h | 6 +- .../QTSSReflectorModule/ReflectorStream.cpp | 392 +- .../QTSSReflectorModule/ReflectorStream.h | 19 +- .../QTSSReflectorModule/RelayOutput.cpp | 8 +- APIModules/QTSSReflectorModule/RelayOutput.h | 8 +- .../RelaySDPSourceInfo.cpp | 6 +- .../QTSSReflectorModule/RelaySDPSourceInfo.h | 6 +- .../QTSSReflectorModule/RelaySession.cpp | 6 +- APIModules/QTSSReflectorModule/RelaySession.h | 6 +- .../QTSSReflectorModule/SequenceNumberMap.cpp | 6 +- .../QTSSReflectorModule/SequenceNumberMap.h | 6 +- .../QTSSSpamDefenseModule.cpp | 15 +- .../QTSSSpamDefenseModule.h | 6 +- APIModules/QTSSSvrControlModule/QTSCRPI.defs | 47 - .../QTSSvrControlModule.cpp | 860 - .../QTSSSvrControlModule/ServerControlAPI.h | 379 - .../QTSSWebDebugModule/QTSSWebDebugModule.cpp | 10 +- .../QTSSWebDebugModule/QTSSWebDebugModule.h | 6 +- .../QTSSWebStatsModule/QTSSWebStatsModule.cpp | 87 +- .../QTSSWebStatsModule/QTSSWebStatsModule.h | 6 +- APIStubLib/QTSS.h | 183 +- APIStubLib/QTSSRTSPProtocol.h | 26 +- APIStubLib/QTSS_Private.cpp | 6 +- APIStubLib/QTSS_Private.h | 6 +- AtomicLib/atomic.h | 6 +- AtomicLib/atomic_subr.s | 8 +- AtomicLib/hmi.c | 14 +- AtomicLib/timescale.c | 6 +- AtomicLib/timestamp.h | 16 +- AtomicLib/timestamp.s | 8 +- BuildOSXInstallerPkg | 122 +- Buildit | 136 +- CommonUtilitiesLib/ConfParser.cpp | 14 +- CommonUtilitiesLib/ConfParser.h | 6 +- CommonUtilitiesLib/DateTranslator.cpp | 6 +- CommonUtilitiesLib/DateTranslator.h | 6 +- CommonUtilitiesLib/DssStopwatch.h | 6 +- CommonUtilitiesLib/EventContext.cpp | 8 +- CommonUtilitiesLib/EventContext.h | 26 +- CommonUtilitiesLib/FastCopyMacros.h | 6 +- CommonUtilitiesLib/GetWord.c | 10 +- CommonUtilitiesLib/GetWord.h | 13 +- CommonUtilitiesLib/IdleTask.cpp | 6 +- CommonUtilitiesLib/IdleTask.h | 6 +- CommonUtilitiesLib/MakeDir.c | 6 +- CommonUtilitiesLib/MakeDir.h | 6 +- CommonUtilitiesLib/MyAssert.cpp | 14 +- CommonUtilitiesLib/MyAssert.h | 7 +- CommonUtilitiesLib/OS.cpp | 31 +- CommonUtilitiesLib/OS.h | 9 +- CommonUtilitiesLib/OSArrayObjectDeleter.h | 8 +- CommonUtilitiesLib/OSBufferPool.cpp | 6 +- CommonUtilitiesLib/OSBufferPool.h | 6 +- CommonUtilitiesLib/OSCodeFragment.cpp | 6 +- CommonUtilitiesLib/OSCodeFragment.h | 6 +- CommonUtilitiesLib/OSCond.cpp | 6 +- CommonUtilitiesLib/OSCond.h | 6 +- CommonUtilitiesLib/OSFileSource.cpp | 50 +- CommonUtilitiesLib/OSFileSource.h | 6 +- CommonUtilitiesLib/OSHashTable.h | 12 +- CommonUtilitiesLib/OSHeaders.h | 174 +- CommonUtilitiesLib/OSHeap.cpp | 6 +- CommonUtilitiesLib/OSHeap.h | 6 +- CommonUtilitiesLib/OSMemory.h | 6 +- CommonUtilitiesLib/OSMutex.cpp | 6 +- CommonUtilitiesLib/OSMutex.h | 6 +- CommonUtilitiesLib/OSMutexRW.cpp | 6 +- CommonUtilitiesLib/OSMutexRW.h | 6 +- CommonUtilitiesLib/OSQueue.cpp | 6 +- CommonUtilitiesLib/OSQueue.h | 6 +- CommonUtilitiesLib/OSRef.cpp | 20 +- CommonUtilitiesLib/OSRef.h | 6 +- CommonUtilitiesLib/OSThread.cpp | 34 +- CommonUtilitiesLib/OSThread.h | 6 +- CommonUtilitiesLib/PLDoubleLinkedList.h | 6 +- CommonUtilitiesLib/PathDelimiter.h | 6 +- CommonUtilitiesLib/QueryParamList.cpp | 6 +- CommonUtilitiesLib/QueryParamList.h | 6 +- .../ResizeableStringFormatter.cpp | 9 +- .../ResizeableStringFormatter.h | 8 +- CommonUtilitiesLib/SDPUtils.cpp | 88 +- CommonUtilitiesLib/SDPUtils.h | 20 +- CommonUtilitiesLib/SVector.h | 227 + CommonUtilitiesLib/SafeStdLib.h | 12 +- CommonUtilitiesLib/Socket.cpp | 31 +- CommonUtilitiesLib/Socket.h | 8 +- CommonUtilitiesLib/SocketUtils.cpp | 9 +- CommonUtilitiesLib/SocketUtils.h | 6 +- CommonUtilitiesLib/StopWatch.h | 6 +- CommonUtilitiesLib/StrPtrLen.cpp | 26 +- CommonUtilitiesLib/StrPtrLen.h | 12 +- CommonUtilitiesLib/StringFormatter.cpp | 45 +- CommonUtilitiesLib/StringFormatter.h | 26 +- CommonUtilitiesLib/StringParser.cpp | 39 +- CommonUtilitiesLib/StringParser.h | 11 +- CommonUtilitiesLib/StringTranslator.cpp | 6 +- CommonUtilitiesLib/StringTranslator.h | 6 +- CommonUtilitiesLib/TCPListenerSocket.cpp | 13 +- CommonUtilitiesLib/TCPListenerSocket.h | 6 +- CommonUtilitiesLib/TCPSocket.cpp | 6 +- CommonUtilitiesLib/TCPSocket.h | 6 +- CommonUtilitiesLib/Task.cpp | 122 +- CommonUtilitiesLib/Task.h | 26 +- CommonUtilitiesLib/TimeoutTask.cpp | 12 +- CommonUtilitiesLib/TimeoutTask.h | 6 +- CommonUtilitiesLib/Trim.c | 6 +- CommonUtilitiesLib/Trim.h | 6 +- CommonUtilitiesLib/UDPDemuxer.cpp | 6 +- CommonUtilitiesLib/UDPDemuxer.h | 6 +- CommonUtilitiesLib/UDPSocket.cpp | 6 +- CommonUtilitiesLib/UDPSocket.h | 6 +- CommonUtilitiesLib/UDPSocketPool.cpp | 10 +- CommonUtilitiesLib/UDPSocketPool.h | 6 +- CommonUtilitiesLib/UserAgentParser.cpp | 6 +- CommonUtilitiesLib/UserAgentParser.h | 6 +- CommonUtilitiesLib/atomic.cpp | 6 +- CommonUtilitiesLib/atomic.h | 6 +- CommonUtilitiesLib/base64.c | 6 +- CommonUtilitiesLib/base64.h | 6 +- CommonUtilitiesLib/daemon.c | 6 +- CommonUtilitiesLib/daemon.h | 6 +- CommonUtilitiesLib/ev.cpp | 28 +- CommonUtilitiesLib/ev.h | 23 +- CommonUtilitiesLib/getopt.c | 6 +- CommonUtilitiesLib/getopt.h | 6 +- CommonUtilitiesLib/md5.c | 18 +- CommonUtilitiesLib/md5.h | 6 +- CommonUtilitiesLib/md5digest.cpp | 10 +- CommonUtilitiesLib/md5digest.h | 8 +- CommonUtilitiesLib/mycondition.cpp | 8 +- CommonUtilitiesLib/mycondition.h | 6 +- CommonUtilitiesLib/mymutex.cpp | 12 +- CommonUtilitiesLib/mymutex.h | 6 +- CommonUtilitiesLib/tempcalls.h | 25 +- CommonUtilitiesLib/win32ev.cpp | 8 +- Documentation/CachingProxyProtocol-README.txt | 6 +- Documentation/DevNotes.html | 191 +- Documentation/FAQ.html | 151 + Documentation/Howto/Uninstalling_for_OS_X.txt | 19 + Documentation/ReadMe.rtf | 312 +- Documentation/SourceCodeFAQ.html | 47 - Documentation/readme.txt | Bin 12869 -> 29312 bytes HTTPUtilitiesLib/HTTPProtocol.cpp | 6 +- HTTPUtilitiesLib/HTTPProtocol.h | 6 +- HTTPUtilitiesLib/HTTPRequest.cpp | 8 +- HTTPUtilitiesLib/HTTPRequest.h | 6 +- Install | 6 +- Jamfile | 2 +- MP3Broadcaster/BroadcasterMain.cpp | 20 +- MP3Broadcaster/MP3Broadcaster.cpp | 28 +- MP3Broadcaster/MP3Broadcaster.h | 14 +- MP3Broadcaster/MP3BroadcasterLog.cpp | 8 +- MP3Broadcaster/MP3BroadcasterLog.h | 6 +- MP3Broadcaster/MP3FileBroadcaster.cpp | 6 +- MP3Broadcaster/MP3FileBroadcaster.h | 6 +- MP3Broadcaster/MP3MetaInfoUpdater.cpp | 6 +- MP3Broadcaster/MP3MetaInfoUpdater.h | 6 +- OSMemoryLib/OSMemory.cpp | 6 +- PlatformHeader.h | 27 +- PlaylistBroadcaster.tproj/BCasterTracker.cpp | 32 +- PlaylistBroadcaster.tproj/BCasterTracker.h | 8 +- PlaylistBroadcaster.tproj/BogusDefs.c | 10 +- PlaylistBroadcaster.tproj/BroadcastLog.cpp | 8 +- PlaylistBroadcaster.tproj/BroadcastLog.h | 6 +- .../BroadcasterSession.cpp | 38 +- .../BroadcasterSession.h | 6 +- .../GetLocalIPAddressString.c | 8 +- .../GetLocalIPAddressString.h | 6 +- PlaylistBroadcaster.tproj/Jamfile | 2 +- PlaylistBroadcaster.tproj/NoRepeat.cpp | 6 +- PlaylistBroadcaster.tproj/NoRepeat.h | 6 +- PlaylistBroadcaster.tproj/PLBroadcastDef.cpp | 68 +- PlaylistBroadcaster.tproj/PLBroadcastDef.h | 11 +- PlaylistBroadcaster.tproj/PickerFromFile.cpp | 12 +- PlaylistBroadcaster.tproj/PickerFromFile.h | 6 +- .../PlaylistBroadcaster.cpp | 33 +- PlaylistBroadcaster.tproj/PlaylistPicker.cpp | 40 +- PlaylistBroadcaster.tproj/PlaylistPicker.h | 38 +- .../SimplePlayListElement.h | 6 +- .../StSmartArrayPointer.h | 6 +- PlaylistBroadcaster.tproj/TrackingElement.h | 6 +- PlaylistBroadcaster.tproj/notes.c | 6 +- .../playlist_QTRTPBroadcastFile.cpp | 8 +- .../playlist_QTRTPBroadcastFile.h | 8 +- PlaylistBroadcaster.tproj/playlist_SDPGen.cpp | 16 +- PlaylistBroadcaster.tproj/playlist_SDPGen.h | 6 +- .../playlist_SimpleParse.cpp | 8 +- .../playlist_SimpleParse.h | 6 +- PlaylistBroadcaster.tproj/playlist_array.h | 6 +- .../playlist_broadcaster.cpp | 24 +- .../playlist_broadcaster.h | 6 +- .../playlist_elements.cpp | 22 +- PlaylistBroadcaster.tproj/playlist_elements.h | 44 +- PlaylistBroadcaster.tproj/playlist_lists.cpp | 6 +- PlaylistBroadcaster.tproj/playlist_lists.h | 6 +- .../playlist_parsers.cpp | 20 +- PlaylistBroadcaster.tproj/playlist_parsers.h | 6 +- .../playlist_timestamp.h | 12 +- PlaylistBroadcaster.tproj/playlist_utils.cpp | 18 +- PlaylistBroadcaster.tproj/playlist_utils.h | 10 +- PlaylistBroadcaster.tproj/tailor.h | 10 +- PrefsSourceLib/FilePrefsSource.cpp | 6 +- PrefsSourceLib/FilePrefsSource.h | 6 +- PrefsSourceLib/NetInfoPrefsSource.cpp | 6 +- PrefsSourceLib/NetInfoPrefsSource.h | 6 +- PrefsSourceLib/PrefsSource.h | 8 +- PrefsSourceLib/XMLParser.cpp | 46 +- PrefsSourceLib/XMLParser.h | 7 +- PrefsSourceLib/XMLPrefsParser.cpp | 6 +- PrefsSourceLib/XMLPrefsParser.h | 6 +- PrefsSourceLib/nilib2.c | 8 +- PrefsSourceLib/nilib2.h | 6 +- QTFileLib/QTAtom.cpp | 6 +- QTFileLib/QTAtom.h | 6 +- QTFileLib/QTAtom_dref.cpp | 10 +- QTFileLib/QTAtom_dref.h | 6 +- QTFileLib/QTAtom_elst.cpp | 12 +- QTFileLib/QTAtom_elst.h | 6 +- QTFileLib/QTAtom_hinf.cpp | 16 +- QTFileLib/QTAtom_hinf.h | 6 +- QTFileLib/QTAtom_mdhd.cpp | 6 +- QTFileLib/QTAtom_mdhd.h | 6 +- QTFileLib/QTAtom_mvhd.cpp | 6 +- QTFileLib/QTAtom_mvhd.h | 6 +- QTFileLib/QTAtom_stco.cpp | 14 +- QTFileLib/QTAtom_stco.h | 6 +- QTFileLib/QTAtom_stsc.cpp | 38 +- QTFileLib/QTAtom_stsc.h | 8 +- QTFileLib/QTAtom_stsd.cpp | 10 +- QTFileLib/QTAtom_stsd.h | 8 +- QTFileLib/QTAtom_stss.cpp | 23 +- QTFileLib/QTAtom_stss.h | 8 +- QTFileLib/QTAtom_stsz.cpp | 18 +- QTFileLib/QTAtom_stsz.h | 8 +- QTFileLib/QTAtom_stts.cpp | 28 +- QTFileLib/QTAtom_stts.h | 8 +- QTFileLib/QTAtom_tkhd.cpp | 10 +- QTFileLib/QTAtom_tkhd.h | 8 +- QTFileLib/QTAtom_tref.cpp | 10 +- QTFileLib/QTAtom_tref.h | 8 +- QTFileLib/QTFile.cpp | 39 +- QTFileLib/QTFile.h | 10 +- QTFileLib/QTFile_FileControlBlock.cpp | 12 +- QTFileLib/QTFile_FileControlBlock.h | 6 +- QTFileLib/QTHintTrack.cpp | 89 +- QTFileLib/QTHintTrack.h | 9 +- QTFileLib/QTRTPFile.cpp | 87 +- QTFileLib/QTRTPFile.h | 15 +- QTFileLib/QTTrack.cpp | 14 +- QTFileLib/QTTrack.h | 6 +- .../QTBroadcaster.tproj/QTBroadcaster.cpp | 13 +- QTFileTools/QTFileInfo.tproj/QTFileInfo.cpp | 8 +- QTFileTools/QTFileTest.tproj/QTFileTest.cpp | 6 +- .../QTRTPFileTest.tproj/QTRTPFileTest.cpp | 12 +- QTFileTools/QTRTPGen.tproj/QTRTPGen.cpp | 10 +- QTFileTools/QTSDPGen.tproj/QTSDPGen.cpp | 6 +- .../QTSampleLister.tproj/QTSampleLister.cpp | 12 +- QTFileTools/QTTrackInfo.tproj/QTTrackInfo.cpp | 8 +- QTFileTools/RTPFileGen.tproj/RTPFileDefs.h | 6 +- QTFileTools/RTPFileGen.tproj/RTPFileGen.cpp | 12 +- RTCPUtilitiesLib/IncomingRTCPSRPacket.h | 0 RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp | 657 + RTCPUtilitiesLib/RTCPAPPNADUPacket.h | 240 + RTCPUtilitiesLib/RTCPAPPPacket.cpp | 435 +- RTCPUtilitiesLib/RTCPAPPPacket.h | 247 +- RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp | 316 + RTCPUtilitiesLib/RTCPAPPQTSSPacket.h | 272 + RTCPUtilitiesLib/RTCPAckPacket.cpp | 47 +- RTCPUtilitiesLib/RTCPAckPacket.h | 30 +- RTCPUtilitiesLib/RTCPAckPacketFmt.h | 158 + RTCPUtilitiesLib/RTCPNADUPacketFmt.h | 132 + RTCPUtilitiesLib/RTCPPacket.cpp | 49 +- RTCPUtilitiesLib/RTCPPacket.h | 46 +- RTCPUtilitiesLib/RTCPRRPacket.h | 153 + RTCPUtilitiesLib/RTCPSRPacket.cpp | 6 +- RTCPUtilitiesLib/RTCPSRPacket.h | 6 +- RTPMetaInfoLib/RTPMetaInfoPacket.cpp | 6 +- RTPMetaInfoLib/RTPMetaInfoPacket.h | 6 +- RTSPClientLib/ClientSession.cpp | 956 +- RTSPClientLib/ClientSession.h | 144 +- RTSPClientLib/ClientSocket.cpp | 10 +- RTSPClientLib/ClientSocket.h | 7 +- RTSPClientLib/PlayerSimulator.h | 366 + RTSPClientLib/RTPPacket.h | 113 + RTSPClientLib/RTSPClient.cpp | 607 +- RTSPClientLib/RTSPClient.h | 105 +- RegistrySystemPathEditor/PathEditor.cpp | 36 +- SafeStdLib/DynamicModuleStdLib.cpp | 6 +- SafeStdLib/InternalStdLib.cpp | 12 +- Server.tproj/GenerateXMLPrefs.cpp | 6 +- Server.tproj/GenerateXMLPrefs.h | 6 +- Server.tproj/QTSSCallbacks.cpp | 104 +- Server.tproj/QTSSCallbacks.h | 6 +- Server.tproj/QTSSDataConverter.cpp | 18 +- Server.tproj/QTSSDataConverter.h | 6 +- Server.tproj/QTSSDictionary.cpp | 31 +- Server.tproj/QTSSDictionary.h | 12 +- Server.tproj/QTSSErrorLogModule.cpp | 14 +- Server.tproj/QTSSErrorLogModule.h | 6 +- Server.tproj/QTSSExpirationDate.cpp | 8 +- Server.tproj/QTSSExpirationDate.h | 6 +- Server.tproj/QTSSFile.cpp | 6 +- Server.tproj/QTSSFile.h | 6 +- Server.tproj/QTSSMessages.cpp | 6 +- Server.tproj/QTSSMessages.h | 6 +- Server.tproj/QTSSModule.cpp | 96 +- Server.tproj/QTSSModule.h | 36 +- Server.tproj/QTSSPrefs.cpp | 8 +- Server.tproj/QTSSPrefs.h | 6 +- Server.tproj/QTSSSocket.cpp | 6 +- Server.tproj/QTSSSocket.h | 6 +- Server.tproj/QTSSStream.h | 6 +- Server.tproj/QTSSUserProfile.cpp | 15 +- Server.tproj/QTSSUserProfile.h | 7 +- Server.tproj/QTSServer.cpp | 39 +- Server.tproj/QTSServer.h | 6 +- Server.tproj/QTSServerInterface.cpp | 18 +- Server.tproj/QTSServerInterface.h | 17 +- Server.tproj/QTSServerPrefs.cpp | 105 +- Server.tproj/QTSServerPrefs.h | 80 +- Server.tproj/RTCPTask.cpp | 6 +- Server.tproj/RTCPTask.h | 6 +- Server.tproj/RTPBandwidthTracker.cpp | 10 +- Server.tproj/RTPBandwidthTracker.h | 6 +- Server.tproj/RTPOverbufferWindow.cpp | 6 +- Server.tproj/RTPOverbufferWindow.h | 6 +- Server.tproj/RTPPacketResender.cpp | 34 +- Server.tproj/RTPPacketResender.h | 6 +- Server.tproj/RTPSession.cpp | 79 +- Server.tproj/RTPSession.h | 16 +- Server.tproj/RTPSession3GPP.cpp | 98 + Server.tproj/RTPSession3GPP.h | 79 + Server.tproj/RTPSessionInterface.cpp | 33 +- Server.tproj/RTPSessionInterface.h | 28 +- Server.tproj/RTPStream.cpp | 770 +- Server.tproj/RTPStream.h | 98 +- Server.tproj/RTPStream3gpp.cpp | 549 + Server.tproj/RTPStream3gpp.h | 135 + Server.tproj/RTSPProtocol.cpp | 23 +- Server.tproj/RTSPProtocol.h | 6 +- Server.tproj/RTSPRequest.cpp | 48 +- Server.tproj/RTSPRequest.h | 8 +- Server.tproj/RTSPRequest3GPP.cpp | 327 + Server.tproj/RTSPRequest3GPP.h | 250 + Server.tproj/RTSPRequestInterface.cpp | 67 +- Server.tproj/RTSPRequestInterface.h | 33 +- Server.tproj/RTSPRequestStream.cpp | 8 +- Server.tproj/RTSPRequestStream.h | 6 +- Server.tproj/RTSPResponseStream.cpp | 10 +- Server.tproj/RTSPResponseStream.h | 6 +- Server.tproj/RTSPSession.cpp | 299 +- Server.tproj/RTSPSession.h | 12 +- Server.tproj/RTSPSession3GPP.cpp | 65 + .../RTSPSession3GPP.h | 50 +- Server.tproj/RTSPSessionInterface.cpp | 19 +- Server.tproj/RTSPSessionInterface.h | 10 +- Server.tproj/RunServer.cpp | 61 +- Server.tproj/RunServer.h | 6 +- Server.tproj/main.cpp | 43 +- Server.tproj/win32main.cpp | 34 +- StreamingLoadTool/Makefile.POSIX | 65 + StreamingLoadTool/Nokia_N90.conf | 127 + StreamingLoadTool/Nokia_N90_Setting.xls | Bin 0 -> 34304 bytes StreamingLoadTool/StreamingLoadTool.cpp | 1200 + StreamingLoadTool/StreamingLoadTool.dsp | 130 + StreamingLoadTool/dummynet_fixed_start.script | 31 + StreamingLoadTool/dummynet_stop.script | 10 + StreamingLoadTool/dummynet_variable.script | 73 + StreamingLoadTool/gdb_script | 6 + StreamingLoadTool/gdbspam | 1 + StreamingLoadTool/parseSLTOut.py | 203 + StreamingLoadTool/streamingloadtool.cfg | 81 + StreamingLoadTool/streamingloadtool.conf | 129 + StreamingProxy.tproj/get_opt.c | 6 +- StreamingProxy.tproj/get_opt.h | 6 +- StreamingProxy.tproj/proxy.c | 26 +- StreamingProxy.tproj/proxy.h | 6 +- StreamingProxy.tproj/proxy_plat.h | 6 +- StreamingProxy.tproj/proxy_unix.c | 22 +- StreamingProxy.tproj/shared_udp.c | 6 +- StreamingProxy.tproj/shared_udp.h | 6 +- StreamingProxy.tproj/util.c | 13 +- StreamingProxy.tproj/util.h | 6 +- StreamingServer.pbproject/project.pbxproj | 18802 -------- StreamingServer.xcode/project.pbxproj | 21429 --------- StreamingServer.xcodeproj/murata.pbxuser | 873 - StreamingServer.xcodeproj/project.pbxproj | 37199 ++++++++-------- WebAdmin/NetSSLeay/SSLeay.c | 54 +- WebAdmin/QTSSLinkApp/qtsslinkapp_main.m | 6 +- WebAdmin/StartupItems.bproj/dummy.c | 6 +- WebAdmin/WebAdminHtml/adminprotocol-lib.pl | 10 +- WebAdmin/WebAdminHtml/broadcaster_lib.pl | 29 +- WebAdmin/WebAdminHtml/cgi-lib.pl | 3 +- .../change_broadcast_password.html | 3 - WebAdmin/WebAdminHtml/html_en/messages | 4 + .../WebAdminHtml/includes/DarwinDragWidget.js | 136 + WebAdmin/WebAdminHtml/parse_xml.cgi | 25 +- WebAdmin/WebAdminHtml/password-utils.pl | 22 +- WebAdmin/WebAdminHtml/playlist-lib.pl | 3 +- WebAdmin/WebAdminHtml/relay_details.html | 37 + .../WebAdminHtml/relay_details_default.html | 17 + WebAdmin/WebAdminHtml/relayxmlparser.pl | 7 +- WebAdmin/WebAdminHtml/startplaylists.pl | 3 +- WebAdmin/WebAdminHtml/tag_formats.pl | 24 + WebAdmin/WebAdminHtml/tag_types.pl | 24 + WebAdmin/WebAdminHtml/tag_vals.pl | 27 +- WebAdmin/WebAdminHtml/view_broadcast.cgi | 25 +- WebAdmin/perlpath.pl | 24 + WebAdmin/src/streamingadminserver.pl | 9 +- WinNTSupport/Win32header.h | 6 +- WinNTSupport/WinPasswdAssistant.pl | 25 +- broadcasterctl/BroadcasterAdminController.h | 6 +- broadcasterctl/BroadcasterAdminController.m | 10 +- broadcasterctl/BroadcasterRemoteAdmin.h | 6 +- broadcasterctl/broadcasterctl_main.m | 6 +- buildproxytarballx | 35 +- clean | 10 +- clean_dss_osx | 1 - defaultPaths.h | 6 +- deleteSVNdirs | 1 + deleteWinBuildDirs | 2 - dometabuildit | 178 - dpkg/control | 11 - .../English.lproj/DarwinStreamingServer.info | 2 +- .../Resources/English.lproj/ReadMe.rtf | 312 +- .../English.lproj/VolumeCheck.strings | Bin 362 -> 362 bytes .../Contents/Resources/VolumeCheck | 5 +- .../Contents/Resources/killqtss | 11 +- .../Contents/Resources/release_version | 2 +- dss_license_tool.pl | 123 + gdb_script | 2 +- gdbserver | 11 +- my_tru64_cc | 19 - my_tru64_cxx | 24 - parseServerOut.py | 166 + .../Contents/Info.plist | 4 +- .../Resources/English.lproj/ReadMe.rtf | 312 +- .../English.lproj/VolumeCheck.strings | Bin 504 -> 500 bytes .../Contents/Resources/VolumeCheck | 5 +- .../Contents/Resources/killqtss | 11 +- .../Contents/Resources/release_version | 6 +- qtpasswd.tproj/QTSSPasswd.cpp | 25 +- .../Resources/English.lproj/Description.plist | 2 +- .../Contents/Resources/killqtss | 11 +- .../Contents/Resources/release_version | 2 +- revision.h | 18 +- streamingserver.xml | 3 + streamingserver.xml-POSIX | 9 +- submissions/Peter.Bray/comments | 1 - .../Peter.Bray/streamingadminserver.pl.diff-2 | 257 - 542 files changed, 35432 insertions(+), 69571 deletions(-) create mode 100644 APICommonCode/QTSS3GPPModuleUtils.cpp create mode 100644 APICommonCode/QTSS3GPPModuleUtils.h create mode 100644 APIModules/QTSSDSAuthModule/DSAccessChecker.cpp create mode 100644 APIModules/QTSSDSAuthModule/DSAccessChecker.h create mode 100644 APIModules/QTSSDSAuthModule/DSWrappers/CDirService.cpp create mode 100644 APIModules/QTSSDSAuthModule/DSWrappers/CDirService.h create mode 100644 APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.cpp create mode 100644 APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.h create mode 100644 APIModules/QTSSDSAuthModule/DSWrappers/DSDataList.h create mode 100644 APIModules/QTSSDSAuthModule/DSWrappers/DSDataNode.h create mode 100644 APIModules/QTSSDSAuthModule/QTSSDSAuthModule.cpp rename APIModules/{QTSSODAuthModule/QTSSODAuthModule.h => QTSSDSAuthModule/QTSSDSAuthModule.h} (82%) delete mode 100644 APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.cpp delete mode 100644 APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.h create mode 100644 APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.cpp rename APIModules/QTSSDemoAuthorizationModule.bproj/{QTSSDemoModule.h => QTSSDemoAuthorizationModule.h} (68%) delete mode 100644 APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.cpp create mode 100644 APIModules/QTSSDemoRedirectModule.bproj/Makefile.POSIX create mode 100644 APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.cpp rename APIModules/{QTSSSvrControlModule/SCRPITypes.h => QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.h} (70%) delete mode 100644 APIModules/QTSSODAuthModule/AccessCheck.cpp delete mode 100644 APIModules/QTSSODAuthModule/AccessCheck.h delete mode 100644 APIModules/QTSSODAuthModule/QTSSODAuthModule.cpp delete mode 100644 APIModules/QTSSODAuthModule/README delete mode 100644 APIModules/QTSSODAuthModule/dsqtaccess delete mode 100644 APIModules/QTSSSvrControlModule/QTSCRPI.defs delete mode 100644 APIModules/QTSSSvrControlModule/QTSSvrControlModule.cpp delete mode 100644 APIModules/QTSSSvrControlModule/ServerControlAPI.h create mode 100644 CommonUtilitiesLib/SVector.h create mode 100644 Documentation/FAQ.html create mode 100644 Documentation/Howto/Uninstalling_for_OS_X.txt delete mode 100644 Documentation/SourceCodeFAQ.html delete mode 100644 RTCPUtilitiesLib/IncomingRTCPSRPacket.h create mode 100644 RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp create mode 100644 RTCPUtilitiesLib/RTCPAPPNADUPacket.h create mode 100644 RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp create mode 100644 RTCPUtilitiesLib/RTCPAPPQTSSPacket.h create mode 100644 RTCPUtilitiesLib/RTCPAckPacketFmt.h create mode 100644 RTCPUtilitiesLib/RTCPNADUPacketFmt.h create mode 100644 RTCPUtilitiesLib/RTCPRRPacket.h create mode 100644 RTSPClientLib/PlayerSimulator.h create mode 100644 RTSPClientLib/RTPPacket.h create mode 100644 Server.tproj/RTPSession3GPP.cpp create mode 100644 Server.tproj/RTPSession3GPP.h create mode 100644 Server.tproj/RTPStream3gpp.cpp create mode 100644 Server.tproj/RTPStream3gpp.h create mode 100644 Server.tproj/RTSPRequest3GPP.cpp create mode 100644 Server.tproj/RTSPRequest3GPP.h create mode 100644 Server.tproj/RTSPSession3GPP.cpp rename APIModules/QTSSSvrControlModule/QTSSvrControlModule.h => Server.tproj/RTSPSession3GPP.h (51%) create mode 100644 StreamingLoadTool/Makefile.POSIX create mode 100644 StreamingLoadTool/Nokia_N90.conf create mode 100644 StreamingLoadTool/Nokia_N90_Setting.xls create mode 100644 StreamingLoadTool/StreamingLoadTool.cpp create mode 100644 StreamingLoadTool/StreamingLoadTool.dsp create mode 100755 StreamingLoadTool/dummynet_fixed_start.script create mode 100755 StreamingLoadTool/dummynet_stop.script create mode 100755 StreamingLoadTool/dummynet_variable.script create mode 100644 StreamingLoadTool/gdb_script create mode 100644 StreamingLoadTool/gdbspam create mode 100644 StreamingLoadTool/parseSLTOut.py create mode 100644 StreamingLoadTool/streamingloadtool.cfg create mode 100644 StreamingLoadTool/streamingloadtool.conf delete mode 100644 StreamingServer.pbproject/project.pbxproj delete mode 100644 StreamingServer.xcode/project.pbxproj delete mode 100644 StreamingServer.xcodeproj/murata.pbxuser create mode 100644 WebAdmin/WebAdminHtml/includes/DarwinDragWidget.js create mode 100755 deleteSVNdirs delete mode 100755 dometabuildit delete mode 100644 dpkg/control create mode 100755 dss_license_tool.pl delete mode 100755 my_tru64_cc delete mode 100644 my_tru64_cxx create mode 100644 parseServerOut.py delete mode 100644 submissions/Peter.Bray/comments delete mode 100644 submissions/Peter.Bray/streamingadminserver.pl.diff-2 diff --git a/APICommonCode/QTAccessFile.cpp b/APICommonCode/QTAccessFile.cpp index 2c46adb..1307141 100644 --- a/APICommonCode/QTAccessFile.cpp +++ b/APICommonCode/QTAccessFile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -45,6 +45,18 @@ #include "OSArrayObjectDeleter.h" +#include +#include +#include +#include +#include + +#define DEBUG_QTACCESS 0 +#define debug_printf if (DEBUG_QTACCESS) qtss_printf + +char* QTAccessFile::sAccessValidUser = "require valid-user\n"; +char* QTAccessFile::sAccessAnyUser = "require any-user\n"; + UInt8 QTAccessFile::sWhitespaceAndGreaterThanMask[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, //0-9 // \t is a stop @@ -106,12 +118,81 @@ void QTAccessFile::SetAccessFileName(const char *inQTAccessFileName) } +Bool16 QTAccessFile::HaveUser(char *userName, void* extraDataPtr) +{ + Bool16 result = false; + + if (NULL != userName && 0 != userName[0]) + result = true; + + return result; +} + +Bool16 QTAccessFile::HaveGroups( char** groupArray, UInt32 numGroups, void* extraDataPtr) +{ + Bool16 result = false; + + if (numGroups > 0 && groupArray != NULL) + result = true; + + return result; +} + +Bool16 QTAccessFile::HaveRealm( char *userName, StrPtrLen* ioRealmNameStr, void *extraData ) +{ + Bool16 result = false; + + if (ioRealmNameStr != NULL && ioRealmNameStr->Ptr != NULL && ioRealmNameStr->Len > 0) + result = true; + + return result; +} + +void QTAccessFile::GetRealm(StrPtrLen* accessRealm, StrPtrLen* ioRealmNameStr, char *userName,void *extraDataPtr ) +{ + + if (ioRealmNameStr->Len <= accessRealm->Len) + accessRealm->Len = ioRealmNameStr->Len -1; // just copy what we can + ::memcpy(ioRealmNameStr->Ptr, accessRealm->Ptr,accessRealm->Len); + ioRealmNameStr->Ptr[accessRealm->Len] = 0; + +} + +Bool16 QTAccessFile::TestUser(StrPtrLen* accessUser, char *userName,void *extraDataPtr ) +{ + Bool16 result = false; + + if ( accessUser->Equal(userName) ) + result = true; + + return result; +} + +Bool16 QTAccessFile::TestGroup( StrPtrLen* accessGroup, char *userName, char**groupArray, UInt32 numGroups, void *extraDataPtr) +{ + + for (UInt32 index = 0; index < numGroups; index ++) + { if(accessGroup->Equal(groupArray[index])) + return true; + } + + return false; + +} + +Bool16 QTAccessFile::TestExtraData( StrPtrLen* wordPtr, StringParser* lineParserPtr, void* extraDataPtr) +{ + return false; +} + + Bool16 QTAccessFile::AccessAllowed ( char *userName, char**groupArray, UInt32 numGroups, StrPtrLen *accessFileBufPtr, - QTSS_ActionFlags inFlags,StrPtrLen* ioRealmNameStr + QTSS_ActionFlags inFlags,StrPtrLen* ioRealmNameStr, Bool16 *outAllowAnyUserPtr, void *extraDataPtr ) { if (NULL == accessFileBufPtr || NULL == accessFileBufPtr->Ptr || 0 == accessFileBufPtr->Len) - return false; // nothing to check + return true; // nothing to check + if (ioRealmNameStr != NULL && ioRealmNameStr->Ptr != NULL && ioRealmNameStr->Len > 0) ioRealmNameStr->Ptr[0] = 0; @@ -123,15 +204,14 @@ Bool16 QTAccessFile::AccessAllowed ( char *userName, char**groupArray, UInt32 Bool16 haveRealmResultBuffer = false; Bool16 haveGroups = false; - if (NULL != userName && 0 != userName[0]) - haveUserName = true; - - if (numGroups > 0 && groupArray != NULL) - haveGroups = true; - - if (ioRealmNameStr != NULL && ioRealmNameStr->Ptr != NULL && ioRealmNameStr->Len > 0) - haveRealmResultBuffer = true; + *outAllowAnyUserPtr = false; + haveUserName = HaveUser(userName, extraDataPtr); + + haveGroups = HaveGroups(groupArray, numGroups, extraDataPtr); + + haveRealmResultBuffer = HaveRealm(userName, ioRealmNameStr, extraDataPtr ); + while( accessFileParser.GetDataRemaining() != 0 ) { accessFileParser.GetThruEOL(&line); // Read each line @@ -176,10 +256,8 @@ Bool16 QTAccessFile::AccessAllowed ( char *userName, char**groupArray, UInt32 lineParser.GetThruEOL(&word); StringParser::UnQuote(&word);// if the parsed string is surrounded by quotes then remove them. - if (ioRealmNameStr->Len <= word.Len) - word.Len = ioRealmNameStr->Len -1; // just copy what we can - ::memcpy(ioRealmNameStr->Ptr, word.Ptr,word.Len); - ioRealmNameStr->Ptr[word.Len] = 0; + GetRealm(&word, ioRealmNameStr, userName, extraDataPtr ); + // we don't change the buffer len ioRealmNameStr->Len because we might have another AuthName tag to copy continue; // done with AuthName (realm) } @@ -195,7 +273,9 @@ Bool16 QTAccessFile::AccessAllowed ( char *userName, char**groupArray, UInt32 } if ( word.Equal("any-user") ) - { return true; + { + *outAllowAnyUserPtr = true; + return true; } if (!haveUserName) @@ -208,9 +288,9 @@ Bool16 QTAccessFile::AccessAllowed ( char *userName, char**groupArray, UInt32 while (word.Len != 0) // compare each word in the line { - if ( word.Equal(userName) ) - { return true; - } + if (TestUser(&word, userName, extraDataPtr )) + return true; + lineParser.ConsumeWhitespace(); lineParser.ConsumeUntilWhitespace(&word); } @@ -224,16 +304,18 @@ Bool16 QTAccessFile::AccessAllowed ( char *userName, char**groupArray, UInt32 while (word.Len != 0) // compare each word in the line { - for (UInt32 index = 0; index < numGroups; index ++) - { if(word.Equal(groupArray[index])) - return true; - } - + if (TestGroup(&word, userName, groupArray, numGroups, extraDataPtr) ) + return true; + lineParser.ConsumeWhitespace(); lineParser.ConsumeUntilWhitespace(&word); } continue; // done with "require group" line } + + if (TestExtraData(&word, &lineParser, extraDataPtr)) + return true; + continue; // done with unparsed "require" line } @@ -323,58 +405,58 @@ QTSS_AuthScheme QTAccessFile::FindUsersAndGroupsFilesAndAuthScheme(char* inAcces while( accessFileParser.GetDataRemaining() != 0 ) { - accessFileParser.GetThruEOL(&line); // Read each line - StringParser lineParser(&line); - lineParser.ConsumeWhitespace(); //skip over leading whitespace - if (lineParser.GetDataRemaining() == 0) // must be an empty line - continue; - - char firstChar = lineParser.PeekFast(); - if ( (firstChar == '#') || (firstChar == '\0') ) - continue; //skip over comments and blank lines... + accessFileParser.GetThruEOL(&line); // Read each line + StringParser lineParser(&line); + lineParser.ConsumeWhitespace(); //skip over leading whitespace + if (lineParser.GetDataRemaining() == 0) // must be an empty line + continue; + + char firstChar = lineParser.PeekFast(); + if ( (firstChar == '#') || (firstChar == '\0') ) + continue; //skip over comments and blank lines... lineParser.ConsumeUntilWhitespace(&word); if ( word.Equal(" or - while (word.Len != 0) // compare each word in the line - { - if (word.Equal("WRITE") ) - { - currentFlags |= inAction & qtssActionFlagsWrite; // accept following lines if inFlags has write - } - - if (word.Equal("READ") ) - { - currentFlags |= inAction & qtssActionFlagsRead; // accept following lines if inFlags has read - } - + { + currentFlags = qtssActionFlagsNoFlags; // clear to no access lineParser.ConsumeWhitespace(); - lineParser.ConsumeUntil(&word, sWhitespaceAndGreaterThanMask); + lineParser.ConsumeUntil( &word, sWhitespaceAndGreaterThanMask); // the flag or + while (word.Len != 0) // compare each word in the line + { + if (word.Equal("WRITE") ) + { + currentFlags |= inAction & qtssActionFlagsWrite; // accept following lines if inFlags has write } - continue; //done with limit line + + if (word.Equal("READ") ) + { + currentFlags |= inAction & qtssActionFlagsRead; // accept following lines if inFlags has read + } + + lineParser.ConsumeWhitespace(); + lineParser.ConsumeUntil(&word, sWhitespaceAndGreaterThanMask); + } + continue; //done with limit line } if ( word.Equal("") ) - currentFlags = qtssActionFlagsRead; // set the current access state to the default of read access + currentFlags = qtssActionFlagsRead; // set the current access state to the default of read access if (0 == (currentFlags & inAction)) continue; // ignore lines because inFlags doesn't match the current access state if (word.Equal("AuthUserFile") ) - { - lineParser.ConsumeWhitespace(); - lineParser.GetThruEOL(&word); - StringParser::UnQuote(&word);// if the parsed string is surrounded by quotes then remove them. - - if(*outUsersFilePath != NULL) // we are encountering the AuthUserFile keyword twice! - delete[] *outUsersFilePath; // The last one found takes precedence...delete the previous path - - *outUsersFilePath = word.GetAsCString(); - continue; + { + lineParser.ConsumeWhitespace(); + lineParser.GetThruEOL(&word); + StringParser::UnQuote(&word);// if the parsed string is surrounded by quotes then remove them. + + if(*outUsersFilePath != NULL) // we are encountering the AuthUserFile keyword twice! + delete[] *outUsersFilePath; // The last one found takes precedence...delete the previous path + + *outUsersFilePath = word.GetAsCString(); + continue; } if (word.Equal("AuthGroupFile") ) @@ -385,8 +467,10 @@ QTSS_AuthScheme QTAccessFile::FindUsersAndGroupsFilesAndAuthScheme(char* inAcces if(*outGroupsFilePath != NULL) // we are encountering the AuthGroupFile keyword twice! delete[] *outGroupsFilePath; // The last one found takes precedence...delete the previous path - *outGroupsFilePath = word.GetAsCString(); - continue; + + *outGroupsFilePath = word.GetAsCString(); + + continue; } if (word.Equal("AuthScheme") ) @@ -407,11 +491,14 @@ QTSS_AuthScheme QTAccessFile::FindUsersAndGroupsFilesAndAuthScheme(char* inAcces return authScheme; } -QTSS_Error QTAccessFile::AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bool16 allowNoAccessFiles, QTSS_ActionFlags noAction, QTSS_ActionFlags authorizeAction) +QTSS_Error QTAccessFile::AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bool16 allowNoAccessFiles, QTSS_ActionFlags noAction, QTSS_ActionFlags authorizeAction, Bool16 *outAuthorizedPtr, Bool16 *outAllowAnyUserPtr) { - if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) + if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) || (NULL == outAllowAnyUserPtr) || (NULL == outAuthorizedPtr) ) return QTSS_RequestFailed; + *outAllowAnyUserPtr = false; + *outAuthorizedPtr = false; + QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; // get the type of request @@ -441,13 +528,7 @@ QTSS_Error QTAccessFile::AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bo char* accessFilePath = QTAccessFile::GetAccessFile_Copy(movieRootDirStr, pathBuffStr); OSCharArrayDeleter accessFilePathDeleter(accessFilePath); - - if (NULL == accessFilePath) // we are done nothing to do - { if (QTSS_NoErr != QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserAllowed, 0, &allowNoAccessFiles, sizeof(allowNoAccessFiles))) - return QTSS_RequestFailed; // Bail on the request. The Server will handle the error - return QTSS_NoErr; - } - + char* username = QTSSModuleUtils::GetUserName_Copy(theUserProfile); OSCharArrayDeleter usernameDeleter(username); @@ -459,11 +540,24 @@ QTSS_Error QTAccessFile::AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bo (void)QTSSModuleUtils::ReadEntireFile(accessFilePath, &accessFileBuf); OSCharArrayDeleter accessFileBufDeleter(accessFileBuf.Ptr); + if (accessFileBuf.Len == 0 && !allowNoAccessFiles) + { accessFileBuf.Set(sAccessValidUser); + if (DEBUG_QTACCESS) + qtss_printf("QTAccessFile::AuthorizeRequest SET Accessfile valid user for no accessfile %s\n", sAccessValidUser); + } + + if (accessFileBuf.Len == 0 && allowNoAccessFiles) + { accessFileBuf.Set(sAccessAnyUser); + if (DEBUG_QTACCESS) + qtss_printf("QTAccessFile::AuthorizeRequest SET Accessfile any user for no access file %s\n", sAccessAnyUser); + } + char realmName[kBuffLen] = { 0 }; StrPtrLen realmNameStr(realmName,kBuffLen -1); //check if this user is allowed to see this movie - Bool16 allowRequest = QTAccessFile::AccessAllowed(username, groupCharPtrArray, numGroups, &accessFileBuf, authorizeAction,&realmNameStr); + Bool16 allowRequest = this->AccessAllowed(username, groupCharPtrArray, numGroups, &accessFileBuf, authorizeAction,&realmNameStr, outAllowAnyUserPtr ); + debug_printf("accessFile.AccessAllowed for user=%s returned %d\n", username, allowRequest); // Get the auth scheme QTSS_AuthScheme theAuthScheme = qtssAuthNone; @@ -477,7 +571,7 @@ QTSS_Error QTAccessFile::AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bo if((theAuthScheme == qtssAuthBasic) && (realmNameStr.Ptr[0] != '\0')) //set the realm if we have one (void) QTSS_SetValue(theRTSPRequest,qtssRTSPReqURLRealm, 0, realmNameStr.Ptr, ::strlen(realmNameStr.Ptr)); else // if auth scheme is basic and no realm is present, or if the auth scheme is digest, use the realm from the users file - { + { char* userRealm = NULL; (void) QTSS_GetValueAsString(theUserProfile, qtssUserRealm, 0, &userRealm); if(userRealm != NULL) @@ -487,10 +581,79 @@ QTSS_Error QTAccessFile::AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bo } } - // We are denying the request so pass false back to the server. - if (QTSS_NoErr != QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserAllowed, 0, &allowRequest, sizeof(allowRequest))) - return QTSS_RequestFailed; // Bail on the request. The Server will handle the error + *outAuthorizedPtr = allowRequest; + + Bool16 founduser = this->HaveUser(username, NULL); + Bool16 authContinue = true; + char nameBuff[256]; + StrPtrLen reqNameStr(nameBuff, kBuffLen); + StrPtrLen profileNameStr(username); + theErr = QTSS_GetValue (theRTSPRequest,qtssRTSPReqUserName,0, (void *) reqNameStr.Ptr, &reqNameStr.Len); + + +if (DEBUG_QTACCESS) +{ qtss_printf("QTAccessFile::AuthorizeRequest qtaccess profile user =%s ", username); + reqNameStr.PrintStr("request user=","\n"); + qtss_printf("QTAccessFile::AuthorizeRequest allowRequest=%d founduser=%d authContinue=%d\n", allowRequest, founduser, authContinue); +} + if (allowRequest && founduser) + theErr = QTSSModuleUtils::AuthorizeRequest(theRTSPRequest, &allowRequest, &founduser,&authContinue); + if (!allowRequest && !founduser) + theErr = QTSSModuleUtils::AuthorizeRequest(theRTSPRequest, &allowRequest, &founduser,&authContinue); + +if (DEBUG_QTACCESS) +{ qtss_printf("QTAccessFile::AuthorizeRequest QTSSModuleUtils::AuthorizeRequest qtaccess profile user =%s ", username); + reqNameStr.PrintStr("request user=","\n"); + qtss_printf("QTAccessFile::AuthorizeRequest allowRequest=%d founduser=%d authContinue=%d\n", allowRequest, founduser, authContinue); +} + + return theErr; +} + + +bool DSAccessFile::CheckGroupMembership(const char* inUsername, const char* inGroupName) +{ + // In Tiger, group membership is painfully simple: we ask memberd for it! + struct passwd *user = NULL; + struct group *group = NULL; + uuid_t userID; + uuid_t groupID; + int isMember = 0; + + // Look up the user using the POSIX APIs: only care about the UID. + user = getpwnam(inUsername); + if ( user == NULL ) + return false; + uuid_clear(userID); + if ( mbr_uid_to_uuid(user->pw_uid, userID) ) + return false; + + // Look up the group using the POSIX APIs: only care about the GID. + group = getgrnam(inGroupName); + endgrent(); + if ( group == NULL ) + return false; + uuid_clear(groupID); + if ( mbr_gid_to_uuid(group->gr_gid, groupID) ) + return false; - return QTSS_NoErr; + // mbr_check_membership() returns 0 on success and error code on failure. + if ( mbr_check_membership(userID, groupID, &isMember) ) + return false; + return (bool)isMember; } +Bool16 DSAccessFile::ValidUser( char*userName, void* extraDataPtr) +{ + struct passwd *user = getpwnam(userName); + Bool16 result =true; + if ( user == NULL ) + { + return result; + } + + return true; +} + + + diff --git a/APICommonCode/QTAccessFile.h b/APICommonCode/QTAccessFile.h index 173bec4..f6fe160 100644 --- a/APICommonCode/QTAccessFile.h +++ b/APICommonCode/QTAccessFile.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -37,6 +37,8 @@ #include "QTSS.h" #include "StrPtrLen.h" #include "OSHeaders.h" +#include "StringParser.h" +#include "OSMutex.h" class QTAccessFile { @@ -51,6 +53,16 @@ class QTAccessFile // GetGroupsArrayCopy allocates outGroupCharPtrArray. Caller must "delete [] outGroupCharPtrArray" when done. static char* GetAccessFile_Copy( const char* movieRootDir, const char* dirPath); + //over ride these in a sub class + virtual Bool16 HaveUser(char *userName, void* extraDataPtr); + virtual Bool16 HaveGroups( char** groupArray, UInt32 numGroups, void* extraDataPtr); + virtual Bool16 HaveRealm( char *userName, StrPtrLen* ioRealmNameStr, void *extraData ); + virtual Bool16 TestUser(StrPtrLen* accessUser, char *userName,void *extraDataPtr ); + virtual Bool16 TestGroup( StrPtrLen* accessGroup, char *userName, char**groupArray, UInt32 numGroups, void *extraDataPtr); + virtual Bool16 TestExtraData( StrPtrLen* wordPtr, StringParser* lineParserPtr, void* extraDataPtr); + virtual void GetRealm(StrPtrLen* accessRealm, StrPtrLen* ioRealmNameStr, char *userName,void *extraDataPtr ); + virtual Bool16 ValidUser(char* userName, void* extraDataPtr) { return false; }; + //AccessAllowed // // This routine is used to get the Realm to send back to a user and to check if a user has access @@ -60,24 +72,46 @@ class QTAccessFile // To get a returned ioRealmNameStr value the ioRealmNameStr and ioRealmNameStr->Ptr must be non-NULL // valid pointers. The ioRealmNameStr.Len should be set to the ioRealmNameStr->Ptr's allocated len. // numGroups: The number of groups in the groupArray. Use GetGroupsArrayCopy to create the groupArray. - static Bool16 AccessAllowed ( char *userName, char**groupArray, UInt32 numGroups, - StrPtrLen *accessFileBufPtr,QTSS_ActionFlags inFlags,StrPtrLen* ioRealmNameStr + Bool16 AccessAllowed ( char *userName, char**groupArray, UInt32 numGroups, + StrPtrLen *accessFileBufPtr,QTSS_ActionFlags inFlags,StrPtrLen* ioRealmNameStr, + Bool16* outAllowAnyUserPtr, + void *extraDataPtr = NULL ); static void SetAccessFileName(const char *inQTAccessFileName); //makes a copy and stores it static char* GetAccessFileName() { return sQTAccessFileName; }; // a reference. Don't delete! - // allocates memory for outUsersFilePath and outGroupsFilePath - remember to delete - // returns the auth scheme - static QTSS_AuthScheme FindUsersAndGroupsFilesAndAuthScheme(char* inAccessFilePath, QTSS_ActionFlags inAction, char** outUsersFilePath, char** outGroupsFilePath); + // allocates memory for outUsersFilePath and outGroupsFilePath - remember to delete + // returns the auth scheme + static QTSS_AuthScheme FindUsersAndGroupsFilesAndAuthScheme(char* inAccessFilePath, QTSS_ActionFlags inAction, char** outUsersFilePath, char** outGroupsFilePath); - static QTSS_Error AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bool16 allowNoAccessFiles, QTSS_ActionFlags noAction, QTSS_ActionFlags authorizeAction); - + QTSS_Error AuthorizeRequest(QTSS_StandardRTSP_Params* inParams, Bool16 allowNoAccessFiles, QTSS_ActionFlags noAction, QTSS_ActionFlags authorizeAction, Bool16 *outAuthorizedPtr, Bool16* outAllowAnyUserPtr = NULL); + virtual ~QTAccessFile() {}; + private: static char* sQTAccessFileName; // managed by the QTAccess module static Bool16 sAllocatedName; static OSMutex* sAccessFileMutex; + static char* sAccessValidUser; + static char* sAccessAnyUser; + + }; +class DSAccessFile : public QTAccessFile +{ + public: + virtual ~DSAccessFile() {} + virtual Bool16 HaveGroups( char** groupArray, UInt32 numGroups, void* extraDataPtr) { return true; } + virtual Bool16 TestGroup( StrPtrLen* accessGroup, char *userName, char**groupArray, UInt32 numGroups, void *extraDataPtr) + { StrPtrLenDel deleter( accessGroup->GetAsCString() ); + return this->CheckGroupMembership(userName, deleter.Ptr ); + } + virtual Bool16 ValidUser(char* userName, void* extraDataPtr); + bool CheckGroupMembership(const char* inUsername, const char* inGroupName); + +}; + + #endif //_QT_ACCESS_FILE_H_ diff --git a/APICommonCode/QTSS3GPPModuleUtils.cpp b/APICommonCode/QTSS3GPPModuleUtils.cpp new file mode 100644 index 0000000..b55e09d --- /dev/null +++ b/APICommonCode/QTSS3GPPModuleUtils.cpp @@ -0,0 +1,128 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: QTSS3GPPModuleUtils.cpp + + Contains: Implements utility routines defined in QTSS3GPPModuleUtils.h. + +*/ + +#include "QTSS3GPPModuleUtils.h" +#include "QTSSModuleUtils.h" +#include "QTSS_Private.h" + +#include "StrPtrLen.h" +#include "OSArrayObjectDeleter.h" +#include "OSMemory.h" +#include "MyAssert.h" +#include "StringFormatter.h" +#include "ResizeableStringFormatter.h" +#include "StringParser.h" +#include "SafeStdLib.h" + + +QTSS_TextMessagesObject QTSS3GPPModuleUtils::sMessages = NULL; +QTSS_ServerObject QTSS3GPPModuleUtils::sServer = NULL; +QTSS_PrefsObject QTSS3GPPModuleUtils::sServerPrefs = NULL; +QTSS_StreamRef QTSS3GPPModuleUtils::sErrorLog = NULL; +StrPtrLen QTSS3GPPModuleUtils::s3gppBitRateAdaptationSDPStr("a=3GPP-Adaptation-Support:"); +const char* k3gppRateAdaptationReportFreqPrefName = "3gpp_protocol_rate_adaptation_report_frequency"; + +Bool16 QTSS3GPPModuleUtils::s3gppEnabled = false; +Bool16 QTSS3GPPModuleUtils::s3gppRateAdaptationEnabled = false; +UInt16 QTSS3GPPModuleUtils::s3gppRateAdaptationReportFrequency = 1; + +void QTSS3GPPModuleUtils::Initialize(QTSS_Initialize_Params* initParams) +{ + if (NULL == initParams) + return; + + sServer = initParams->inServer; + sServerPrefs = initParams->inPrefs; + sMessages = initParams->inMessages; + sErrorLog = initParams->inErrorLogStream; + +} + +void QTSS3GPPModuleUtils::ValidatePrefs() +{ + +// min and max values per 3gpp rel-6 A26234 5.3.3.5 + if (s3gppRateAdaptationReportFrequency < 1 || s3gppRateAdaptationReportFrequency > 9) + QTSSModuleUtils::LogPrefErrorStr( qtssWarningVerbosity, (char*) k3gppRateAdaptationReportFreqPrefName, "has an invalid value: valid range is [1..9]"); + + if (s3gppRateAdaptationReportFrequency < 1) + s3gppRateAdaptationReportFrequency = 1; + + if (s3gppRateAdaptationReportFrequency > 9) + s3gppRateAdaptationReportFrequency = 9; + + +} + + + +void QTSS3GPPModuleUtils::ReadPrefs() +{ + + const Bool16 kDefaultEnable = true; + const UInt16 kDefaultReportFreq = 1; + QTSSModuleUtils::GetAttribute(sServerPrefs,"enable_3gpp_protocol", qtssAttrDataTypeBool16, + &s3gppEnabled,(void *)&kDefaultEnable, sizeof(s3gppEnabled)); + + QTSSModuleUtils::GetAttribute(sServerPrefs,"enable_3gpp_protocol_rate_adaptation", qtssAttrDataTypeBool16, + &s3gppRateAdaptationEnabled,(void *)&kDefaultEnable, sizeof(s3gppRateAdaptationEnabled)); + + QTSSModuleUtils::GetAttribute(sServerPrefs, (char *) k3gppRateAdaptationReportFreqPrefName, qtssAttrDataTypeUInt16, + &s3gppRateAdaptationReportFrequency,(void *)&kDefaultReportFreq, sizeof(s3gppRateAdaptationReportFrequency)); + + + QTSS3GPPModuleUtils::ValidatePrefs(); +} + +SDPContainer* QTSS3GPPModuleUtils::Get3GPPSDPFeatureListCopy(ResizeableStringFormatter &buffer) +{ + SDPContainer* resultList = NEW SDPContainer; + StrPtrLen theLinePtr; + + + if (s3gppEnabled) + { + if (s3gppRateAdaptationEnabled) + { + buffer.Put(s3gppBitRateAdaptationSDPStr); + buffer.Put((SInt32) s3gppRateAdaptationReportFrequency); + buffer.PutEOL(); + theLinePtr.Set(buffer.GetBufPtr(),buffer.GetBytesWritten()); + resultList->AddHeaderLine(&theLinePtr); + buffer.Reset(); + } + + } + + + return resultList; +} + diff --git a/APICommonCode/QTSS3GPPModuleUtils.h b/APICommonCode/QTSS3GPPModuleUtils.h new file mode 100644 index 0000000..e841522 --- /dev/null +++ b/APICommonCode/QTSS3GPPModuleUtils.h @@ -0,0 +1,74 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: QTSS3GPPModuleUtils.h + + Contains: Utility routines for 3GPP modules to use. + +*/ + + +#ifndef _QTSS_3GPP_MODULE_UTILS_H_ +#define _QTSS_3GPP_MODULE_UTILS_H_ + +#include +#include "SafeStdLib.h" +#include "QTSS.h" +#include "StrPtrLen.h" +#include "SDPUtils.h" + +class QTSS3GPPModuleUtils +{ + public: + + + static void Initialize(QTSS_Initialize_Params* initParams); + static void ReadPrefs(); + + + static SDPContainer* Get3GPPSDPFeatureListCopy(ResizeableStringFormatter &buffer); + + private: + + static void ValidatePrefs(); + + // + // Used in the implementation of the above functions + + static QTSS_TextMessagesObject sMessages; + static QTSS_ServerObject sServer; + static QTSS_PrefsObject sServerPrefs; + static QTSS_StreamRef sErrorLog; + static StrPtrLen s3gppBitRateAdaptationSDPStr; + static Bool16 s3gppEnabled; + static Bool16 s3gppRateAdaptationEnabled; + static UInt16 s3gppRateAdaptationReportFrequency; + + + +}; + + +#endif //_QTSS_3GPP_MODULE_UTILS_H_ diff --git a/APICommonCode/QTSSMemoryDeleter.h b/APICommonCode/QTSSMemoryDeleter.h index 91f958b..d707439 100644 --- a/APICommonCode/QTSSMemoryDeleter.h +++ b/APICommonCode/QTSSMemoryDeleter.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APICommonCode/QTSSModuleUtils.cpp b/APICommonCode/QTSSModuleUtils.cpp index da6359b..4231c60 100644 --- a/APICommonCode/QTSSModuleUtils.cpp +++ b/APICommonCode/QTSSModuleUtils.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -184,6 +184,20 @@ void QTSSModuleUtils::LogErrorStr( QTSS_ErrorVerbosity inVerbosity, char* inMess (void)QTSS_Write(sErrorLog, inMessage, ::strlen(inMessage), NULL, inVerbosity); } + +void QTSSModuleUtils::LogPrefErrorStr( QTSS_ErrorVerbosity inVerbosity, char* preference, char* inMessage) +{ + if (inMessage == NULL || preference == NULL) + { Assert(0); + return; + } + char buffer[1024]; + + qtss_snprintf(buffer,sizeof(buffer), "Server preference %s %s", preference, inMessage); + + (void)QTSS_Write(sErrorLog, buffer, ::strlen(buffer), NULL, inVerbosity); +} + char* QTSSModuleUtils::GetFullPath( QTSS_RTSPRequestObject inRequest, QTSS_AttributeID whichFileType, @@ -389,7 +403,7 @@ QTSS_Error QTSSModuleUtils::SendErrorResponse( QTSS_RTSPRequestObject inRequest char buff[32]; - qtss_sprintf(buff,"%lu",theErrorMsgFormatter.GetBytesWritten()); + qtss_sprintf(buff,"%"_U32BITARG_"",theErrorMsgFormatter.GetBytesWritten()); (void)QTSS_AppendRTSPHeader(inRequest, qtssContentLengthHeader, buff, ::strlen(buff)); } @@ -426,7 +440,7 @@ QTSS_Error QTSSModuleUtils::SendErrorResponseWithMessage( QTSS_RTSPRequestObject theErrorMessage.Set(inErrorMessagePtr->Ptr, inErrorMessagePtr->Len); char buff[32]; - qtss_sprintf(buff,"%lu",inErrorMessagePtr->Len); + qtss_sprintf(buff,"%"_U32BITARG_"",inErrorMessagePtr->Len); (void)QTSS_AppendRTSPHeader(inRequest, qtssContentLengthHeader, buff, ::strlen(buff)); } @@ -480,7 +494,7 @@ QTSS_Error QTSSModuleUtils::SendHTTPErrorResponse( QTSS_RTSPRequestObject inRequ (void) QTSS_GetValue(sServer, qtssSvrRTSPServerHeader, 0, (void*)serverHeaderBuffer,&len); serverHeaderBuffer[len] = 0; // terminate. - qtss_snprintf(messageLineBuffer,maxMessageBufferChars, "HTTP/1.1 %lu %s",realCode, errorMsg); + qtss_snprintf(messageLineBuffer,maxMessageBufferChars, "HTTP/1.1 %"_U32BITARG_" %s",realCode, errorMsg); theErrorMessage.Put(messageLineBuffer,::strlen(messageLineBuffer)); theErrorMessage.PutEOL(); @@ -515,7 +529,7 @@ QTSS_Error QTSSModuleUtils::SendHTTPErrorResponse( QTSS_RTSPRequestObject inRequ theErrorMessage.Put(bodyHeaderType.Ptr,bodyHeaderType.Len); theErrorMessage.PutEOL(); - qtss_snprintf(messageLineBuffer,maxMessageBufferChars, "Content-Length: %lu", bodyMessage.GetBytesWritten()); + qtss_snprintf(messageLineBuffer,maxMessageBufferChars, "Content-Length: %"_U32BITARG_"", bodyMessage.GetBytesWritten()); theErrorMessage.Put(messageLineBuffer,::strlen(messageLineBuffer)); theErrorMessage.PutEOL(); } @@ -548,7 +562,7 @@ void QTSSModuleUtils::SendDescribeResponse(QTSS_RTSPRequestObject inRequest, { //write content size header char buf[32]; - qtss_sprintf(buf, "%ld", inTotalLength); + qtss_sprintf(buf, "%"_S32BITARG_"", inTotalLength); (void)QTSS_AppendRTSPHeader(inRequest, qtssContentLengthHeader, &buf[0], ::strlen(&buf[0])); (void)QTSS_SendStandardRTSPResponse(inRequest, inSession, 0); @@ -955,7 +969,12 @@ Bool16 QTSSModuleUtils::FindStringInAttributeList(QTSS_Object inObject, QTSS_Att tempString.Delete(); (void) QTSS_GetValueAsString(inObject, listID, index, &tempString.Ptr); tempString.Set(tempString.Ptr); - + if (tempString.Ptr == NULL) + return false; + + if (tempString.Equal(StrPtrLen("*",1))) + return true; + if (inStrPtr->FindString(tempString.Ptr)) return true; @@ -990,12 +1009,63 @@ Bool16 QTSSModuleUtils::HavePlayerProfile(QTSS_PrefsObject inPrefObjectToCheck, return QTSSModuleUtils::FindStringInAttributeList(inPrefObjectToCheck, qtssPrefsPlayersReqNoPauseTimeAdjust, &userAgentStr); } break; + + case QTSSModuleUtils::kDelayRTPStreamsUntilAfterRTSPResponse: + { + return QTSSModuleUtils::FindStringInAttributeList(inPrefObjectToCheck, qtssPrefsPlayersReqRTPStartTimeAdjust, &userAgentStr); + } + break; + + case QTSSModuleUtils::kDisable3gppRateAdaptation: + { + return QTSSModuleUtils::FindStringInAttributeList(inPrefObjectToCheck, qtssPrefsPlayersReqDisable3gppRateAdapt, &userAgentStr); + } + break; + + + case QTSSModuleUtils::kAdjust3gppTargetTime: + { + return QTSSModuleUtils::FindStringInAttributeList(inPrefObjectToCheck, qtssPrefsPlayersReq3GPPTargetTime, &userAgentStr); + } + break; + + case QTSSModuleUtils::kDisableThinning: + { + return QTSSModuleUtils::FindStringInAttributeList(inPrefObjectToCheck, qtssPrefsPlayersReqDisableThinning, &userAgentStr); + } + break; + } return false; } +QTSS_Error QTSSModuleUtils::AuthorizeRequest(QTSS_RTSPRequestObject theRTSPRequest, Bool16* allowed, Bool16*foundUser, Bool16 *authContinue) +{ + QTSS_Error theErr = QTSS_NoErr; + //printf("QTSSModuleUtils::AuthorizeRequest allowed=%d foundUser=%d authContinue=%d\n", *allowed, *foundUser, *authContinue); + + if (NULL != allowed) + theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserAllowed, 0, allowed, sizeof(Bool16)); + if (QTSS_NoErr != theErr) + return theErr; + + if (NULL != foundUser) + theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserFound, 0, foundUser, sizeof(Bool16)); + if (QTSS_NoErr != theErr) + return theErr; + + if (NULL != authContinue) + theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqAuthHandled, 0, authContinue, sizeof(Bool16)); + + return theErr; +} + + + + + IPComponentStr IPComponentStr::sLocalIPCompStr("127.0.0.*"); IPComponentStr::IPComponentStr(char *theAddressPtr) diff --git a/APICommonCode/QTSSModuleUtils.h b/APICommonCode/QTSSModuleUtils.h index 03f350f..523239c 100644 --- a/APICommonCode/QTSSModuleUtils.h +++ b/APICommonCode/QTSSModuleUtils.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -42,10 +42,16 @@ class QTSSModuleUtils { public: + // compatibiltiy features for certain players + enum { kRequiresRTPInfoSeqAndTime = 0, kAdjustBandwidth = 1, - kDisablePauseAdjustedRTPTime= 2 + kDisablePauseAdjustedRTPTime= 2, + kDelayRTPStreamsUntilAfterRTSPResponse = 3, + kDisable3gppRateAdaptation =4, + kAdjust3gppTargetTime = 5, + kDisableThinning =6, }; @@ -74,6 +80,7 @@ class QTSSModuleUtils char* inArg2 = NULL); static void LogErrorStr( QTSS_ErrorVerbosity inVerbosity, char* inMessage); + static void LogPrefErrorStr( QTSS_ErrorVerbosity inVerbosity, char* preference, char* inMessage); // This function constructs a C-string of the full path to the file being requested. // You may opt to append an optional suffix, or pass in NULL. You are responsible @@ -200,11 +207,13 @@ class QTSSModuleUtils // Result is a bitmap of flags // static QTSS_ActionFlags GetRequestActions(QTSS_RTSPRequestObject theRTSPRequest); - + static char* GetLocalPath_Copy(QTSS_RTSPRequestObject theRTSPRequest); static char* GetMoviesRootDir_Copy(QTSS_RTSPRequestObject theRTSPRequest); static QTSS_UserProfileObject GetUserProfileObject(QTSS_RTSPRequestObject theRTSPRequest); - + static QTSS_AttrRights GetRights(QTSS_UserProfileObject theUserProfileObject); + static char* GetExtendedRights(QTSS_UserProfileObject theUserProfileObject, UInt32 index); + static char* GetUserName_Copy(QTSS_UserProfileObject inUserProfile); static char** GetGroupsArray_Copy(QTSS_UserProfileObject inUserProfile, UInt32 *outNumGroupsPtr); static Bool16 UserInGroup(QTSS_UserProfileObject inUserProfile, char* inGroupName, UInt32 inGroupNameLen); @@ -222,6 +231,9 @@ class QTSSModuleUtils static Bool16 HavePlayerProfile(QTSS_PrefsObject inPrefObjectToCheck, QTSS_StandardRTSP_Params* inParams, UInt32 feature); + static QTSS_Error AuthorizeRequest(QTSS_RTSPRequestObject theRTSPRequest, Bool16* allowed, Bool16*haveUser,Bool16 *authContinue); + + private: // diff --git a/APICommonCode/QTSSRollingLog.cpp b/APICommonCode/QTSSRollingLog.cpp index 10fcd5e..115cd5e 100644 --- a/APICommonCode/QTSSRollingLog.cpp +++ b/APICommonCode/QTSSRollingLog.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -337,7 +337,7 @@ Bool16 QTSSRollingLog::RenameLogFile(const char* inFileName) } //add the log number & suffix - qtss_sprintf(theNewNameBuffer + theBaseNameLength, "%03ld.log", x); + qtss_sprintf(theNewNameBuffer + theBaseNameLength, "%03"_S32BITARG_".log", x); //assume that when ::stat returns an error, it is becase //the file doesnt exist. Once that happens, we have a unique name diff --git a/APICommonCode/QTSSRollingLog.h b/APICommonCode/QTSSRollingLog.h index 4090f78..4b6ecef 100644 --- a/APICommonCode/QTSSRollingLog.h +++ b/APICommonCode/QTSSRollingLog.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APICommonCode/SDPSourceInfo.cpp b/APICommonCode/SDPSourceInfo.cpp index 89b443f..3fcd4ab 100644 --- a/APICommonCode/SDPSourceInfo.cpp +++ b/APICommonCode/SDPSourceInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -117,7 +117,7 @@ char* SDPSourceInfo::GetLocalSDP(UInt32* newSDPLen) //the last "a=" for each m should be the control a= if ((trackIndex > 0) && (!hasControlLine)) { - qtss_sprintf(trackIndexBuffer, "a=control:trackID=%ld\r\n",trackIndex); + qtss_sprintf(trackIndexBuffer, "a=control:trackID=%"_S32BITARG_"\r\n",trackIndex); localSDPFormatter.Put(trackIndexBuffer, ::strlen(trackIndexBuffer)); } //now write the 'm' line, but strip off the port information @@ -169,7 +169,7 @@ char* SDPSourceInfo::GetLocalSDP(UInt32* newSDPLen) if ((trackIndex > 0) && (!hasControlLine)) { - qtss_sprintf(trackIndexBuffer, "a=control:trackID=%ld\r\n",trackIndex); + qtss_sprintf(trackIndexBuffer, "a=control:trackID=%"_S32BITARG_"\r\n",trackIndex); localSDPFormatter.Put(trackIndexBuffer, ::strlen(trackIndexBuffer)); } *newSDPLen = (UInt32)localSDPFormatter.GetCurrentOffset(); @@ -226,6 +226,7 @@ void SDPSourceInfo::Parse(char* sdpData, UInt32 sdpLen) //of an annoying compiler bug... fStreamArray = NEW StreamInfo[fNumStreams]; + ::memset(fStreamArray, 0, sizeof(StreamInfo) * fNumStreams); // set the default destination as our default IP address and set the default ttl theGlobalStreamInfo.fDestIPAddr = INADDR_ANY; @@ -345,7 +346,7 @@ void SDPSourceInfo::Parse(char* sdpData, UInt32 sdpLen) { StrPtrLen payloadNameFromParser; (void)aParser.GetThruEOL(&payloadNameFromParser); - char* temp = payloadNameFromParser.GetAsCString(); + char* temp = payloadNameFromParser.GetAsCString(); // qtss_printf("payloadNameFromParser (%x) = %s\n", temp, temp); (fStreamArray[theStreamIndex - 1].fPayloadName).Set(temp, payloadNameFromParser.Len); // qtss_printf("%s\n", fStreamArray[theStreamIndex - 1].fPayloadName.Ptr); diff --git a/APICommonCode/SDPSourceInfo.h b/APICommonCode/SDPSourceInfo.h index 8a5dc79..e90d912 100644 --- a/APICommonCode/SDPSourceInfo.h +++ b/APICommonCode/SDPSourceInfo.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -28,7 +28,7 @@ Contains: This object takes input SDP data, and uses it to support the SourceInfo API. - + Works only for QTSS */ diff --git a/APICommonCode/SourceInfo.cpp b/APICommonCode/SourceInfo.cpp index f340f57..11a73be 100644 --- a/APICommonCode/SourceInfo.cpp +++ b/APICommonCode/SourceInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -166,7 +166,7 @@ UInt32 SourceInfo::GetNumNewOutputs() Bool16 SourceInfo::SetActiveNTPTimes(UInt32 startTimeNTP,UInt32 endTimeNTP) { // right now only handles earliest start and latest end time. - //qtss_printf("SourceInfo::SetActiveNTPTimes start=%lu end=%lu\n",startTimeNTP,endTimeNTP); + //qtss_printf("SourceInfo::SetActiveNTPTimes start=%"_U32BITARG_" end=%"_U32BITARG_"\n",startTimeNTP,endTimeNTP); Bool16 accepted = false; do { @@ -191,7 +191,7 @@ Bool16 SourceInfo::SetActiveNTPTimes(UInt32 startTimeNTP,UInt32 endTimeNTP) } while(0); //char buffer[kTimeStrSize]; - //qtss_printf("SourceInfo::SetActiveNTPTimes fStartTimeUnixSecs=%lu fEndTimeUnixSecs=%lu\n",fStartTimeUnixSecs,fEndTimeUnixSecs); + //qtss_printf("SourceInfo::SetActiveNTPTimes fStartTimeUnixSecs=%"_U32BITARG_" fEndTimeUnixSecs=%"_U32BITARG_"\n",fStartTimeUnixSecs,fEndTimeUnixSecs); //qtss_printf("SourceInfo::SetActiveNTPTimes start time = %s",qtss_ctime(&fStartTimeUnixSecs, buffer, sizeof(buffer)) ); //qtss_printf("SourceInfo::SetActiveNTPTimes end time = %s",qtss_ctime(&fEndTimeUnixSecs, buffer, sizeof(buffer)) ); fHasValidTime = accepted; diff --git a/APICommonCode/SourceInfo.h b/APICommonCode/SourceInfo.h index 60b04c6..fd0667c 100644 --- a/APICommonCode/SourceInfo.h +++ b/APICommonCode/SourceInfo.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/OSMemory_Modules/OSMemory_Modules.cpp b/APIModules/OSMemory_Modules/OSMemory_Modules.cpp index 02920b1..e9fcc48 100644 --- a/APIModules/OSMemory_Modules/OSMemory_Modules.cpp +++ b/APIModules/OSMemory_Modules/OSMemory_Modules.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp b/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp index bac0300..1e49a3f 100644 --- a/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp +++ b/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -477,7 +477,7 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, startPlayTimeInSecs = (UInt32)(((*theCreateTime - *thePlayTime)/1000)+0.5); - // We need a value of 'c-bytes' to report as a long entry. This is supposed to be the total number + // We need a value of 'c-bytes' to report as a log entry. This is supposed to be the total number // of bytes the client has received during the session. Unfortunately, the QT client does not give // us this number. We will use the following heuristic formula to estimate the number of bytes the // client has received during the session: @@ -488,7 +488,7 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, // sent to the server from the client. If those values are accurate then the above formula will not // be exactly correct but it will be nearly correct. - clientBytesRecv = (UInt32)((*rtcpBytesRecv * (100.0 - *packetLossPercent))/100.0); + clientBytesRecv = (UInt32)((*rtpBytesSent * (100.0 - *packetLossPercent))/100.0); tempLogStr.Ptr[0] = 0; tempLogStr.Len = eUserAgentSize; (void)QTSS_GetValue(inClientSession, qtssCliSesFirstUserAgent, 0, tempLogStr.Ptr, &tempLogStr.Len); @@ -621,7 +621,7 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, UInt32* theStatusCode = &sTimeoutCode; theLen = sizeof(UInt32); (void)QTSS_GetValuePtr(inClientSession, qtssCliRTSPReqRealStatusCode, 0, (void **) &theStatusCode, &theLen); -// qtss_printf("qtssCliRTSPReqRealStatusCode = %lu \n", *theStatusCode); +// qtss_printf("qtssCliRTSPReqRealStatusCode = %"_U32BITARG_" \n", *theStatusCode); if (inCloseReasonPtr) do @@ -642,7 +642,7 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, QTSS_CliSesClosingReason* theReasonPtr = &sReason; theLen = sizeof(QTSS_CliSesTeardownReason); (void)QTSS_GetValuePtr(inClientSession, qtssCliTeardownReason, 0, (void **) &theReasonPtr, &theLen); -// qtss_printf("qtssCliTeardownReason = %lu \n", *theReasonPtr); +// qtss_printf("qtssCliTeardownReason = %"_U32BITARG_" \n", *theReasonPtr); if (*theReasonPtr == qtssCliSesTearDownClientRequest) // the client asked for a tear down { @@ -672,7 +672,7 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, } while (false); -// qtss_printf(" = %lu \n", *theStatusCode); +// qtss_printf(" = %"_U32BITARG_" \n", *theStatusCode); // Find out what time it is @@ -697,9 +697,13 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, float zeroFloat = 0; UInt64 zeroUInt64 = 0; - + Float32 fcpuUtilized = 0; UInt32 cpuUtilized = 0; // percent + theLen = sizeof(fcpuUtilized); + (void)QTSS_GetValue(sServer, qtssSvrCPULoadPercent, 0, &fcpuUtilized, &theLen); + cpuUtilized = (UInt32)fcpuUtilized; + char lastUserName[eTempLogItemSize] ={ 0 }; StrPtrLen lastUserNameStr(lastUserName,eTempLogItemSize); @@ -711,12 +715,12 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, tempLogStr.Ptr[0] = 0; tempLogStr.Len = eTempLogItemSize; (void)QTSS_GetValue(inClientSession, qtssCliRTSPSesUserName, 0, tempLogStr.Ptr, &tempLogStr.Len); ReplaceSpaces(&tempLogStr, &lastUserNameStr, "%20"); - //qtss_printf("qtssRTSPSesLastUserName dictionary item = %s len = %ld\n",lastUserNameStr.Ptr,lastUserNameStr.Len); + //qtss_printf("qtssRTSPSesLastUserName dictionary item = %s len = %"_S32BITARG_"\n",lastUserNameStr.Ptr,lastUserNameStr.Len); tempLogStr.Ptr[0] = 0; tempLogStr.Len = eTempLogItemSize; (void)QTSS_GetValue(inClientSession, qtssCliRTSPSesURLRealm, 0, tempLogStr.Ptr, &tempLogStr.Len); ReplaceSpaces(&tempLogStr, &lastURLRealmStr, "%20"); - //qtss_printf("qtssRTSPSesLastURLRealm dictionary item = %s len = %ld\n",lastURLRealmStr.Ptr,lastURLRealmStr.Len); + //qtss_printf("qtssRTSPSesLastURLRealm dictionary item = %s len = %"_S32BITARG_"\n",lastURLRealmStr.Ptr,lastURLRealmStr.Len); char respMsgBuffer[1024] = { 0 }; StrPtrLen theRespMsg; @@ -748,14 +752,14 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", (url.Ptr[0] == '\0') ? sVoidField : url.Ptr); //cs-uri-stem* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", startPlayTimeInSecs); //c-starttime + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", startPlayTimeInSecs); //c-starttime ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", theCreateTime == NULL ? 0UL : (UInt32) (QTSS_MilliSecsTo1970Secs(curTime) + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", theCreateTime == NULL ? (UInt32) 0 : (UInt32) (QTSS_MilliSecsTo1970Secs(curTime) - QTSS_MilliSecsTo1970Secs(*theCreateTime))); //x-duration* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%ld ", 1UL); //c-rate + qtss_sprintf(tempLogBuffer, "%"_S32BITARG_" ", (UInt32) 1); //c-rate ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%ld ", *theStatusCode); //c-status* + qtss_sprintf(tempLogBuffer, "%"_S32BITARG_" ", *theStatusCode); //c-status* ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", (playerIDBuf[0] == '\0') ? sVoidField : playerIDBuf); //c-playerid* ::strcat(logBuffer, tempLogBuffer); @@ -775,7 +779,7 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%"_64BITARG_"d ", movieSizeInBytes == NULL ? zeroUInt64 : *movieSizeInBytes); //filesize in bytes* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", movieAverageBitRatePtr == NULL ? (UInt32) 0 : *movieAverageBitRatePtr); //avgbandwidth in bits per second + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", movieAverageBitRatePtr == NULL ? (UInt32) 0 : *movieAverageBitRatePtr); //avgbandwidth in bits per second ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", "RTP"); //protocol ::strcat(logBuffer, tempLogBuffer); @@ -785,31 +789,31 @@ QTSS_Error LogRequest( QTSS_ClientSessionObject inClientSession, ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", (videoPayloadName.Ptr[0] == '\0') ? sVoidField : videoPayloadName.Ptr); //videocodec* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ",rtpBytesSent == NULL ? 0UL : *rtpBytesSent); //sc-bytes* + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ",rtpBytesSent == NULL ? (UInt32) 0 : *rtpBytesSent); //sc-bytes* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ",rtcpBytesRecv == NULL ? 0UL : *rtcpBytesRecv); //cs-bytes* + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ",rtcpBytesRecv == NULL ? (UInt32) 0 : *rtcpBytesRecv); //cs-bytes* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", clientBytesRecv); //c-bytes + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", clientBytesRecv); //c-bytes ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", rtpPacketsSent == NULL ? 0UL : *rtpPacketsSent); //s-pkts-sent* + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", rtpPacketsSent == NULL ? (UInt32)0 : *rtpPacketsSent); //s-pkts-sent* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", clientPacketsReceived); //c-pkts-recieved + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", clientPacketsReceived); //c-pkts-recieved ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", clientPacketsLost); //c-pkts-lost-client* + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", clientPacketsLost); //c-pkts-lost-client* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", 1UL); //c-buffercount + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", (UInt32)1); //c-buffercount ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", clientBufferTime); //c-totalbuffertime* + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", clientBufferTime); //c-totalbuffertime* ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", qualityLevel); //c-quality + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", qualityLevel); //c-quality ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", (localIPAddr.Ptr[0] == '\0') ? sVoidField : localIPAddr.Ptr); //s-ip ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", (localDNS.Ptr[0] == '\0') ? sVoidField : localDNS.Ptr); //s-dns ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", numCurClients); //s-totalclients + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", numCurClients); //s-totalclients ::strcat(logBuffer, tempLogBuffer); - qtss_sprintf(tempLogBuffer, "%lu ", cpuUtilized); //s-cpu-util + qtss_sprintf(tempLogBuffer, "%"_U32BITARG_" ", cpuUtilized); //s-cpu-util ::strcat(logBuffer, tempLogBuffer); qtss_sprintf(tempLogBuffer, "%s ", (urlQry.Ptr[0] == '\0') ? sVoidField : urlQry.Ptr); //cs-uri-query ::strcat(logBuffer, tempLogBuffer); diff --git a/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.h b/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.h index 6d5d8ae..fc28024 100644 --- a/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.h +++ b/APIModules/QTSSAccessLogModule/QTSSAccessLogModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSAccessModule/AccessChecker.cpp b/APIModules/QTSSAccessModule/AccessChecker.cpp index 4ac08be..f10b5ae 100644 --- a/APIModules/QTSSAccessModule/AccessChecker.cpp +++ b/APIModules/QTSSAccessModule/AccessChecker.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSAccessModule/AccessChecker.h b/APIModules/QTSSAccessModule/AccessChecker.h index ce1ece8..08a89a4 100644 --- a/APIModules/QTSSAccessModule/AccessChecker.h +++ b/APIModules/QTSSAccessModule/AccessChecker.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSAccessModule/QTSSAccessModule.cpp b/APIModules/QTSSAccessModule/QTSSAccessModule.cpp index 776bc0e..21f72fb 100644 --- a/APIModules/QTSSAccessModule/QTSSAccessModule.cpp +++ b/APIModules/QTSSAccessModule/QTSSAccessModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -69,8 +69,8 @@ static StrPtrLen sSDPSuffix(".sdp"); static OSMutex* sUserMutex = NULL; -//static Bool16 sDefaultAuthenticationEnabled = true; -//static Bool16 sAuthenticationEnabled = true; +static Bool16 sDefaultAuthenticationEnabled = true; +static Bool16 sAuthenticationEnabled = true; static char* sDefaultUsersFilePath = DEFAULTPATHS_ETC_DIR "qtusers"; static char* sUsersFilePath = NULL; @@ -95,6 +95,8 @@ static AccessChecker** sAccessCheckers; static UInt32 sNumAccessCheckers = 0; static UInt32 sAccessCheckerArraySize = 0; +static Bool16 sAllowGuestDefaultEnabled = true; +static Bool16 sDefaultGuestEnabled = true; // FUNCTION PROTOTYPES @@ -133,12 +135,12 @@ QTSS_Error QTSSAccessModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParam break; case QTSS_RTSPAuthenticate_Role: -// if (sAuthenticationEnabled) + if (sAuthenticationEnabled) return AuthenticateRTSPRequest(&inParams->rtspAthnParams); break; case QTSS_RTSPAuthorize_Role: -// if (sAuthenticationEnabled) + if (sAuthenticationEnabled) return AccessAuthorizeRTSPRequest(&inParams->rtspRequestParams); break; @@ -261,8 +263,8 @@ QTSS_Error RereadPrefs() // // Use the standard GetAttribute routine to retrieve the correct values for our preferences - //QTSSModuleUtils::GetAttribute(sPrefs, MODPREFIX_"enabled", qtssAttrDataTypeBool16, - // &sAuthenticationEnabled, &sDefaultAuthenticationEnabled, sizeof(sAuthenticationEnabled)); + QTSSModuleUtils::GetAttribute(sPrefs, MODPREFIX_"enabled", qtssAttrDataTypeBool16, + &sAuthenticationEnabled, &sDefaultAuthenticationEnabled, sizeof(sAuthenticationEnabled)); //if(sUsersFilePath != sDefaultUsersFilePath) // sUsersFilePath is assigned by a call to QTSSModuleUtils::GetStringAttribute which always @@ -301,7 +303,11 @@ QTSS_Error RereadPrefs() else if(err & AccessChecker::kBadGroupsFileErr) QTSSModuleUtils::LogError(qtssWarningVerbosity,sBadGroupsFileMessageAttrID, 0, sGroupsFilePath, NULL); } - + + QTSSModuleUtils::GetAttribute(sServerPrefs,"enable_allow_guest_default", qtssAttrDataTypeBool16, + &sAllowGuestDefaultEnabled,(void *)&sDefaultGuestEnabled, sizeof(sAllowGuestDefaultEnabled)); + + return QTSS_NoErr; } @@ -358,10 +364,13 @@ QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams) defaultPaths = false; if(usersFilePath == NULL) - usersFilePath = sUsersFilePath; + usersFilePath = strdup(sUsersFilePath); if(groupsFilePath == NULL) - groupsFilePath = sGroupsFilePath; + groupsFilePath = strdup(sGroupsFilePath); + + OSCharArrayDeleter userPathDeleter(usersFilePath); + OSCharArrayDeleter groupPathDeleter(groupsFilePath); AccessChecker* currentChecker = NULL; UInt32 index; @@ -414,17 +423,6 @@ QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams) sNumAccessCheckers++; } - // If the usersFilePath is the same as the main users file path, no new memory is allocated - // because QTAccessFile::FindUsersAndGroupsFilesAndAuthScheme returned NULL, and we just copied the pointer - // Otherwise, delete the memory allocated - if(strcmp(usersFilePath, sUsersFilePath) != 0) - delete usersFilePath; - - // If the groupsFilePath is the same as the main groups file path, no new memory is allocated - // because QTAccessFile::FindUsersAndGroupsFilesAndAuthScheme returned NULL, and we just copied the pointer - // Otherwise, delete the memory allocated - if(strcmp(groupsFilePath, sGroupsFilePath) != 0) - delete groupsFilePath; } else { @@ -528,9 +526,11 @@ QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams) QTSS_Error AccessAuthorizeRTSPRequest(QTSS_StandardRTSP_Params* inParams) { - Bool16 allowNoAccessFiles = true; - QTSS_ActionFlags noAction = qtssActionFlagsWrite; - QTSS_ActionFlags authorizeAction = qtssActionFlagsRead; - - return QTAccessFile::AuthorizeRequest(inParams,allowNoAccessFiles, noAction, authorizeAction); + Bool16 allowNoAccessFiles = sAllowGuestDefaultEnabled; //no access files allowed means allowing guest access (unknown users) + QTSS_ActionFlags noAction = ~qtssActionFlagsRead; // allow any action + QTSS_ActionFlags authorizeAction = QTSSModuleUtils::GetRequestActions(inParams->inRTSPRequest); + Bool16 authorized =false; + Bool16 allowAnyUser = false; + QTAccessFile accessFile; + return accessFile.AuthorizeRequest(inParams,allowNoAccessFiles, noAction, authorizeAction, &authorized, &allowAnyUser); } diff --git a/APIModules/QTSSAccessModule/QTSSAccessModule.h b/APIModules/QTSSAccessModule/QTSSAccessModule.h index 2162ee7..16ecf0b 100644 --- a/APIModules/QTSSAccessModule/QTSSAccessModule.h +++ b/APIModules/QTSSAccessModule/QTSSAccessModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSAdminModule/AdminElementNode.cpp b/APIModules/QTSSAdminModule/AdminElementNode.cpp index 4c2e7c4..4e5ba7f 100644 --- a/APIModules/QTSSAdminModule/AdminElementNode.cpp +++ b/APIModules/QTSSAdminModule/AdminElementNode.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -51,6 +51,7 @@ #include "OSRef.h" #include "AdminElementNode.h" #include "OSMemory.h" +//#include "OSHeaders.h" static char* sParameterDelimeter = ";"; static char* sListDelimeter = ","; @@ -96,7 +97,7 @@ void ElementNode_InsertPtr(void *ptr, char * src) if (sPtrArray[index] == NULL) { sPtrArray[index] =ptr; sSourceArray[index] = src; - //qtss_printf("%s INSERTED ptr=%lu countPtrs=%ld\n",src,(UInt32) ptr, ElementNode_CountPtrs()); + //qtss_printf("%s INSERTED ptr=%p countPtrs=%"_S32BITARG_"\n",src, ptr, ElementNode_CountPtrs()); return; } } @@ -134,14 +135,14 @@ void ElementNode_RemovePtr(void *ptr, char * src) { sPtrArray[index] = NULL; sSourceArray[index] = NULL; - //qtss_printf("%s REMOVED ptr countPtrs=%ld\n",src,ElementNode_CountPtrs()); + //qtss_printf("%s REMOVED ptr countPtrs=%"_S32BITARG_"\n",src,ElementNode_CountPtrs()); foundCount ++; // use for validating duplicates at some point return; } } if (foundCount == 0) - { qtss_printf("PTR NOT FOUND ElementNode_RemovePtr %s ptr=%ld countPtrs=%ld\n",src,(UInt32) ptr,ElementNode_CountPtrs()); + { qtss_printf("PTR NOT FOUND ElementNode_RemovePtr %s ptr=%p countPtrs=%"_S32BITARG_"\n",src,ptr,ElementNode_CountPtrs()); Assert(0); } #endif @@ -169,7 +170,7 @@ void ElementNode_ShowPtrs() for (SInt32 index = 0; index < sMaxPtrs; index ++) { if (sPtrArray[index] != NULL) - qtss_printf("ShowPtrs ptr=%lu source=%s\n", (UInt32)sPtrArray[index],sSourceArray[index]); + qtss_printf("ShowPtrs ptr=%p source=%s\n", sPtrArray[index],sSourceArray[index]); } #endif } @@ -180,7 +181,7 @@ void PRINT_STR(StrPtrLen *spl) if (spl && spl->Ptr && spl->Ptr[0] != 0) { char buff[1024] = {0}; memcpy (buff,spl->Ptr, spl->Len); - qtss_printf("%s len=%lu\n",buff,spl->Len); + qtss_printf("%s len=%"_U32BITARG_"\n",buff,spl->Len); } else { qtss_printf("(null)\n"); @@ -265,7 +266,7 @@ void ElementNode::Initialize(SInt32 index, ElementNode *parentPtr, QueryURI *que ElementNode::~ElementNode() { - //qtss_printf("ElementNode::~ElementNode delete %s Element Node # fields = %lu\n",GetNodeName(), fNumFields); + //qtss_printf("ElementNode::~ElementNode delete %s Element Node # fields = %"_U32BITARG_"\n",GetNodeName(), fNumFields); for(SInt32 index = 0; !IsStopItem(index) ; index ++) { @@ -316,7 +317,7 @@ ElementNode::~ElementNode() QTSS_Error ElementNode::AllocateFields(UInt32 numFields) { //qtss_printf("-------- ElementNode::AllocateFields ----------\n"); - //qtss_printf("ElementNode::AllocateFields numFields=%lu\n",numFields); + //qtss_printf("ElementNode::AllocateFields numFields=%"_U32BITARG_"\n",numFields); QTSS_Error err = QTSS_NotEnoughSpace; @@ -384,7 +385,7 @@ void ElementNode::SetFields(UInt32 i, QTSS_Object attrInfoObject) Assert(err == QTSS_NoErr); if (fFieldIDs[i].fAPI_Type == 0 || err != QTSS_NoErr) { - //qtss_printf("QTSS_GetValue err = %ld attrInfoObject=%lu qtssAttrDataType = %lu \n",err, (UInt32) attrInfoObject, (UInt32) fFieldIDs[i].fAPI_Type); + //qtss_printf("QTSS_GetValue err = %"_S32BITARG_" attrInfoObject=%"_U32BITARG_" qtssAttrDataType = %"_U32BITARG_" \n",err, (UInt32) attrInfoObject, (UInt32) fFieldIDs[i].fAPI_Type); } if (fFieldIDs[i].fAPI_Type == qtssAttrDataTypeQTSS_Object) @@ -421,7 +422,7 @@ void ElementNode::SetFields(UInt32 i, QTSS_Object attrInfoObject) fFieldIDs[i].fAccessLen = strlen(fFieldIDs[i].fAccessData); - //qtss_printf("ElementNode::SetFields name=%s api_id=%ld \n",fFieldIDs[i].fFieldName, fFieldIDs[i].fAPI_ID); + //qtss_printf("ElementNode::SetFields name=%s api_id=%"_S32BITARG_" \n",fFieldIDs[i].fFieldName, fFieldIDs[i].fAPI_ID); //DebugShowFieldDataType(i); }; @@ -429,7 +430,7 @@ void ElementNode::SetFields(UInt32 i, QTSS_Object attrInfoObject) ElementNode* ElementNode::CreateArrayAttributeNode(UInt32 index, QTSS_Object source, QTSS_Object attributeInfo, UInt32 arraySize ) { //qtss_printf("------- ElementNode::CreateArrayAttributeNode --------\n"); - //qtss_printf("ElementNode::CreateArrayAttributeNode name = %s index = %lu arraySize =%lu \n",fFieldIDs[index].fFieldName, index,arraySize); + //qtss_printf("ElementNode::CreateArrayAttributeNode name = %s index = %"_U32BITARG_" arraySize =%"_U32BITARG_" \n",fFieldIDs[index].fFieldName, index,arraySize); ElementDataFields* fieldPtr = NULL; SetFields(index, attributeInfo); @@ -444,7 +445,7 @@ ElementNode* ElementNode::CreateArrayAttributeNode(UInt32 index, QTSS_Object sou nodePtr->AllocateFields(arraySize); if (this->GetNodeInfoPtr(index) == NULL) - { //qtss_printf("ElementNode::CreateArrayAttributeNode index = %lu this->GetNodeInfoPtr(index) == NULL \n",index); + { //qtss_printf("ElementNode::CreateArrayAttributeNode index = %"_U32BITARG_" this->GetNodeInfoPtr(index) == NULL \n",index); } nodePtr->SetNodeInfo(this->GetNodeInfoPtr(index)); @@ -459,12 +460,12 @@ ElementNode* ElementNode::CreateArrayAttributeNode(UInt32 index, QTSS_Object sou // set the name of the field to the array index fieldPtr->fFieldName[0]= 0; - qtss_sprintf(fieldPtr->fFieldName,"%lu",i); + qtss_sprintf(fieldPtr->fFieldName,"%"_U32BITARG_,i); fieldPtr->fFieldLen = ::strlen(fieldPtr->fFieldName); if (fieldPtr->fAPI_Type != qtssAttrDataTypeQTSS_Object) { - //qtss_printf("ElementNode::CreateArrayAttributeNode array field index = %lu name = %s api Source = %lu \n", (UInt32) i,fieldPtr->fFieldName, (UInt32) source); + //qtss_printf("ElementNode::CreateArrayAttributeNode array field index = %"_U32BITARG_" name = %s api Source = %"_U32BITARG_" \n", (UInt32) i,fieldPtr->fFieldName, (UInt32) source); fieldPtr->fAPISource = source; // the attribute's source is the same as node source } else @@ -474,7 +475,7 @@ ElementNode* ElementNode::CreateArrayAttributeNode(UInt32 index, QTSS_Object sou QTSS_Error err = QTSS_GetValue (source,fieldPtr->fAPI_ID,fieldPtr->fIndex, &fieldPtr->fAPISource, &sourceLen); Warn(err == QTSS_NoErr); if (err != QTSS_NoErr) - { //qtss_printf("Error Getting Value for %s type = qtssAttrDataTypeQTSS_Object err = %lu\n", fieldPtr->fFieldName,err); + { //qtss_printf("Error Getting Value for %s type = qtssAttrDataTypeQTSS_Object err = %"_U32BITARG_"\n", fieldPtr->fFieldName,err); fieldPtr->fAPISource = NULL; } @@ -484,7 +485,7 @@ ElementNode* ElementNode::CreateArrayAttributeNode(UInt32 index, QTSS_Object sou { GetFilteredAttributeName(fieldPtr,id); } - //qtss_printf("ElementNode::CreateArrayAttributeNode array field index = %lu name = %s api Source = %lu \n", i,fieldPtr->fFieldName, (UInt32) fieldPtr->fAPISource); + //qtss_printf("ElementNode::CreateArrayAttributeNode array field index = %"_U32BITARG_" name = %s api Source = %"_U32BITARG_" \n", i,fieldPtr->fFieldName, (UInt32) fieldPtr->fAPISource); } nodePtr->fElementMap->Register(nodePtr->GetOSRef(i)); @@ -509,7 +510,7 @@ void ElementNode::InitializeAllFields(Bool16 allocateFields, QTSS_Object default { UInt32 numFields = this->CountAttributes(source); err = AllocateFields( numFields); - //qtss_printf("ElementNode::InitializeAllFields AllocateFields numFields = %lu error = %ld \n",numFields, err); + //qtss_printf("ElementNode::InitializeAllFields AllocateFields numFields = %"_U32BITARG_" error = %"_S32BITARG_" \n",numFields, err); } if (err == QTSS_NoErr) @@ -522,7 +523,7 @@ void ElementNode::InitializeAllFields(Bool16 allocateFields, QTSS_Object default { err = QTSS_GetAttrInfoByIndex(source, i, &theAttributeInfo); Assert(err == QTSS_NoErr); if (err != QTSS_NoErr) - { //qtss_printf("QTSS_GetAttrInfoByIndex returned err = %lu \n",err); + { //qtss_printf("QTSS_GetAttrInfoByIndex returned err = %"_U32BITARG_" \n",err); } } else @@ -532,10 +533,10 @@ void ElementNode::InitializeAllFields(Bool16 allocateFields, QTSS_Object default SetFields(i, theAttributeInfo); if ((SInt32) fFieldIDs[i].fAPI_ID < 0) - { //qtss_printf("ElementNode::InitializeAllFields name = %s index = %ld numValues =%lu \n",fFieldIDs[i].fFieldName, (SInt32) fFieldIDs[i].fAPI_ID,numValues); + { //qtss_printf("ElementNode::InitializeAllFields name = %s index = %"_S32BITARG_" numValues =%"_U32BITARG_" \n",fFieldIDs[i].fFieldName, (SInt32) fFieldIDs[i].fAPI_ID,numValues); } numValues = this->CountValues(source, fFieldIDs[i].fAPI_ID); - //qtss_printf("ElementNode::InitializeAllFields name = %s index = %lu numValues =%lu \n",fFieldIDs[i].fFieldName, fFieldIDs[i].fAPI_ID,numValues); + //qtss_printf("ElementNode::InitializeAllFields name = %s index = %"_U32BITARG_" numValues =%"_U32BITARG_" \n",fFieldIDs[i].fFieldName, fFieldIDs[i].fAPI_ID,numValues); QTSS_AttributeID id; Bool16 foundFilteredAttribute = GetFilteredAttributeID(GetMyName(),GetName(i), &id); @@ -552,19 +553,19 @@ void ElementNode::InitializeAllFields(Bool16 allocateFields, QTSS_Object default { //qtss_printf("ElementNode::InitializeAllFields(NULL == CreateArrayAttributeNode nodePtr\n"); } if (NULL == GetElementDataPtr(i)) - { //qtss_printf("ElementNode::InitializeAllFields(NULL == GetElementDataPtr (i=%lu) nodePtr=%lu \n",i, (UInt32) nodePtr); + { //qtss_printf("ElementNode::InitializeAllFields(NULL == GetElementDataPtr (i=%"_U32BITARG_") nodePtr=%"_U32BITARG_" \n",i, (UInt32) nodePtr); } */ } else { - //qtss_printf("ElementNode::InitializeAllFields field index = %lu name = %s api Source = %lu \n", i,fFieldIDs[i].fFieldName, (UInt32) source); + //qtss_printf("ElementNode::InitializeAllFields field index = %"_U32BITARG_" name = %s api Source = %"_U32BITARG_" \n", i,fFieldIDs[i].fFieldName, (UInt32) source); } err = fElementMap->Register(GetOSRef(i)); if (err != QTSS_NoErr) - { //qtss_printf("ElementNode::InitializeAllFields Register returned err = %lu field = %s node=%s \n",err,GetName(i),GetMyName()); + { //qtss_printf("ElementNode::InitializeAllFields Register returned err = %"_U32BITARG_" field = %s node=%s \n",err,GetName(i),GetMyName()); } Assert(err == QTSS_NoErr); } @@ -629,7 +630,7 @@ char *ElementNode::GetElementDataPtr(SInt32 index) void ElementNode::SetElementDataPtr(SInt32 index,char *data, Bool16 isNode) { //qtss_printf("------ElementNode::SetElementDataPtr----- \n"); - //qtss_printf("ElementNode::SetElementDataPtr index = %ld fNumFields = %ld \n", index,fNumFields); + //qtss_printf("ElementNode::SetElementDataPtr index = %"_S32BITARG_" fNumFields = %"_S32BITARG_" \n", index,fNumFields); Assert ((index >= 0) && (index < (SInt32) fNumFields)); if ((index >= 0) && (index < (SInt32) fNumFields)) { //Assert(fFieldDataPtrs[index] == NULL); @@ -643,7 +644,7 @@ void ElementNode::SetElementDataPtr(SInt32 index,char *data, Bool16 isNode) } } fFieldDataPtrs[index] = data; - //qtss_printf("ElementNode::SetElementDataPtr index = %ld \n", index); + //qtss_printf("ElementNode::SetElementDataPtr index = %"_S32BITARG_" \n", index); } } @@ -684,7 +685,7 @@ void ElementNode::SetUpSingleNode(QueryURI *queryPtr, StrPtrLen *currentSegment ElementNode::ElementDataFields *theNodePtr = GetNodeInfoPtr(index); if (NULL == theNodePtr) { - //qtss_printf(" ElementNode::SetUpSingleNode (NULL == theNodePtr(%ld)) name=%s \n",index,GetName(index)); + //qtss_printf(" ElementNode::SetUpSingleNode (NULL == theNodePtr(%"_S32BITARG_")) name=%s \n",index,GetName(index)); break; } @@ -714,7 +715,7 @@ void ElementNode::SetUpSingleNode(QueryURI *queryPtr, StrPtrLen *currentSegment nodePtr = (ElementNode *) GetElementDataPtr(index); if (nodePtr == NULL) { - //qtss_printf("ElementNode::SetUpSingleNode %s nodePtr == NULL make NEW nodePtr index = %ld\n", GetMyName(),index); + //qtss_printf("ElementNode::SetUpSingleNode %s nodePtr == NULL make NEW nodePtr index = %"_S32BITARG_"\n", GetMyName(),index); nodePtr = NEW ElementNode(); ElementNode_InsertPtr(nodePtr,"ElementNode::SetUpSingleNode ElementNode* NEW ElementNode() "); SetElementDataPtr(index,(char *) nodePtr, true); } @@ -730,7 +731,7 @@ void ElementNode::SetUpSingleNode(QueryURI *queryPtr, StrPtrLen *currentSegment if (!nodePtr->fInitialized) { //qtss_printf("ElementNode::SetUpSingleNode Node !fInitialized -- Initialize %s\n",GetName(index)); - //qtss_printf("ElementNode::SetUpSingleNode GetValue source = %lu name = %s id = %lu \n",(UInt32) GetSource(),(UInt32) GetName(index),(UInt32) GetAPI_ID(index)); + //qtss_printf("ElementNode::SetUpSingleNode GetValue source = %"_U32BITARG_" name = %s id = %"_U32BITARG_" \n",(UInt32) GetSource(),(UInt32) GetName(index),(UInt32) GetAPI_ID(index)); ElementDataFields* fieldPtr = GetElementFieldPtr(index); if (fieldPtr != NULL && fieldPtr->fAPI_Type == qtssAttrDataTypeQTSS_Object) @@ -775,13 +776,13 @@ Bool16 ElementNode::SetUpOneDataField( UInt32 index) if (!isNodeResult) { - //qtss_printf("ElementNode::SetUpOneDataField %s Source=%lu Field index=%lu API_ID=%lu value index=%lu\n",GetName(index),GetSource(), index,inID,GetAttributeIndex(index)); + //qtss_printf("ElementNode::SetUpOneDataField %s Source=%"_U32BITARG_" Field index=%"_U32BITARG_" API_ID=%"_U32BITARG_" value index=%"_U32BITARG_"\n",GetName(index),GetSource(), index,inID,GetAttributeIndex(index)); SetElementDataPtr(index, NewIndexElement (GetSource() , inID, GetAttributeIndex(index)), false); } else { - //qtss_printf("ElementNode::SetUpOneDataField %s Source=%lu Field index=%lu API_ID=%lu value index=%lu\n",GetName(index),(UInt32) GetSource(),(UInt32) index,(UInt32) inID,(UInt32) GetAttributeIndex(index)); - //qtss_printf("ElementNode::SetUpOneDataField %s IsNodeElement index = %lu\n",GetName(index),(UInt32) index); + //qtss_printf("ElementNode::SetUpOneDataField %s Source=%"_U32BITARG_" Field index=%"_U32BITARG_" API_ID=%"_U32BITARG_" value index=%"_U32BITARG_"\n",GetName(index),(UInt32) GetSource(),(UInt32) index,(UInt32) inID,(UInt32) GetAttributeIndex(index)); + //qtss_printf("ElementNode::SetUpOneDataField %s IsNodeElement index = %"_U32BITARG_"\n",GetName(index),(UInt32) index); //DebugShowFieldDataType(index); } @@ -834,7 +835,7 @@ void ElementNode::SetUpAllNodes(QueryURI *queryPtr, StrPtrLen *currentSegmentPtr { if (!queryPtr->RecurseParam() && (nextSegmentPtr->Len == 0) ) break; - //qtss_printf("ElementNode::SetUpAllNodes index = %ld nextSegmentPtr=", index);PRINT_STR(nextSegmentPtr); + //qtss_printf("ElementNode::SetUpAllNodes index = %"_S32BITARG_" nextSegmentPtr=", index);PRINT_STR(nextSegmentPtr); StrPtrLen indexNodeNameSPL; GetNameSPL(index,&indexNodeNameSPL); if ( IsNodeElement(index) @@ -847,7 +848,7 @@ void ElementNode::SetUpAllNodes(QueryURI *queryPtr, StrPtrLen *currentSegmentPtr SetUpSingleNode(queryPtr, currentSegmentPtr, nextSegmentPtr, index, initParams); else { - //qtss_printf("ElementNode::SetUpAllNodes skip index = %ld indexNodeName=", index);PRINT_STR(&indexNodeNameSPL); + //qtss_printf("ElementNode::SetUpAllNodes skip index = %"_S32BITARG_" indexNodeName=", index);PRINT_STR(&indexNodeNameSPL); //qtss_printf("ElementNode::SetUpAllNodes skip nextSegmentPtr=");PRINT_STR(nextSegmentPtr); } } @@ -868,7 +869,7 @@ char *ElementNode::NewIndexElement (QTSS_Object inObject, QTSS_AttributeID inID, if (inObject != NULL) { err = QTSS_GetValueAsString (inObject, inID, inIndex, &resultPtr); ElementNode_InsertPtr(resultPtr,"ElementNode::NewIndexElement QTSS_GetValueAsString "); if (err != QTSS_NoErr) - { //qtss_printf("ElementNode::NewIndexElement QTSS_GetValueAsString object= %lu id=%lu index=%lu err= %ld \n",inObject,inID, inIndex, err); + { //qtss_printf("ElementNode::NewIndexElement QTSS_GetValueAsString object= %p id=%"_U32BITARG_" index=%"_U32BITARG_" err= %"_S32BITARG_" \n",inObject,inID, inIndex, err); } } return resultPtr; @@ -879,11 +880,14 @@ inline SInt32 ElementNode::ResolveSPLKeyToIndex(StrPtrLen *keyPtr) { SInt32 index = -1; OSRef* osrefptr = NULL; + PointerSizedInt object = 0; if (fElementMap != NULL && keyPtr != NULL && keyPtr->Len > 0) { osrefptr = fElementMap->Resolve(keyPtr); if (osrefptr != NULL) - index = (SInt32) osrefptr->GetObject(); + { object = (PointerSizedInt) osrefptr->GetObject(); + index = (SInt32) object; + } } return index; @@ -893,13 +897,13 @@ inline SInt32 ElementNode::ResolveSPLKeyToIndex(StrPtrLen *keyPtr) UInt32 ElementNode::CountAttributes(QTSS_Object source) { //qtss_printf("------ElementNode::CountAttributes-------\n"); - //qtss_printf("ElementNode::CountAttributes SOURCE = %lu \n", (UInt32) source); + //qtss_printf("ElementNode::CountAttributes SOURCE = %"_U32BITARG_" \n", (UInt32) source); UInt32 numFields = 0; (void) QTSS_GetNumAttributes (source, &numFields); - //qtss_printf("ElementNode::CountAttributes %s = %lu \n",GetNodeName() ,numFields); + //qtss_printf("ElementNode::CountAttributes %s = %"_U32BITARG_" \n",GetNodeName() ,numFields); return numFields; } @@ -911,7 +915,7 @@ UInt32 ElementNode::CountValues(QTSS_Object source, UInt32 apiID) (void) QTSS_GetNumValues (source, apiID, &numFields); - //qtss_printf("ElementNode::CountValues %s = %lu \n",GetNodeName() ,numFields); + //qtss_printf("ElementNode::CountValues %s = %"_U32BITARG_" \n",GetNodeName() ,numFields); return numFields; } @@ -929,11 +933,12 @@ OSRef* ElementNode::GetOSRef(SInt32 index) { fFieldOSRefPtrs[index] = NEW OSRef(); Assert(fFieldOSRefPtrs[index] != NULL); ElementNode_InsertPtr(fFieldOSRefPtrs[index],"ElementNode::GetOSRef NEW OSRef() fFieldOSRefPtrs "); GetNameSPL(index,&theName); Assert(theName.Len != 0); - //qtss_printf("ElementNode::GetOSRef index = %ld name = %s \n", index, theName.Ptr); + //qtss_printf("ElementNode::GetOSRef index = %"_S32BITARG_" name = %s \n", index, theName.Ptr); fFieldOSRefPtrs[index]->Set(theName,(void *) index); - resultPtr = fFieldOSRefPtrs[index]; + if (0 != theName.Len && NULL != theName.Ptr) //return the ptr else NULL + resultPtr = fFieldOSRefPtrs[index]; } - + return resultPtr; } @@ -992,7 +997,7 @@ void ElementNode::RespondWithSelfAdd(QTSS_StreamRef inStream, QueryURI *queryPtr char messageBuffer[1024] = ""; StrPtrLen bufferSPL(messageBuffer); - //qtss_printf("ElementNode::RespondWithSelfAdd NODE = %s index = %ld \n",GetNodeName(), (SInt32) index); + //qtss_printf("ElementNode::RespondWithSelfAdd NODE = %s index = %"_S32BITARG_" \n",GetNodeName(), (SInt32) index); if (!fInitialized) { //qtss_printf("ElementNode::RespondWithSelfAdd not Initialized EXIT\n"); @@ -1066,16 +1071,16 @@ void ElementNode::RespondWithSelfAdd(QTSS_StreamRef inStream, QueryURI *queryPtr { err = QTSS_TypeStringToType(dataType.GetObject(), &attrDataType); Assert(err == QTSS_NoErr); - //qtss_printf("ElementNode::RespondWithSelfAdd theType=%s typeID=%lu \n",dataType.GetObject(), attrDataType); + //qtss_printf("ElementNode::RespondWithSelfAdd theType=%s typeID=%"_U32BITARG_" \n",dataType.GetObject(), attrDataType); } - //qtss_printf("ElementNode::RespondWithSelfAdd theValue= %s theType=%s typeID=%lu \n",value.GetObject(), typePtr->Ptr, attrDataType); + //qtss_printf("ElementNode::RespondWithSelfAdd theValue= %s theType=%s typeID=%"_U32BITARG_" \n",value.GetObject(), typePtr->Ptr, attrDataType); char valueBuff[2048] = ""; UInt32 len = 2048; err = QTSS_StringToValue(value.GetObject(),attrDataType, valueBuff, &len); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from ElementNode::RespondWithSelfAdd QTSS_ConvertStringToType",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from ElementNode::RespondWithSelfAdd QTSS_ConvertStringToType",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1097,14 +1102,14 @@ void ElementNode::RespondWithSelfAdd(QTSS_StreamRef inStream, QueryURI *queryPtr } err = QTSS_AddInstanceAttribute(GetSource(),nameDeleter.GetObject(), NULL, attrDataType); - //qtss_printf("QTSS_AddInstanceAttribute(source=%lu, name=%s, NULL, %d, %lu)\n",GetSource(),nameDeleter.GetObject(),attrDataType,accessFlags); + //qtss_printf("QTSS_AddInstanceAttribute(source=%"_U32BITARG_", name=%s, NULL, %d, %"_U32BITARG_")\n",GetSource(),nameDeleter.GetObject(),attrDataType,accessFlags); if (err) { UInt32 result = 400; if (err == QTSS_AttrNameExists) - { qtss_sprintf(messageBuffer, "The name %s already exists QTSS_Error=%ld from QTSS_AddInstanceAttribute",nameDeleter.GetObject(),err); + { qtss_sprintf(messageBuffer, "The name %s already exists QTSS_Error=%"_S32BITARG_" from QTSS_AddInstanceAttribute",nameDeleter.GetObject(),err); } else - { qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_AddInstanceAttribute",err); + { qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_AddInstanceAttribute",err); } (void) queryPtr->EvalQuery(&result, messageBuffer); return; @@ -1113,7 +1118,7 @@ void ElementNode::RespondWithSelfAdd(QTSS_StreamRef inStream, QueryURI *queryPtr err = QTSS_GetAttrInfoByName(GetSource(), nameDeleter.GetObject(), &attrInfoObject); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_GetAttrInfoByName",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_GetAttrInfoByName",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1122,7 +1127,7 @@ void ElementNode::RespondWithSelfAdd(QTSS_StreamRef inStream, QueryURI *queryPtr err = QTSS_GetValue (attrInfoObject, qtssAttrID,0, &attributeID, &attributeLen); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_GetValue",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_GetValue",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1130,7 +1135,7 @@ void ElementNode::RespondWithSelfAdd(QTSS_StreamRef inStream, QueryURI *queryPtr err = QTSS_SetValue (GetSource(), attributeID, 0, valueBuff, len); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_SetValue",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_SetValue",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1287,7 +1292,7 @@ void ElementNode::RespondToAdd(QTSS_StreamRef inStream, SInt32 index,QueryURI { char messageBuffer[1024] = ""; - //qtss_printf("ElementNode::RespondToAdd NODE = %s index = %ld \n",GetNodeName(), (SInt32) index); + //qtss_printf("ElementNode::RespondToAdd NODE = %s index = %"_S32BITARG_" \n",GetNodeName(), (SInt32) index); if (GetNumFields() == 0) { UInt32 result = 405; @@ -1351,13 +1356,13 @@ void ElementNode::RespondToAdd(QTSS_StreamRef inStream, SInt32 index,QueryURI return; } - //qtss_printf("ElementNode::RespondToAdd theValue= %s theType=%s typeID=%lu \n",value.GetObject(), GetAPI_TypeStr(index), GetAPI_Type(index)); + //qtss_printf("ElementNode::RespondToAdd theValue= %s theType=%s typeID=%"_U32BITARG_" \n",value.GetObject(), GetAPI_TypeStr(index), GetAPI_Type(index)); char valueBuff[2048] = ""; UInt32 len = 2048; err = QTSS_StringToValue(value.GetObject(),GetAPI_Type(index), valueBuff, &len); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_ConvertStringToType",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_ConvertStringToType",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1385,7 +1390,7 @@ void ElementNode::RespondToAdd(QTSS_StreamRef inStream, SInt32 index,QueryURI (void) QTSS_GetValue (source, GetAPI_ID(index), 0, &tempBuff, &attributeLen); if (attributeLen != len) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "Data length %lu does not match attribute len %lu",len, attributeLen); + qtss_sprintf(messageBuffer, "Data length %"_U32BITARG_" does not match attribute len %"_U32BITARG_"",len, attributeLen); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1395,16 +1400,16 @@ void ElementNode::RespondToAdd(QTSS_StreamRef inStream, SInt32 index,QueryURI err = QTSS_GetNumValues (source, GetAPI_ID(index), &numValues); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_GetNumValues",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_GetNumValues",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } - //qtss_printf("ElementNode::RespondToAdd QTSS_SetValue object=%lu attrID=%lu, index = %lu valuePtr=%lu valuelen =%lu \n",GetSource(),GetAPI_ID(index), GetAttributeIndex(index), valueBuff,len); + //qtss_printf("ElementNode::RespondToAdd QTSS_SetValue object=%"_U32BITARG_" attrID=%"_U32BITARG_", index = %"_U32BITARG_" valuePtr=%"_U32BITARG_" valuelen =%"_U32BITARG_" \n",GetSource(),GetAPI_ID(index), GetAttributeIndex(index), valueBuff,len); err = QTSS_SetValue (source, GetAPI_ID(index), numValues, valueBuff, len); if (err) { UInt32 result = 400; - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_SetValue",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_SetValue",err); (void) queryPtr->EvalQuery(&result, messageBuffer); return; } @@ -1421,7 +1426,7 @@ void ElementNode::RespondToSet(QTSS_StreamRef inStream, SInt32 index,QueryURI char messageBuffer[1024] = ""; StrPtrLen bufferSPL(messageBuffer); - //qtss_printf("ElementNode::RespondToSet NODE = %s index = %ld \n",GetNodeName(), (SInt32) index); + //qtss_printf("ElementNode::RespondToSet NODE = %s index = %"_S32BITARG_" \n",GetNodeName(), (SInt32) index); if (!fInitialized) { //qtss_printf("ElementNode::RespondToSet not Initialized EXIT\n"); @@ -1490,14 +1495,14 @@ void ElementNode::RespondToSet(QTSS_StreamRef inStream, SInt32 index,QueryURI err = QTSS_StringToValue(value.GetObject(),GetAPI_Type(index), valueBuff, &len); if (err) - { //qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_ConvertStringToType",err); + { //qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_ConvertStringToType",err); break; } - //qtss_printf("ElementNode::RespondToSet QTSS_SetValue object=%lu attrID=%lu, index = %lu valuePtr=%lu valuelen =%lu \n",GetSource(),GetAPI_ID(index), GetAttributeIndex(index), valueBuff,len); + //qtss_printf("ElementNode::RespondToSet QTSS_SetValue object=%"_U32BITARG_" attrID=%"_U32BITARG_", index = %"_U32BITARG_" valuePtr=%"_U32BITARG_" valuelen =%"_U32BITARG_" \n",GetSource(),GetAPI_ID(index), GetAttributeIndex(index), valueBuff,len); err = QTSS_SetValue (GetSource(), GetAPI_ID(index), GetAttributeIndex(index), valueBuff, len); if (err) - { //qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_SetValue",err); + { //qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_SetValue",err); break; } @@ -1506,7 +1511,7 @@ void ElementNode::RespondToSet(QTSS_StreamRef inStream, SInt32 index,QueryURI if (err != QTSS_NoErr) { UInt32 result = 400; (void) queryPtr->EvalQuery(&result, messageBuffer); - //qtss_printf("ElementNode::RespondToSet %s len = %lu ",messageBuffer, result); + //qtss_printf("ElementNode::RespondToSet %s len = %"_U32BITARG_" ",messageBuffer, result); return; } @@ -1520,7 +1525,7 @@ void ElementNode::RespondToDel(QTSS_StreamRef inStream, SInt32 index,QueryURI char messageBuffer[1024] = ""; StrPtrLen bufferSPL(messageBuffer); - //qtss_printf("ElementNode::RespondToDel NODE = %s index = %ld \n",GetNodeName(), (SInt32) index); + //qtss_printf("ElementNode::RespondToDel NODE = %s index = %"_S32BITARG_" \n",GetNodeName(), (SInt32) index); if (!fInitialized) { //qtss_printf("ElementNode::RespondToDel not Initialized EXIT\n"); @@ -1536,7 +1541,7 @@ void ElementNode::RespondToDel(QTSS_StreamRef inStream, SInt32 index,QueryURI return; } - //qtss_printf("ElementNode::RespondToDel NODE = %s index = %ld \n",GetNodeName(), (SInt32) index); + //qtss_printf("ElementNode::RespondToDel NODE = %s index = %"_S32BITARG_" \n",GetNodeName(), (SInt32) index); if ( GetNumFields() == 0 || ( 0 == (GetAccessPermissions(index) & qtssAttrModeDelete) && GetMyFieldType() == eArrayNode && GetNumFields() == 1) || ( 0 == (GetAccessPermissions(index) & qtssAttrModeDelete) && GetMyFieldType() != eArrayNode) @@ -1573,19 +1578,19 @@ void ElementNode::RespondToDel(QTSS_StreamRef inStream, SInt32 index,QueryURI { UInt32 result = 500; err = QTSS_RemoveValue (GetSource(),GetAPI_ID(index), GetAttributeIndex(index)); - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_RemoveValue", err); - //qtss_printf("ElementNode::RespondToDel QTSS_RemoveValue object=%lu attrID=%lu index=%lu %s\n",GetSource(),GetAPI_ID(index),GetAttributeIndex(index),messageBuffer); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_RemoveValue", err); + //qtss_printf("ElementNode::RespondToDel QTSS_RemoveValue object=%"_U32BITARG_" attrID=%"_U32BITARG_" index=%"_U32BITARG_" %s\n",GetSource(),GetAPI_ID(index),GetAttributeIndex(index),messageBuffer); if (err) { (void) queryPtr->EvalQuery(&result, messageBuffer); } } else { - //qtss_printf("ElementNode::RespondToDel QTSS_RemoveInstanceAttribute object=%lu attrID=%lu \n",GetSource(),GetAPI_ID(index)); + //qtss_printf("ElementNode::RespondToDel QTSS_RemoveInstanceAttribute object=%"_U32BITARG_" attrID=%"_U32BITARG_" \n",GetSource(),GetAPI_ID(index)); err = QTSS_RemoveInstanceAttribute(GetSource(),GetAPI_ID(index)); if (err) { - qtss_sprintf(messageBuffer, "QTSS_Error=%ld from QTSS_RemoveInstanceAttribute",err); + qtss_sprintf(messageBuffer, "QTSS_Error=%"_S32BITARG_" from QTSS_RemoveInstanceAttribute",err); } } @@ -1593,7 +1598,7 @@ void ElementNode::RespondToDel(QTSS_StreamRef inStream, SInt32 index,QueryURI if (err != QTSS_NoErr) { UInt32 result = 400; (void) queryPtr->EvalQuery(&result, messageBuffer); - //qtss_printf("ElementNode::RespondToDel %s len = %lu ",messageBuffer, result); + //qtss_printf("ElementNode::RespondToDel %s len = %"_U32BITARG_" ",messageBuffer, result); return; } @@ -1619,7 +1624,7 @@ void ElementNode::RespondToGet(QTSS_StreamRef inStream, SInt32 index,QueryURI *q static char *nullErr = "(null)"; Bool16 nullData = false; - //qtss_printf("ElementNode::RespondToGet NODE = %s index = %ld \n",GetNodeName(), (SInt32) index); + //qtss_printf("ElementNode::RespondToGet NODE = %s index = %"_S32BITARG_" \n",GetNodeName(), (SInt32) index); if (!fInitialized) { //qtss_printf("ElementNode::RespondToGet not Initialized EXIT\n"); @@ -1650,7 +1655,7 @@ void ElementNode::RespondToGet(QTSS_StreamRef inStream, SInt32 index,QueryURI *q parameters &= ~QueryURI::kDebugParam; // clear debug flag parameters &= ~QueryURI::kIndexParam; // clear index flag - //qtss_printf("ElementNode::RespondToGet QTSS_SetValue object=%lu attrID=%lu, index = %lu \n",GetSource(),GetAPI_ID(index), GetAttributeIndex(index)); + //qtss_printf("ElementNode::RespondToGet QTSS_SetValue object=%"_U32BITARG_" attrID=%"_U32BITARG_", index = %"_U32BITARG_" \n",GetSource(),GetAPI_ID(index), GetAttributeIndex(index)); if ((parameters & QueryURI::kVerboseParam) ) @@ -1663,7 +1668,7 @@ void ElementNode::RespondToGet(QTSS_StreamRef inStream, SInt32 index,QueryURI *q (void)QTSS_Write(inStream, GetName(index), GetNameLen(index), NULL, 0); - //qtss_printf("ElementNode::RespondToGet %s:len = %lu",GetName(index),(UInt32) GetNameLen(index)); + //qtss_printf("ElementNode::RespondToGet %s:len = %"_U32BITARG_"",GetName(index),(UInt32) GetNameLen(index)); if (IsNodeElement(index)) { @@ -1742,7 +1747,7 @@ void ElementNode::RespondToGet(QTSS_StreamRef inStream, SInt32 index,QueryURI *q void ElementNode::RespondToKey(QTSS_StreamRef inStream, SInt32 index,QueryURI *queryPtr) { SInt32 command = queryPtr->GetCommandID(); - //qtss_printf("ElementNode::RespondToKey command = %ld node =%s index=%ld\n",command, GetNodeName(),index); + //qtss_printf("ElementNode::RespondToKey command = %"_S32BITARG_" node =%s index=%"_S32BITARG_"\n",command, GetNodeName(),index); switch (command) { @@ -1810,12 +1815,12 @@ void ElementNode::RespondWithSingleElement(QTSS_StreamRef inStream, QueryURI *qu Assert(currentSegmentPtr->Len != 0); SInt32 key = ResolveSPLKeyToIndex(currentSegmentPtr); - //qtss_printf("ElementNode::RespondWithSingleElement key = %ld\n",key); + //qtss_printf("ElementNode::RespondWithSingleElement key = %"_S32BITARG_"\n",key); //qtss_printf("currentSegmentPtr="); PRINT_STR(currentSegmentPtr); if (key < 0) { - //qtss_printf("ElementNode::RespondWithSingleElement key = %ld NOT FOUND no ELEMENT\n",key); + //qtss_printf("ElementNode::RespondWithSingleElement key = %"_S32BITARG_" NOT FOUND no ELEMENT\n",key); return; } @@ -1948,7 +1953,7 @@ void ElementNode::RespondWithAllElements(QTSS_StreamRef inStream, QueryURI *quer } else { - //qtss_printf("ElementNode::RespondWithAllElements Current Node index= %lu NULL = %s\n",index,GetName(index)); + //qtss_printf("ElementNode::RespondWithAllElements Current Node index= %"_U32BITARG_" NULL = %s\n",index,GetName(index)); } } @@ -2134,7 +2139,7 @@ void ElementNode::SetupNodes(QueryURI *queryPtr,StrPtrLen *currentPathPtr,QTSS_I SetUpAllNodes(queryPtr, currentPathPtr, &nextSegment, initParams); if (NULL == GetElementDataPtr(index)) - { //qtss_printf("ElementNode::SetupNodes call SetUpSingleElement index=%lu nextSegment=");PRINT_STR( &nextSegment); + { //qtss_printf("ElementNode::SetupNodes call SetUpSingleElement index=%"_U32BITARG_" nextSegment=");PRINT_STR( &nextSegment); SetUpSingleElement(queryPtr,currentPathPtr, &nextSegment, index, initParams); } diff --git a/APIModules/QTSSAdminModule/AdminElementNode.h b/APIModules/QTSSAdminModule/AdminElementNode.h index 2593819..6650f9e 100644 --- a/APIModules/QTSSAdminModule/AdminElementNode.h +++ b/APIModules/QTSSAdminModule/AdminElementNode.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -139,7 +139,7 @@ class ElementNode void GetMyAccess(StrPtrLen* str) { Assert(str); if (str != NULL) str->Set(fSelfPtr->fAccessData,fSelfPtr->fAccessLen);}; QTSS_Object GetMySource() { Assert(fSelfPtr != NULL); - //qtss_printf("GetMySource fSelfPtr->fAPISource = %lu \n", fSelfPtr->fAPISource); + //qtss_printf("GetMySource fSelfPtr->fAPISource = %"_U32BITARG_" \n", fSelfPtr->fAPISource); return fSelfPtr->fAPISource; }; @@ -206,7 +206,7 @@ class ElementNode if (source != NULL) return source; else - { //qtss_printf("GetSource return fDataSource = %lu \n",fDataSource); + { //qtss_printf("GetSource return fDataSource = %"_U32BITARG_" \n",fDataSource); return fDataSource; } }; diff --git a/APIModules/QTSSAdminModule/AdminQuery.cpp b/APIModules/QTSSAdminModule/AdminQuery.cpp index 8838939..b16acd3 100644 --- a/APIModules/QTSSAdminModule/AdminQuery.cpp +++ b/APIModules/QTSSAdminModule/AdminQuery.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -609,11 +609,11 @@ void QueryURI::ParseQueryString(StringParser *parserPtr,StrPtrLen *urlStreamPtr) tempQueryParse.ConsumeLength(NULL, 1); tempQueryParse.ConsumeUntil(NULL, '"'); tempQueryParse.ConsumeLength(NULL, 1); - //qtss_printf("QueryURI::ParseQueryString is quote GetCurrentPosition = '%s' len = %lu\n",stopCharPtr, strlen(stopCharPtr)); + //qtss_printf("QueryURI::ParseQueryString is quote GetCurrentPosition = '%s' len = %"_U32BITARG_"\n",stopCharPtr, strlen(stopCharPtr)); } else { - //qtss_printf("QueryURI::ParseQueryString white or EOL GetCurrentPosition = '%s' len = %lu\n",stopCharPtr, strlen(stopCharPtr)); + //qtss_printf("QueryURI::ParseQueryString white or EOL GetCurrentPosition = '%s' len = %"_U32BITARG_"\n",stopCharPtr, strlen(stopCharPtr)); if (*stopCharPtr == ' ') { tempQueryParse.ConsumeWhitespace(); continue; @@ -633,7 +633,7 @@ void QueryURI::ParseQueryString(StringParser *parserPtr,StrPtrLen *urlStreamPtr) fURIFieldsPtr[eQuery].fData = &fURIFieldSPL[eQuery]; } - //qtss_printf("Query String = '%s' Query len = %lu parseLen = %lu\n",queryStr.Ptr, queryStr.Len,len); + //qtss_printf("Query String = '%s' Query len = %"_U32BITARG_" parseLen = %"_U32BITARG_"\n",queryStr.Ptr, queryStr.Len,len); }; @@ -647,7 +647,7 @@ void QueryURI::ParseURLString(StringParser *parserPtr,StrPtrLen *urlStreamPtr) if (urlStreamPtr->Len < QueryURI::eMaxBufferSize) memcpy(fURIBuffer,urlStreamPtr->Ptr,urlStreamPtr->Len); // make a local copy in fAdminFullURI - //qtss_printf("QueryURI::ParseURLString fURIBuffer =%s len = %lu\n", fURIBuffer,urlStreamPtr->Len); + //qtss_printf("QueryURI::ParseURLString fURIBuffer =%s len = %"_U32BITARG_"\n", fURIBuffer,urlStreamPtr->Len); StringParser tempURLParse(&fAdminFullURI);// point to local copy tempURLParse.ConsumeUntil(&fURIFieldSPL[eURL],'?'); // pull out URL @@ -698,7 +698,7 @@ void QueryURI::URLParse(StrPtrLen *inStream) if (decodedRequestStr.Len > QueryURI::eMaxBufferSize -1) { - //qtss_printf("URL string bigger than Buffer size=%lu\n",decodedRequestStr.Len); + //qtss_printf("URL string bigger than Buffer size=%"_U32BITARG_"\n",decodedRequestStr.Len); break; } diff --git a/APIModules/QTSSAdminModule/AdminQuery.h b/APIModules/QTSSAdminModule/AdminQuery.h index 66a863e..3a6b01c 100644 --- a/APIModules/QTSSAdminModule/AdminQuery.h +++ b/APIModules/QTSSAdminModule/AdminQuery.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSAdminModule/QTSSAdminModule.cpp b/APIModules/QTSSAdminModule/QTSSAdminModule.cpp index ddfac3f..ed683ef 100644 --- a/APIModules/QTSSAdminModule/QTSSAdminModule.cpp +++ b/APIModules/QTSSAdminModule/QTSSAdminModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -153,7 +153,7 @@ static QTSS_Error Register(QTSS_Register_Params* inParams); static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); static QTSS_Error FilterRequest(QTSS_Filter_Params* inParams); static QTSS_Error RereadPrefs(); -static QTSS_Error AuthorizeAdminRequest(QTSS_StandardRTSP_Params* inParams); +static QTSS_Error AuthorizeAdminRequest(QTSS_RTSPRequestObject request); static Bool16 AcceptSession(QTSS_RTSPSessionObject inRTSPSession); @@ -163,7 +163,7 @@ static Bool16 AcceptSession(QTSS_RTSPSessionObject inRTSPSession); #else void ShowQuery_DEBUG() { - qtss_printf("======REQUEST #%lu======\n",++sRequestCount); + qtss_printf("======REQUEST #%"_U32BITARG_"======\n",++sRequestCount); StrPtrLen* aStr; aStr = sQueryPtr->GetURL(); qtss_printf("URL="); PRINT_STR(aStr); @@ -176,7 +176,7 @@ void ShowQuery_DEBUG() aStr = sQueryPtr->GetCommand(); qtss_printf("Command="); PRINT_STR(aStr); - qtss_printf("CommandID=%ld \n",sQueryPtr->GetCommandID()); + qtss_printf("CommandID=%"_S32BITARG_" \n",sQueryPtr->GetCommandID()); aStr = sQueryPtr->GetValue(); qtss_printf("Value="); PRINT_STR(aStr); aStr = sQueryPtr->GetType(); @@ -214,12 +214,12 @@ void APITests_DEBUG() err = QTSS_GetNumValues (sServer, qtssSvrClientSessions, &numValues); err = QTSS_GetValuePtr(sServer, qtssSvrClientSessions, 0, (void**)&sessionsPtr, ¶mLen); - qtss_printf("Admin Module Num Sessions = %lu sessions[0] = %ld err = %ld paramLen =%lu\n", numValues, (SInt32) *sessionsPtr,err,paramLen); + qtss_printf("Admin Module Num Sessions = %"_U32BITARG_" sessions[0] = %"_S32BITARG_" err = %"_S32BITARG_" paramLen =%"_U32BITARG_"\n", numValues, (SInt32) *sessionsPtr,err,paramLen); UInt32 numAttr = 0; if (sessionsPtr) { err = QTSS_GetNumAttributes (*sessionsPtr, &numAttr); - qtss_printf("Admin Module Num attributes = %lu sessions[0] = %ld err = %ld\n", numAttr, (SInt32) *sessionsPtr,err); + qtss_printf("Admin Module Num attributes = %"_U32BITARG_" sessions[0] = %"_S32BITARG_" err = %"_S32BITARG_"\n", numAttr, (SInt32) *sessionsPtr,err); QTSS_Object theAttributeInfo; char nameBuff[128]; @@ -245,13 +245,13 @@ void APITests_DEBUG() err = QTSS_GetNumValues (sServer, qtssSvrClientSessions, &numValues); err = QTSS_GetValue(sServer, qtssSvrClientSessions, 0, (void*)&sessions, ¶mLen); - qtss_printf("Admin Module Num Sessions = %lu sessions[0] = %ld err = %ld paramLen = %lu\n", numValues, (SInt32) sessions,err, paramLen); + qtss_printf("Admin Module Num Sessions = %"_U32BITARG_" sessions[0] = %"_S32BITARG_" err = %"_S32BITARG_" paramLen = %"_U32BITARG_"\n", numValues, (SInt32) sessions,err, paramLen); if (sessions) { UInt32 numAttr = 0; err = QTSS_GetNumAttributes (sessions, &numAttr); - qtss_printf("Admin Module Num attributes = %lu sessions[0] = %ld err = %ld\n", numAttr,(SInt32) sessions,err); + qtss_printf("Admin Module Num attributes = %"_U32BITARG_" sessions[0] = %"_S32BITARG_" err = %"_S32BITARG_"\n", numAttr,(SInt32) sessions,err); QTSS_Object theAttributeInfo; char nameBuff[128]; @@ -276,7 +276,7 @@ void APITests_DEBUG() UInt32 numAttr = 1; err = QTSS_GetNumAttributes (sModulePrefs, &numAttr); - qtss_printf("Admin Module Num preference attributes = %lu err = %ld\n", numAttr, err); + qtss_printf("Admin Module Num preference attributes = %"_U32BITARG_" err = %"_S32BITARG_"\n", numAttr, err); QTSS_Object theAttributeInfo; char valueBuff[512]; @@ -297,9 +297,9 @@ void APITests_DEBUG() } valueBuff[0] = 0;len = 512; err = QTSS_GetValue (sModulePrefs, theID,0, valueBuff,&len);valueBuff[len] = 0; - qtss_printf("Admin Module QTSS_GetValue name = %s id = %ld value=%s err = %ld\n", nameBuff,theID, valueBuff, err); + qtss_printf("Admin Module QTSS_GetValue name = %s id = %"_S32BITARG_" value=%s err = %"_S32BITARG_"\n", nameBuff,theID, valueBuff, err); err = QTSS_SetValue (sModulePrefs,theID,0, valueBuff,len); - qtss_printf("Admin Module QTSS_SetValue name = %s id = %ld value=%s err = %ld\n", nameBuff,theID, valueBuff, err); + qtss_printf("Admin Module QTSS_SetValue name = %s id = %"_S32BITARG_" value=%s err = %"_S32BITARG_"\n", nameBuff,theID, valueBuff, err); { QTSS_ServiceID id; (void) QTSS_IDForService(QTSS_REREAD_PREFS_SERVICE, &id); @@ -308,9 +308,9 @@ void APITests_DEBUG() valueBuff[0] = 0;len = 512; err = QTSS_GetValue (sModulePrefs, theID,0, valueBuff,&len);valueBuff[len] = 0; - qtss_printf("Admin Module QTSS_GetValue name = %s id = %ld value=%s err = %ld\n", nameBuff,theID, valueBuff, err); + qtss_printf("Admin Module QTSS_GetValue name = %s id = %"_S32BITARG_" value=%s err = %"_S32BITARG_"\n", nameBuff,theID, valueBuff, err); err = QTSS_SetValue (sModulePrefs,theID,0, valueBuff,len); - qtss_printf("Admin Module QTSS_SetValue name = %s id = %ld value=%s err = %ld\n", nameBuff,theID, valueBuff, err); + qtss_printf("Admin Module QTSS_SetValue name = %s id = %"_S32BITARG_" value=%s err = %"_S32BITARG_"\n", nameBuff,theID, valueBuff, err); qtss_printf("second pass over preferences\n"); for ( i = 0; i < numAttr; i++) @@ -358,7 +358,7 @@ QTSS_Error QTSSAdminModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams return FilterRequest(&inParams->rtspFilterParams); } case QTSS_RTSPAuthorize_Role: - return AuthorizeAdminRequest(&inParams->rtspRequestParams); + return AuthorizeAdminRequest(inParams->rtspRequestParams.inRTSPRequest); case QTSS_RereadPrefs_Role: return RereadPrefs(); } @@ -441,7 +441,7 @@ void ReportErr(QTSS_Filter_Params* inParams, UInt32 err) char temp[32]; if (urlPtr && evalMessagePtr) - { qtss_sprintf(temp,"(%lu)",err); + { qtss_sprintf(temp,"(%"_U32BITARG_")",err); (void)QTSS_Write(inParams->inRTSPRequest, "error:", strlen("error:"), NULL, 0); (void)QTSS_Write(inParams->inRTSPRequest, temp, strlen(temp), NULL, 0); if (sQueryPtr->VerboseParam()) @@ -635,13 +635,12 @@ Bool16 Authenticate(QTSS_RTSPRequestObject request, StrPtrLen* namePtr, StrPtrL char* authName = namePtr->GetAsCString(); OSCharArrayDeleter authNameDeleter(authName); - QTSS_ActionFlags authAction = qtssActionFlagsRead | qtssActionFlagsWrite; + QTSS_ActionFlags authAction = qtssActionFlagsAdmin; // authenticate callback to retrieve the password QTSS_Error err = QTSS_Authenticate(authName, sAuthResourceLocalPath, sAuthResourceLocalPath, authAction, qtssAuthBasic, request); if (err != QTSS_NoErr) { - qtss_printf("QTSSAdminModule::Authenticate: QTSS_Authenticate failed\n"); - return false; // Couldn't even call QTSS_Authenticate...abandon! + return false; // Couldn't even call QTSS_Authenticate...abandon! } // Get the user profile object from the request object that was created in the authenticate callback @@ -699,24 +698,23 @@ Bool16 Authenticate(QTSS_RTSPRequestObject request, StrPtrLen* namePtr, StrPtrL } -QTSS_Error AuthorizeAdminRequest(QTSS_StandardRTSP_Params* inParams) +QTSS_Error AuthorizeAdminRequest(QTSS_RTSPRequestObject request) { Bool16 allowed = false; - - QTSS_RTSPRequestObject request = inParams->inRTSPRequest; // get the resource path // if the path does not match the admin path, don't handle the request char* resourcePath = QTSSModuleUtils::GetLocalPath_Copy(request); OSCharArrayDeleter resourcePathDeleter(resourcePath); + if(strcmp(sAuthResourceLocalPath, resourcePath) != 0) return QTSS_NoErr; // get the type of request QTSS_ActionFlags action = QTSSModuleUtils::GetRequestActions(request); - if(!(action & (qtssActionFlagsRead | qtssActionFlagsWrite))) - return QTSS_NoErr; - + if(!(action & qtssActionFlagsAdmin)) + return QTSS_RequestFailed; + QTSS_UserProfileObject theUserProfile = QTSSModuleUtils::GetUserProfileObject(request); if (NULL == theUserProfile) return QTSS_RequestFailed; @@ -770,7 +768,7 @@ Bool16 StillFlushing(QTSS_Filter_Params* inParams,Bool16 flushing) if (flushing) { err = QTSS_Flush(inParams->inRTSPRequest); - //qtss_printf("Flushing session=%lu QTSS_Flush err =%ld\n",sSessID,err); + //qtss_printf("Flushing session=%"_U32BITARG_" QTSS_Flush err =%"_S32BITARG_"\n",sSessID,err); } if (err == QTSS_WouldBlock) // more to flush later { @@ -778,7 +776,7 @@ Bool16 StillFlushing(QTSS_Filter_Params* inParams,Bool16 flushing) (void) QTSS_SetValue(inParams->inRTSPRequest, sFlushingID, 0, (void*)&sFlushing, sFlushingLen); err = QTSS_RequestEvent(inParams->inRTSPRequest, QTSS_WriteableEvent); KeepSession(inParams->inRTSPRequest,true); - //qtss_printf("Flushing session=%lu QTSS_RequestEvent err =%ld\n",sSessID,err); + //qtss_printf("Flushing session=%"_U32BITARG_" QTSS_RequestEvent err =%"_S32BITARG_"\n",sSessID,err); } else { @@ -789,7 +787,7 @@ Bool16 StillFlushing(QTSS_Filter_Params* inParams,Bool16 flushing) if (flushing) // we were flushing so reset the LastRequestTime { sLastRequestTime = QTSS_Milliseconds(); - //qtss_printf("Done Flushing session=%lu\n",sSessID); + //qtss_printf("Done Flushing session=%"_U32BITARG_"\n",sSessID); return true; } } @@ -826,7 +824,8 @@ Bool16 IsAuthentic(QTSS_Filter_Params* inParams,StringParser *fullRequestPtr) isAuthentic = Authenticate(inParams->inRTSPRequest, &authenticateName,&authenticatePassword); } } - +// if (isAuthentic) +// isAuthentic = AuthorizeAdminRequest(inParams->inRTSPRequest); (void) QTSS_SetValue(inParams->inRTSPRequest, sAuthenticatedID, 0, (void*)&isAuthentic, sizeof(isAuthentic)); return isAuthentic; @@ -840,15 +839,15 @@ inline Bool16 InWaitInterval(QTSS_Filter_Params* inParams) if (currentTime < nextExecuteTime) { waitTime = (SInt32) (nextExecuteTime - currentTime) + 1; - //qtss_printf("(currentTime < nextExecuteTime) sSessID = %lu waitTime =%ld currentTime = %qd nextExecute = %qd interval=%lu\n",sSessID, waitTime, currentTime, nextExecuteTime,sRequestTimeIntervalMilli); + //qtss_printf("(currentTime < nextExecuteTime) sSessID = %"_U32BITARG_" waitTime =%"_S32BITARG_" currentTime = %qd nextExecute = %qd interval=%"_U32BITARG_"\n",sSessID, waitTime, currentTime, nextExecuteTime,sRequestTimeIntervalMilli); (void)QTSS_SetIdleTimer(waitTime); KeepSession(inParams->inRTSPRequest,true); - //qtss_printf("-- call me again after %ld millisecs session=%lu \n",waitTime,sSessID); + //qtss_printf("-- call me again after %"_S32BITARG_" millisecs session=%"_U32BITARG_" \n",waitTime,sSessID); return true; } sLastRequestTime = QTSS_Milliseconds(); - //qtss_printf("handle sessID=%lu time=%qd \n",sSessID,currentTime); + //qtss_printf("handle sessID=%"_U32BITARG_" time=%qd \n",sSessID,currentTime); return false; } @@ -907,9 +906,9 @@ inline Bool16 GetRequestFlushState(QTSS_Filter_Params* inParams) if (err != QTSS_NoErr) { paramLen = sizeof(result); result = false; - //qtss_printf("no flush val so set to false session=%lu err =%ld\n",sSessID, err); + //qtss_printf("no flush val so set to false session=%"_U32BITARG_" err =%"_S32BITARG_"\n",sSessID, err); err =QTSS_SetValue(inParams->inRTSPRequest, sFlushingID, 0, (void*)&result, paramLen); - //qtss_printf("QTSS_SetValue flush session=%lu err =%ld\n",sSessID, err); + //qtss_printf("QTSS_SetValue flush session=%"_U32BITARG_" err =%"_S32BITARG_"\n",sSessID, err); } return result; } @@ -957,12 +956,13 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) return QTSS_RequestFailed; if (!IsAuthentic(inParams,&fullRequest)) - { + { (void)QTSS_Write(inParams->inRTSPRequest, sUnauthorizedResponseHeader, ::strlen(sUnauthorizedResponseHeader), NULL, 0); (void)QTSS_Write(inParams->inRTSPRequest, sHTMLBody, ::strlen(sHTMLBody), NULL, 0); KeepSession(theRequest,false); return QTSS_NoErr; } + } if (GetRequestFlushState(inParams)) @@ -975,13 +975,13 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) if (InWaitInterval(inParams)) return QTSS_NoErr; - //qtss_printf("New Request Wait for GlobalLock session=%lu\n",sSessID); + //qtss_printf("New Request Wait for GlobalLock session=%"_U32BITARG_"\n",sSessID); (void)QTSS_RequestGlobalLock(); KeepSession(theRequest,true); return QTSS_NoErr; } - //qtss_printf("Handle request session=%lu\n",sSessID); + //qtss_printf("Handle request session=%"_U32BITARG_"\n",sSessID); APITests_DEBUG(); if (sQueryPtr != NULL) diff --git a/APIModules/QTSSAdminModule/QTSSAdminModule.h b/APIModules/QTSSAdminModule/QTSSAdminModule.h index ad80059..44a8323 100644 --- a/APIModules/QTSSAdminModule/QTSSAdminModule.h +++ b/APIModules/QTSSAdminModule/QTSSAdminModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSDSAuthModule/DSAccessChecker.cpp b/APIModules/QTSSDSAuthModule/DSAccessChecker.cpp new file mode 100644 index 0000000..ed1dffd --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSAccessChecker.cpp @@ -0,0 +1,646 @@ +/* + * + * Copyright (c) 1999-2005 Apple Computer, Inc. All Rights Reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ + /* + File: DSAccessChecker.cpp + + Contains: Class definition for access checking via Open Directory + + Created By: Dan Sinema + + Created: Jan 14, 2005 + +*/ + +/* + * Directory Service code added by Dan Sinema + * + * Jan 14, 2005 - Cleaned up code and added more comments. + * Nov 8, 2004 - Finsihed final code. Added group support. + * +*/ + + +// ANSI / POSIX Headers +#include +#include +#include +#include +#include + +// STL Headers +#include +#include +#include + + +// Project Headers +#include "SafeStdLib.h" +#include "StrPtrLen.h" +#include "StringParser.h" +#include "ResizeableStringFormatter.h" + +#include "DSAccessChecker.h" +#include "DSDataList.h" +#include "QTAccessFile.h" + +#define DEBUG_DSACCESS 0 +#define debug_printf if (DEBUG_DSACCESS) ::qtss_printf + +#include + +#ifdef AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER + #if OSX_OD_API + #define OD_API 1 + #define DS_API 0 + #else + #define OD_API 0 + #define DS_API 1 + #endif +#else + #define OD_API 0 + #define DS_API 1 +#endif + +// Framework Headers +#if DS_API +#include +using namespace DirectoryServices; +#endif + +#if OD_API +#include +#endif + +#if __LP64__ + #define ds_API_PTR UInt32* +#else + #define ds_API_PTR long unsigned int* +#endif + + +#pragma mark DSAccessChecker class globals + +const char* DSAccessChecker::kDefaultAccessFileName = "qtaccess"; + + +#pragma mark DSAccessChecker class implementation +#if DS_API + +// Find a list of records that match the given criteria. +static SInt32 _GetRecordList( + tDirReference inDSRef, + const char *inDomain, + const char *inRecName, + const char *inRecType, + tDataList *inAttrType, + tDirNodeReference *outNodeRef, + tDataBuffer **outDataBuff, + UInt32 *outRecCount ) +{ + SInt32 status = eDSNoErr; + tDataBuffer *pDataBuff = NULL; + tDirNodeReference nodeRef = 0; + tContextData context = NULL; + UInt32 nodeCount = 0; + tDataList *nodeName = NULL; + UInt32 recCount = 0; + + *outNodeRef = 0; + *outDataBuff = NULL; + *outRecCount = 0; + + pDataBuff = ::dsDataBufferAllocate( inDSRef, 4096 ); + if (pDataBuff == NULL) + { + // We need the buffer for locating the node for which the user object resides + debug_printf("QTSSODAuthModule: Unable to allocate buffer.\n"); + return eDSAllocationFailed; + } + + // This is the default action with no domain: use the Search node. + status = ::dsFindDirNodes( inDSRef, pDataBuff, NULL, eDSSearchNodeName, (ds_API_PTR) &nodeCount, &context ); + if ( context != NULL ) + { + ::dsReleaseContinueData( inDSRef, context ); + context = NULL; + } + + // Check for failure of the dsFindDirNodes + // Node count less than 1 means no node found...doh! + if ( nodeCount < 1 ) + { + status = eDSNodeNotFound; + } + if ( status != eDSNoErr ) + { + goto cleanupBadGetRecordList; + } + + // Extract the name of the found node. + status = ::dsGetDirNodeName( inDSRef, pDataBuff, 1, &nodeName ); + if (status == eDSNoErr) + { + // Open the node so we can do the DS magic + status = ::dsOpenDirNode( inDSRef, nodeName, &nodeRef ); + ::dsDataListDeallocate( inDSRef, nodeName ); + std::free( nodeName ); + nodeName = NULL; + } + + if (status != eDSNoErr) + { + // Bail if we cannot open the node. + debug_printf("QTSSODAuthModule: Could not open node - error: %"_S32BITARG_"\n", status); + } + else + { + // Specify what we are looking for... + // pRecName: the passed name of the record + // pRecType: the passed name of the record type + // pAttrType: attributes to return to the caller + DSDataList recName( inDSRef, inRecName ); + DSDataList recType( inDSRef, inRecType ); + + recCount = 1; + + // Find the record that matchs the above criteria + status = ::dsGetRecordList( nodeRef, pDataBuff, recName, eDSExact, recType, inAttrType, 0, (ds_API_PTR)&recCount, &context ); + if ( context != NULL ) + { + ::dsReleaseContinueData( inDSRef, context ); + context = NULL; + } + if ( recCount == 0 ) + { + status = eDSRecordNotFound; + debug_printf("QTSSODAuthModule: No records found.\n"); + } + else if ( status != eDSNoErr ) + { + debug_printf("QTSSODAuthModule: No records found - error: %"_S32BITARG_"\n", status); + } + } + + if ( status == eDSNoErr ) + { + *outNodeRef = nodeRef; + *outDataBuff = pDataBuff; + *outRecCount = recCount; + return eDSNoErr; + } + +cleanupBadGetRecordList: + if ( nodeRef != 0 ) + { + ::dsCloseDirNode( nodeRef ); + } + + // This variable is guaranteed to be valid because the function would + // have returned if it was bad. + ::dsDataBufferDeAllocate( inDSRef, pDataBuff ); + + return status; +} + +static SInt32 _FindRecordNode( + tDirReference inDSRef, + const char *inDomain, + const char *inRecName, + const char *inRecType, + tDataList *outHomeNodeName ) +{ + tDataBuffer *pRecBuff = NULL; + tDirNodeReference nodeRef = 0; + SInt32 status = eDSNoErr; + UInt32 attrIndex = 0; + UInt32 recCount = 0; + tRecordEntry *pRecEntry = NULL; + tAttributeListRef attrListRef = 0; + + if ( outHomeNodeName == NULL ) + { + return eDSNullDataList; + } + std::memset( outHomeNodeName, 0, sizeof( *outHomeNodeName) ); + + // A Username and Password is needed, if either one is not present then bail! + if ( inRecName == NULL ) + { + return eDSInvalidRecordName; + } + if ( inRecType == NULL ) + { + return eDSInvalidRecordType; + } + + status = ::_GetRecordList( inDSRef, inDomain, inRecName, inRecType, + DSDataList (inDSRef, kDSNAttrMetaNodeLocation), + &nodeRef, &pRecBuff, &recCount ); + if ( status != eDSNoErr ) + { + return status; + } + + // Get the record entry out of the list, there should only be one record! + status = ::dsGetRecordEntry( nodeRef, pRecBuff, 1, &attrListRef, &pRecEntry ); + if ( status != eDSNoErr ) + { + // These variables are guaranteed to be valid because the function would + // have returned if they were bad. + ::dsCloseDirNode( nodeRef ); + ::dsDataBufferDeAllocate( inDSRef, pRecBuff ); + return status; + } + + // Now loop through attributes of the entry...looking for kDSNAttrMetaNodeLocation and kDSNAttrRecordName + for ( attrIndex = 1; (attrIndex <= pRecEntry->fRecordAttributeCount) && (status == eDSNoErr); attrIndex++ ) + { + tAttributeEntryPtr pAttrEntry = NULL; + tAttributeValueListRef valueRef = 0; + + status = ::dsGetAttributeEntry( nodeRef, pRecBuff, attrListRef, attrIndex, &valueRef, &pAttrEntry ); + if ( ( status != eDSNoErr ) || ( pAttrEntry == NULL ) ) + continue; + // Test for kDSNAttrMetaNodeLocation + if ( std::strcmp( pAttrEntry->fAttributeSignature.fBufferData, kDSNAttrMetaNodeLocation ) == 0 ) + { + tAttributeValueEntry *pValueEntry = NULL; + + // If it matches then get the value of the attribute + status = ::dsGetAttributeValue( nodeRef, pRecBuff, 1, valueRef, &pValueEntry ); + if ( ( status == eDSNoErr ) && ( pValueEntry != NULL ) ) + { + // Store the node location in outHomeNodeName + if ( outHomeNodeName->fDataNodeCount != 0 ) + { + debug_printf("QTSSODAuthModule: Multiple user locations found!?\n"); + } + else + { + status = ::dsBuildListFromPathAlloc( inDSRef, outHomeNodeName, pValueEntry->fAttributeValueData.fBufferData, "/" ); + ::dsDeallocAttributeValueEntry( inDSRef, pValueEntry ); + } + } + } + + ::dsDeallocAttributeEntry( inDSRef, pAttrEntry ); + ::dsCloseAttributeValueList( valueRef ); + } + + // Cleanup dsGetRecordEntry() return values. + ::dsCloseAttributeList( attrListRef ); + ::dsDeallocRecordEntry( inDSRef, pRecEntry ); + ::dsCloseDirNode( nodeRef ); + ::dsDataBufferDeAllocate( inDSRef, pRecBuff ); + return status; +} + +#endif + +#pragma mark - +#pragma mark "Public Methods" +// Now the class proper. +DSAccessChecker::DSAccessChecker() +{ +} + +DSAccessChecker::~DSAccessChecker() +{ +#if DEBUG + debug_printf("QTSSODAuthModule: Access checker object destroyed.\n"); +#endif +} + + + +#if 0 //OD_API notes +/* + This is Leopard or later code so some check before using OD based code is needed. + Implement this api for digest auth. +*/ + +#include +/System/Library/PrivateFrameworks/OpenDirectory.framework/Frameworks/CFOpenDirectory.framework/CFOpenDirectory +CFErrorRef outError = NULL; +ODNodeRef cfNode = ODNodeCreateWithNodeType( kCFAllocatorDefault, kODSessionDefault, kODTypeAuthenticationSearchNode, NULL ); +if (cfNode) +{ + ODRecordRef cfUserRecord = ODNodeCopyRecord( kCFAllocatorDefault, cfNode, CFSTR("username"), NULL ); + + if (cfUserRecord != NULL) + { + CFArrayRef authItems = CFArrayCreate.... ( username, server challenge, client response, http method); + + // for DIGEST_MD5 + if (ODRecordVerifyPasswordExtended( cfUserRecord, CFSTR(kDSStdAuthDIGEST_MD5), authItems, NULL, NULL, &outError )) + { + } + + // this for password + if (ODRecordVerifyPassword( cfUserRecord, CFSTR("password") ) ) + { + } + CFRelease( cfUserRecord ); + CFRelease( autItems ); + } + CFRelease( cfNode ); +} + + +// kDSStdAuthDIGEST_MD5 + * user name in UTF8 encoding, + * server challenge in UTF8 encoding, + * client response data, + * HTTP method in UTF8 encoding + + + } +} +#endif + + +#if OD_API +Bool16 DSAccessChecker::CheckPassword(const char* inUsername, const char* inPassword) +{ + Bool16 checkedResult = false; + CFErrorRef outError = NULL; + debug_printf("DSAccessChecker::CheckPassword userName=%s password=%s\n", inUsername,inPassword); + + ODNodeRef cfNodeRef= ODNodeCreateWithNodeType( kCFAllocatorDefault, kODSessionDefault, kODTypeAuthenticationSearchNode, NULL ); + + //static ODRecordRef _ODNodeCopyRecord( ODNodeRef inNodeRef, CFStringRef inRecordType, CFStringRef inRecordName, CFArrayRef inAttributes, CFErrorRef *outError ); + + + CFStringRef cfPassword = CFStringCreateWithCString(kCFAllocatorDefault, inPassword, kCFStringEncodingUTF8); + CFStringRef cfUsername = CFStringCreateWithCString(kCFAllocatorDefault, inUsername, kCFStringEncodingUTF8); + + CFTypeRef vals[] = { CFSTR(kDSAttributesStandardAll) }; + CFArrayRef reqAttrs = CFArrayCreate(NULL, vals,1, &kCFTypeArrayCallBacks); + + ODRecordRef cfUserRecord = ODNodeCopyRecord(cfNodeRef, CFSTR(kDSStdRecordTypeUsers), cfUsername, reqAttrs, &outError ); + if (cfNodeRef && cfUserRecord && cfPassword && cfUsername) + { + // this for password + if ( ODRecordVerifyPassword( cfUserRecord, cfPassword , NULL ) ) + { checkedResult = true; + debug_printf("DSAccessChecker::CheckPassword ODRecordVerifyPassword user is authenticated\n"); + } + else + { debug_printf("DSAccessChecker::CheckPassword ODRecordVerifyPassword user failed to authenticate\n"); + } + } + + if (reqAttrs) CFRelease( reqAttrs ); + if (cfUserRecord) CFRelease( cfUserRecord ); + if (cfPassword) CFRelease( cfPassword ); + if (cfUsername) CFRelease( cfUsername ); + if (cfNodeRef) CFRelease( cfNodeRef ); + + return checkedResult; + +} + + +Bool16 DSAccessChecker::CheckDigest(const char* inUsername, const char* inServerChallenge, const char* inClientResponse, const char* inMethod) +{ + Bool16 checkedResult = false; + CFErrorRef outError = NULL; + CFArrayRef outItems = NULL; + + if (NULL == inUsername || NULL == inServerChallenge || NULL == inClientResponse ) + return false; + + ResizeableStringFormatter challengeString; + challengeString.Put((char*) inServerChallenge); + challengeString.PutTerminator(); + char* challengeCString= challengeString.GetBufPtr(); + + ResizeableStringFormatter responseString; + responseString.Put( (char*)inClientResponse); + responseString.PutTerminator(); + char* responseCString= responseString.GetBufPtr(); + + ODNodeRef cfNode = ODNodeCreateWithNodeType( kCFAllocatorDefault, kODSessionDefault, kODTypeAuthenticationSearchNode, NULL ); + debug_printf("DSAccessChecker::CheckDigest \nuserName=[%s] \nchallenge=[%s] \nresponse=[%s] \nmethod=[%s]\n", inUsername,challengeCString, responseCString,inMethod); + + + CFTypeRef vals[] = { CFSTR(kDSAttributesStandardAll) }; + CFArrayRef reqAttrs = CFArrayCreate(NULL, vals,1, &kCFTypeArrayCallBacks); + + CFStringRef cfUsername = CFStringCreateWithCString(kCFAllocatorDefault, inUsername, kCFStringEncodingUTF8); + ODRecordRef cfUserRecord = ODNodeCopyRecord(cfNode, CFSTR(kDSStdRecordTypeUsers), cfUsername, reqAttrs, &outError ); + CFRelease( cfUsername ); + cfUsername = NULL; + + enum { kNumAuthValues=4 }; + CFStringRef cfStringArray[kNumAuthValues]; + cfStringArray[0] = CFStringCreateWithCString(kCFAllocatorDefault, inUsername, kCFStringEncodingUTF8); + cfStringArray[1] = CFStringCreateWithCString(kCFAllocatorDefault, challengeCString, kCFStringEncodingUTF8); + cfStringArray[2] = CFStringCreateWithCString(kCFAllocatorDefault, responseCString, kCFStringEncodingUTF8); + cfStringArray[3] = CFStringCreateWithCString(kCFAllocatorDefault, inMethod, kCFStringEncodingUTF8); + + CFArrayRef cfAuthItems = CFArrayCreate(kCFAllocatorDefault, (const void **) &cfStringArray,kNumAuthValues, &kCFTypeArrayCallBacks); + + if (cfNode && cfUserRecord && cfAuthItems) + { + debug_printf("DSAccessChecker::CheckDigest call ODRecordVerifyPasswordExtended\n"); + // for DIGEST_MD5 + if (ODRecordVerifyPasswordExtended( cfUserRecord, CFSTR(kDSStdAuthDIGEST_MD5), cfAuthItems, &outItems, NULL, &outError )) + { + checkedResult = true; + debug_printf("DSAccessChecker::CheckDigest SUCCESS ODRecordVerifyPasswordExtended response=%d\n",outError); + } + else + { debug_printf("DSAccessChecker::CheckDigest ODRecordVerifyPasswordExtended response=%d\n", outError ? CFErrorGetCode(outError) : -1); + } + } + + for (int i = 0; i < kNumAuthValues; i++) + CFRelease(cfStringArray[i]); + + if (reqAttrs) CFRelease( reqAttrs ); + if (cfAuthItems) CFRelease( cfAuthItems ); + if (cfUserRecord) CFRelease( cfUserRecord ); + if (cfNode) CFRelease( cfNode ); + if (outItems) CFRelease( outItems ); + if (outError) CFRelease( outError ); + + return checkedResult; + +} + + + +#endif + +#if DS_API + +Bool16 DSAccessChecker::CheckPassword(const char* inUsername, const char* inPassword) +{ + tDirReference dsRef = 0; + tDataList userNode = { 0, NULL }; + tDirNodeReference nodeRef = 0; + SInt32 status = eDSNoErr; + + // A Username and Password is needed, if either one is not present then bail! + if ( inUsername == NULL ) + { + debug_printf("QTSSODAuthModule: Username required.\n"); + return false; + } + if ( inPassword == NULL ) + { + debug_printf("QTSSODAuthModule: Password required.\n"); + return false; + } + status = ::dsOpenDirService( &dsRef ); + if ( status != eDSNoErr ) + { + // Some DS error, tell the admin what the error is and bail. + // Error can be found in DirectoryService man page. + debug_printf("QTSSODAuthModule: Could not open Directory Services - error: %"_S32BITARG_"", status); + return false; + } + + status = _FindRecordNode( dsRef, NULL, inUsername, kDSStdRecordTypeUsers, &userNode ); + if ( status != eDSNoErr ) + { + debug_printf("QTSSODAuthModule: Could not find user node.\n"); + return false; + } + + // Now that we know the node location of the user object, lets open that node. + status = ::dsOpenDirNode( dsRef, &userNode, &nodeRef ); + ::dsDataListDeallocate( dsRef, &userNode ); + + if ( status == eDSNoErr ) + { + UInt32 uiLen = std::strlen( inUsername ); + tDataNode *pAuthType = ::dsDataNodeAllocateString( dsRef, kDSStdAuthNodeNativeClearTextOK ); + tDataBuffer *pStepBuff = ::dsDataBufferAllocate( dsRef, 128 ); + tDataBuffer *pAuthBuff = ::dsDataBufferAllocate( dsRef, ( sizeof( UInt32 ) + sizeof( UInt32 ) + uiLen + std::strlen( inPassword ) ) ); + + if ( ( pStepBuff != NULL ) && ( pAuthType != NULL ) && ( pAuthBuff != NULL ) ) + { + UInt32 uiCurr = 0; + + // Copy username (that is passed into this function) into buffer for dsDoDirNodeAuth() + std::memcpy( &(pAuthBuff->fBufferData[ uiCurr ]), &uiLen, sizeof( UInt32 ) ); + uiCurr += sizeof( UInt32 ); + std::memcpy( &(pAuthBuff->fBufferData[ uiCurr ]), inUsername, uiLen ); + uiCurr += uiLen; + + // Copy password into a buffer for dsDoDirNodeAuth() + uiLen = std::strlen( inPassword ); + std::memcpy( &(pAuthBuff->fBufferData[ uiCurr ]), &uiLen, sizeof( UInt32 ) ); + uiCurr += sizeof( UInt32 ); + std::memcpy( &(pAuthBuff->fBufferData[ uiCurr ]), inPassword, uiLen ); + uiCurr += uiLen; + + pAuthBuff->fBufferLength = uiCurr; + + // Perform the authentication + status = ::dsDoDirNodeAuth( nodeRef, pAuthType, 1, pAuthBuff, pStepBuff, NULL ); + // Since the buffer held a name & password, clear it immediately. + std::memset( pAuthBuff, 0, pAuthBuff->fBufferSize ); + } + // Free the auth buffer. + if ( pAuthBuff != NULL ) + { + ::dsDataBufferDeAllocate( dsRef, pAuthBuff ); + } + // Free the ignored step buffer. + if ( pStepBuff != NULL ) + { + ::dsDataBufferDeAllocate( dsRef, pStepBuff ); + } + // Free the auth string. + if ( pAuthType != NULL ) + { + ::dsDataNodeDeAllocate( dsRef, pAuthType ); + } + ::dsCloseDirNode( nodeRef ); + } + ::dsCloseDirService( dsRef ); + + if( status == eDSNoErr ) + { + debug_printf("QTSSODAuthModule: Authentication is good.\n"); + return true; + } + + // For admins running QTSS in debug + debug_printf("QTSSODAuthModule: OD returned %"_S32BITARG_" status.\n", status); + debug_printf("QTSSODAuthModule: Authentication failed.\n"); + // If the Authentication failed then return false, which boots the user... + return false; +} + +Bool16 DSAccessChecker::CheckDigest(const char* inUsername, const char* inServerChallenge, const char* inClientResponse, const char* inMethod) +{ + return false; +} + +#endif + +#pragma mark - +#pragma mark "Protected Methods" + +Bool16 DSAccessChecker::CheckGroupMembership(const char* inUsername, const char* inGroupName) +{ + // In Tiger, group membership is painfully simple: we ask memberd for it! + struct passwd *user = NULL; + struct group *group = NULL; + uuid_t userID; + uuid_t groupID; + int isMember = 0; + + // Look up the user using the POSIX APIs: only care about the UID. + user = getpwnam(inUsername); + endpwent(); + if ( user == NULL ) + return false; + uuid_clear(userID); + if ( mbr_uid_to_uuid(user->pw_uid, userID) ) + return false; + + // Look up the group using the POSIX APIs: only care about the GID. + group = getgrnam(inGroupName); + endgrent(); + if ( group == NULL ) + return false; + uuid_clear(groupID); + if ( mbr_gid_to_uuid(group->gr_gid, groupID) ) + return false; + + // mbr_check_membership() returns 0 on success and error code on failure. + if ( mbr_check_membership(userID, groupID, &isMember) ) + return false; + return (bool)isMember; +} + + diff --git a/APIModules/QTSSDSAuthModule/DSAccessChecker.h b/APIModules/QTSSDSAuthModule/DSAccessChecker.h new file mode 100644 index 0000000..58baf4d --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSAccessChecker.h @@ -0,0 +1,70 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ + /* + File: DSAccessChecker.h + + Contains: Class definition for access checking via Open Directory + + Created By: Dan Sinema + + Created: Jan 14, 2005 +*/ + +#ifndef _QTSSACCESSCHECKER_H_ +#define _QTSSACCESSCHECKER_H_ + +// STL Headers +#include // for struct FILE +#include +#include "QTAccessFile.h" + + +class DSAccessChecker +{ +/* + Access check logic: + + If "modAccess_enabled" == "enabled, + +*/ + +public: + static const char* kDefaultAccessFileName; + + DSAccessChecker(); + virtual ~DSAccessChecker(); + + Bool16 CheckPassword(const char* inUsername, const char* inPassword); + Bool16 CheckDigest(const char* inUsername, const char* inServerChallenge, const char* inClientResponse, const char* inMethod); + + +protected: + Bool16 CheckGroupMembership(const char* inUsername, const char* inGroupName); +}; + + + + +#endif //_QTSSACCESSCHECKER_H_ diff --git a/APIModules/QTSSDSAuthModule/DSWrappers/CDirService.cpp b/APIModules/QTSSDSAuthModule/DSWrappers/CDirService.cpp new file mode 100644 index 0000000..aef207c --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSWrappers/CDirService.cpp @@ -0,0 +1,91 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: CDirService.h + + Contains: Implements DSException. + + Created By: chris jalbert + + Created: 26 July 2000 + */ + + +// This file is only meaningful if exceptions are enabled. +#if USE_EXCEPTIONS + +// STL and Std C++ Library Headers +#include // for abs() +#include // for standard exceptions + +// Project Headers +#include "CDirService.h" + +using namespace DirectoryServices ; +using namespace std ; + + +// ---------------------------------------------------------------------------- +// ¥ CDirService Class Globals +// These private typedefs, globals, and functions are not declared statically +// in the class definition because I want to hide the implementation details +// and reduce unrelated dependencies in the class header. +// ---------------------------------------------------------------------------- + +static const char * const _DSErr = "DirectoryService error: " ; + +/* + * Convert an UInt32 to ASCII for printf purposes, returning + * a pointer to the first character of the string representation. + * Borrowed from vfprintf.c. + */ +static char *_ltoa ( + SInt32 val, + char *endp) +{ + register char *cp = endp ; + register SInt32 sval = std::abs (val) ; + + // Terminate the string. + *--cp = '\0' ; + + do { + *--cp = '0' + (sval % 10) ; + sval /= 10 ; + } while (sval != 0) ; + + // Handle signed values. + if (val < 0) + *--cp = '-' ; + return cp ; +} + +DSException::DSException (tDirStatus err) + : inherited (string (_DSErr) + _ltoa (err, &mErrStr[sizeof (mErrStr)])), + mErr (err) +{ +} + +#endif /* USE_EXCEPTIONS */ diff --git a/APIModules/QTSSDSAuthModule/DSWrappers/CDirService.h b/APIModules/QTSSDSAuthModule/DSWrappers/CDirService.h new file mode 100644 index 0000000..6aaf0be --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSWrappers/CDirService.h @@ -0,0 +1,87 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: CDirService.h + + Contains: Defines DSException. + + Created By: chris jalbert + + Created: 26 July 2000 + */ + + +#ifndef _CDirService_h +#define _CDirService_h + +// Framework Headers +#include + +namespace DirectoryServices { + +const tDirReference kDSDirRefNull = 0 ; + +// This file is only meaningful if exceptions are enabled. +#if __EXCEPTIONS + +// STL and Std C++ Library Headers +#include // for standard exceptions + + +//----------------------------------------------------------------------------- +// ¥ DSException - exception class that wraps a tDirStatus result code. +//----------------------------------------------------------------------------- + +class DSException : public std::runtime_error { + public: + typedef std::runtime_error inherited ; + DSException ( tDirStatus err ) ; + tDirStatus status ( void ) const { return mErr ; } + private: + tDirStatus mErr ; + char mErrStr [12] ; +} ; +#define throw_ds_error(err) throw DSException(err) + +#else /* __EXCEPTIONS */ + +//----------------------------------------------------------------------------- +// ¥ DSException - with exceptions disabled, this is dummy code. +//----------------------------------------------------------------------------- + +class DSException { + public: + DSException ( tDirStatus ) { } +} ; + +// Define away the throw spec. +#define throw(spec) +#define throw_ds_error(err) + +#endif /* __EXCEPTIONS */ + +} // namespace DirectoryServices + +#endif /* _CDirService_h */ diff --git a/APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.cpp b/APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.cpp new file mode 100644 index 0000000..93e3ce0 --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.cpp @@ -0,0 +1,94 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: DSBuffer.cpp + + Contains: Class implementation for Open Directory buffers + (wraps tDataBufferPtr) + + Created By: chris jalbert + + Created: 28 November 2000 + */ + + +// ANSI / POSIX headers + +// STL and Std C++ Library Headers +#include // for standard exceptions + +// Framework Headers +#include + +// Project Headers +#include "DSBuffer.h" + + +using namespace DirectoryServices ; + + +// ---------------------------------------------------------------------------- +// ¥ DSBuffer Class Globals +// These private typedefs, globals, and functions are not declared statically +// in the class definition because I want to hide the implementation details +// and reduce unrelated dependencies in the class header. +// ---------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------- +// ¥ DSBuffer Protected Instance Methods +// ---------------------------------------------------------------------------- +#pragma mark **** DSBuffer Protected Instance Methods **** + +// ---------------------------------------------------------------------------- +// ¥ÊGrow +// All memory management (even in the c'tors) are handled in this method. +// An inNewSize value of 0 implies the use of the default buffer size! +// To leave the buffer alone, call with an argument value of 1. +// ---------------------------------------------------------------------------- + +tDataBufferPtr DSBuffer::grow ( size_t inNewSize ) +{ + if (!inNewSize) + inNewSize = kDefaultSize ; + if (mBuffer && (inNewSize <= mBuffer->fBufferSize)) + return mBuffer ; + + register size_t ulTemp = 16 ; + if (inNewSize == kDefaultSize) + ulTemp = inNewSize ; + else + for ( ; ulTemp < inNewSize ; ulTemp <<= 1) ; + + register tDataBufferPtr bufNew = ::dsDataBufferAllocate (mDirRef, ulTemp) ; + if (!bufNew) + throw_ds_error (eDSAllocationFailed) ; + if (mBuffer && (ulTemp = mBuffer->fBufferLength)) + std::memcpy (bufNew->fBufferData, mBuffer->fBufferData, ulTemp) ; + else + ulTemp = 0 ; + bufNew->fBufferLength = ulTemp ; + ::dsDataBufferDeAllocate (mDirRef, mBuffer) ; + return (mBuffer = bufNew) ; +} diff --git a/APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.h b/APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.h new file mode 100644 index 0000000..ed61758 --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSWrappers/DSBuffer.h @@ -0,0 +1,125 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: DSBuffer.h + + Contains: Class definition for Open Directory buffers + (wraps tDataBufferPtr) + + Created By: chris jalbert + + Created: 26 July 2000 + */ + + +#ifndef _DSBuffer_h +#define _DSBuffer_h + + +// Framework Headers +#include +#include + +// Project Headers +#include "CDirService.h" + + +namespace DirectoryServices { + +//----------------------------------------------------------------------------- +// ¥ DSBuffer - a wrapper for tDataBufferPtr. +// This should be considered a private class, primarily used by DSNode. +// All methods except Grow() are inlined for performance reasons (sorry). +//----------------------------------------------------------------------------- + +class DSBuffer +{ +public: + /**** Typedefs, enums, and constants. ****/ + enum { kDefaultSize = 128 } ; + +public: + /**** Instance methods. ****/ + // ctor and dtor. + DSBuffer ( tDirReference inDirRef = 0, + size_t inBufferSize = kDefaultSize ) throw (DSException) + : mDirRef (inDirRef), mBuffer (0) + { if (!grow (inBufferSize)) throw_ds_error (eDSAllocationFailed) ; } + ~DSBuffer ( void ) throw () + { if (mBuffer) ::dsDataBufferDeAllocate (mDirRef, mBuffer) ; } + + // Inline accessors. + size_t capacity ( void ) const throw () + { return (size_t) mBuffer->fBufferSize ; } + size_t size ( void ) const throw () + { return (size_t) mBuffer->fBufferSize ; } + size_t length ( void ) const throw () + { return (size_t) mBuffer->fBufferLength ; } + const char *c_str ( void ) const throw () + { return (const char *) mBuffer->fBufferData ; } + const void *data ( void ) const throw () + { return (const void *) mBuffer->fBufferData ; } + + // Inline setters. + void clear ( void ) throw () + { mBuffer->fBufferLength = 0 ; } + void resize ( size_t inLength ) throw (DSException) + { if (inLength > mBuffer->fBufferSize) + throw_ds_error (eDSBufferTooSmall) ; + mBuffer->fBufferLength = inLength ; } + void set ( const char *inString ) throw (DSException) + { clear () ; append (inString) ; } + void set ( const void *inData, size_t inLength ) throw (DSException) + { clear () ; append (inData, inLength) ; } + void append ( const char *inString ) throw (DSException) + { append ((const void *) inString, 1 + strlen (inString)) ; } + void append ( const void *inData, size_t inLength ) throw (DSException) + { grow (mBuffer->fBufferLength + inLength) ; + char *cpBuf = mBuffer->fBufferData + mBuffer->fBufferLength ; + std::memcpy (cpBuf, inData, inLength) ; + mBuffer->fBufferLength += inLength ; } + + // Casting operators. + tDataBufferPtr operator->() throw () + { return mBuffer ; } + operator tDataBufferPtr() const throw () + { return mBuffer ; } + operator const char*() const throw () + { return this->c_str () ; } + operator const void*() const throw () + { return this->data () ; } + +protected: + /**** Instance methods accessible only to class and subclasses. ****/ + tDataBufferPtr grow ( size_t inNewSize ) throw (DSException) ; + + /**** Instance data. ****/ + tDirReference mDirRef ; + tDataBufferPtr mBuffer ; +} ; + +} // namespace DirectoryServices + +#endif /* _DSBuffer_h */ diff --git a/APIModules/QTSSDSAuthModule/DSWrappers/DSDataList.h b/APIModules/QTSSDSAuthModule/DSWrappers/DSDataList.h new file mode 100644 index 0000000..d2bb36e --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSWrappers/DSDataList.h @@ -0,0 +1,140 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: DSDataList.h + + Contains: Class definition for Open Directory data list + (wraps tDataListPtr) + + Created By: chris jalbert + + Created: 26 July 2000 + */ + + +#ifndef _DSDataList_h +#define _DSDataList_h + +// ANSI / POSIX Headers +#include // for varargs stuff +#include // for memset() + +// STL and Std C++ Library Headers +#include // for auto_ptr<> + +// Framework Headers +#include +#include + +// Project Headers +#include "DSDataNode.h" + + +namespace DirectoryServices { + +//----------------------------------------------------------------------------- +// ¥ DSDataList - simple wrapper for tDataBufferPtr. +// This should be considered a private class, primarily used by DSNode. +// All methods are inlined for performance reasons (sorry). +// Logically, a tDataList is a collection of tDataNode's, so this +// implementation offers GetCount() and operator[](u_long) methods. +//----------------------------------------------------------------------------- + +class DSDataList +{ +public: + /**** Instance methods. ****/ + // ctor and dtor. +/* Not used anywhere and conflicts with next ctor, which is more useful. + DSDataList ( tDirReference inDirRef, + const char *inString, ... ) throw (DSException) + : mDirRef (inDirRef) + { va_list args ; va_start (args, inString) ; + std::memset (&mList, 0, sizeof (mList)) ; + tDirStatus nError = ::dsBuildListFromStringsAllocV ( + inDirRef, &mList, inString, args) ; + va_end (args) ; + if (nError) throw_ds_error (nError) ; } +*/ + DSDataList ( tDirReference inDirRef, + const char *inPath ) throw (DSException) + : mDirRef (inDirRef) + { std::memset (&mList, 0, sizeof (mList)) ; + tDirStatus nError = ::dsBuildListFromPathAlloc (inDirRef, &mList, inPath, "/") ; + if (nError) throw_ds_error (nError) ; } + DSDataList ( const DSDataList& inOrg ) throw (DSException) + : mDirRef (inOrg.mDirRef) + { tDataList *dlp = ::dsDataListCopyList (inOrg.mDirRef, &inOrg.mList) ; + if (!dlp) throw_ds_error (eDSAllocationFailed) ; + mList = *dlp ; std::free (dlp) ; } + // The following constructor changes the ownership of the list buffer! + DSDataList ( tDirReference inDirRef, + tDataListPtr inList = 0 ) throw (DSException) + : mDirRef (inDirRef) + { if (inList) { + mList = *inList ; std::memset (inList, 0, sizeof (mList)) ; + } else std::memset (&mList, 0, sizeof (mList)) ; } + ~DSDataList ( void ) throw () + { ::dsDataListDeallocate (mDirRef, &mList) ; } + + // Inline accessors. + UInt32 count ( void ) const throw () + { return ::dsDataListGetNodeCount (&mList) ; } + size_t length ( void ) const throw () + { return (size_t) ::dsGetDataLength (&mList) ; } + // GetPath()'s return value will be freed when it goes out of scope. + // If it is important, COPY IT to another auto_ptr (which will + // properly invalidate the original). + std::auto_ptr path ( const char *inSep = "/" ) const + { return std::auto_ptr (::dsGetPathFromList (mDirRef, + &mList, inSep)) ; } + + // Casting operators. + operator tDataListPtr() throw () + { return &mList ; } + operator const tDataList*() const throw () + { return &mList ; } + DSDataNode* operator[] ( UInt32 inIndex ) const throw (DSException) + { tDataNodePtr dnTemp ; + tDirStatus nError = ::dsDataListGetNodeAlloc ( + mDirRef, &mList, inIndex, &dnTemp) ; + if (nError) throw_ds_error (nError) ; + return new DSDataNode (mDirRef, dnTemp) ; } + + // Setters. + void append ( const char *inString ) throw (DSException) + { tDirStatus nError = ::dsAppendStringToListAlloc ( + mDirRef, &mList, inString) ; + if (nError) throw_ds_error (nError) ; } + +protected: + /**** Instance data. ****/ + tDirReference mDirRef ; + tDataList mList ; +} ; + +} // namespace DirectoryServices + +#endif /* _DSDataList_h */ diff --git a/APIModules/QTSSDSAuthModule/DSWrappers/DSDataNode.h b/APIModules/QTSSDSAuthModule/DSWrappers/DSDataNode.h new file mode 100644 index 0000000..53bd459 --- /dev/null +++ b/APIModules/QTSSDSAuthModule/DSWrappers/DSDataNode.h @@ -0,0 +1,118 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: DSDataNode.h + + Contains: Class definition for Open Directory data node + (wraps tDataNodePtr) + + Created By: chris jalbert + + Created: 26 July 2000 + */ + + +#ifndef _DSDataNode_h +#define _DSDataNode_h + + +// Framework Headers +#include +#include + +// Project Headers +#include "CDirService.h" + + +namespace DirectoryServices { + +//----------------------------------------------------------------------------- +// ¥ DSDataNode - simple wrapper for tDataBufferPtr. +// This should be considered a private class, primarily used by DSNode. +// All methods are inlined for performance reasons (sorry). +// tDataNode's are identical to tDataBuffer's in implementation, however, +// nodes are treated as opaque objects with DS accessor functions. As a +// result, DSDataNode is not a subclass of DSBuffer. +//----------------------------------------------------------------------------- + +class DSDataNode +{ +public: + /**** Instance methods. ****/ + // ctor and dtor. + DSDataNode ( tDirReference inDirRef, + size_t inBufSize, + size_t inBufUsed, + const void *inData ) throw (DSException) + : mDirRef (inDirRef), + mNode (::dsDataNodeAllocateBlock (inDirRef, + (UInt32) inBufSize, (UInt32) inBufUsed, + (void *) inData)) + { if (!mNode) throw_ds_error (eDSAllocationFailed) ; } + DSDataNode ( tDirReference inDirRef, + const char *inString ) throw (DSException) + : mDirRef (inDirRef), + mNode (::dsDataNodeAllocateString (inDirRef, inString)) + { if (!mNode) throw_ds_error (eDSAllocationFailed) ; } + // Used by DSDataList + DSDataNode ( tDirReference inDirRef, + tDataNode *inNode ) throw (DSException) + : mDirRef (inDirRef), mNode (inNode) + { if (!mNode) throw_ds_error (eDSAllocationFailed) ; } + // Something of a "copy" constructor + DSDataNode ( tDirReference inDirRef, + const tDataNode *inNode ) throw (DSException) + : mDirRef (inDirRef), + mNode (::dsDataNodeAllocateBlock (inDirRef, + inNode->fBufferSize, inNode->fBufferLength, + (void *) inNode->fBufferData)) + { if (!mNode) throw_ds_error (eDSAllocationFailed) ; } + ~DSDataNode ( void ) throw () + { if (mNode) ::dsDataNodeDeAllocate (mDirRef, mNode) ; } + + // Inline accessors. + size_t capacity ( void ) const throw () + { return (size_t) ::dsDataNodeGetSize (mNode) ; } + size_t size ( void ) const throw () + { return (size_t) ::dsDataNodeGetSize (mNode) ; } + size_t length ( void ) const throw () + { return (size_t) ::dsDataNodeGetLength (mNode) ; } + void resize ( size_t inLength ) throw (DSException) + { tDirStatus nError = ::dsDataNodeSetLength (mNode, inLength) ; + if (nError) throw_ds_error (nError) ; } + + // Casting operators. + operator tDataNodePtr() const throw () + { return mNode ; } + +protected: + /**** Instance data. ****/ + tDirReference mDirRef ; + tDataNodePtr mNode ; +} ; + +} // namespace DirectoryServices + +#endif /* _DSDataNode_h */ diff --git a/APIModules/QTSSDSAuthModule/QTSSDSAuthModule.cpp b/APIModules/QTSSDSAuthModule/QTSSDSAuthModule.cpp new file mode 100644 index 0000000..267d992 --- /dev/null +++ b/APIModules/QTSSDSAuthModule/QTSSDSAuthModule.cpp @@ -0,0 +1,528 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: QTSSODSAuthModule.cpp + + Contains: Implementation of QTSSDSAuthModule, a modified version of the AuthenticateRequestModule + is sample code. + + + +*/ + +#include "QTSSDSAuthModule.h" + + +#include "defaultPaths.h" +#include "DSAccessChecker.h" +#include "StrPtrLen.h" +#include "QTSSModuleUtils.h" +#include "OSArrayObjectDeleter.h" +#include "SafeStdLib.h" +#include "QTSSMemoryDeleter.h" +#include "QTSS_Private.h" +#include "OS.h" + +//#define SACL 1 +#if OSX_SACL +extern "C" +{ + #include +} +#include +#include +#endif + +// ATTRIBUTES + +// STATIC DATA + +const UInt32 kBuffLen = 512; +#define MODPREFIX_ "modDSAuth_" +#define AUTHDEBUG 0 +#define debug_printf if (AUTHDEBUG) qtss_printf + + +static QTSS_ModulePrefsObject sPrefs = NULL; +static QTSS_PrefsObject sServerPrefs = NULL; +static OSMutex* sAuthMutex = NULL; +static Bool16 sDefaultAuthenticationEnabled = true; +static Bool16 sAuthenticationEnabled = true; +static char* sDefaultAccessFileName = "qtaccess"; +static char* sAccessFileName = NULL; +static Bool16 sAllowGuestDefaultEnabled = true; +static Bool16 sDefaultGuestEnabled = true; + + +// FUNCTION PROTOTYPES + +static QTSS_Error QTSSDSAuthModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); +static QTSS_Error Register(); +static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); +static QTSS_Error Shutdown(); +static QTSS_Error RereadPrefs(); +static QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams); +static QTSS_Error Authorize(QTSS_StandardRTSP_Params* inParams); +static Bool16 AuthenticateRequest(QTSS_StandardRTSP_Params* inParams, const char* pathBuff, const char* movieRootDir, StrPtrLen* ioRealmName, Bool16* foundUserPtr); + + +static int check_sacl(const char *inUser); +#define kSACLNotAuthorized 0 +#define kSACLAuthorized 1 +#define kSACLUnknownUser 2 +#define kSACLAnyUser 3 + +// FUNCTION IMPLEMENTATIONS + + +QTSS_Error QTSSDSAuthModule_Main(void* inPrivateArgs) +{ +printf("QTSSDSAuthModule_Main\n"); +#if OSX_SACL + printf("QTSSDSAuthModule_Main OSX_SACL\n"); +#endif +#if OSX_OD_API + printf("QTSSDSAuthModule_Main OSX_OD_API\n"); +#endif + + return _stublibrary_main(inPrivateArgs, QTSSDSAuthModuleDispatch); +} + + +QTSS_Error QTSSDSAuthModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) +{ + switch (inRole) + { + case QTSS_Register_Role: + return Register(); + case QTSS_Initialize_Role: + return Initialize(&inParams->initParams); + case QTSS_RereadPrefs_Role: + return RereadPrefs(); + case QTSS_RTSPAuthenticate_Role: + if (sAuthenticationEnabled) + return AuthenticateRTSPRequest(&inParams->rtspAthnParams); + case QTSS_RTSPAuthorize_Role: + if (sAuthenticationEnabled) + return Authorize(&inParams->rtspRequestParams); + case QTSS_Shutdown_Role: + return Shutdown(); + } + return QTSS_NoErr; +} + + +QTSS_Error Register() +{ + // Do role & attribute setup + (void)QTSS_AddRole(QTSS_Initialize_Role); + (void)QTSS_AddRole(QTSS_RereadPrefs_Role); + (void)QTSS_AddRole(QTSS_RTSPAuthenticate_Role); + (void)QTSS_AddRole(QTSS_RTSPAuthorize_Role); + + return QTSS_NoErr; +} + +QTSS_Error Initialize(QTSS_Initialize_Params* inParams) +{ + // Setup module utils + QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); + sPrefs = QTSSModuleUtils::GetModulePrefsObject(inParams->inModule); + sServerPrefs = inParams->inPrefs; + sAuthMutex = new OSMutex(); + + RereadPrefs(); + return QTSS_NoErr; +} + +QTSS_Error Shutdown() +{ + return QTSS_NoErr; +} + +char* GetCheckedFileName() +{ + char *result = NULL; + static char *badChars = "/'\""; + char theBadCharMessage[] = "' '"; + char *theBadChar = NULL; + result = QTSSModuleUtils::GetStringAttribute(sPrefs, MODPREFIX_"dsaccessfilename", sDefaultAccessFileName); + StrPtrLen searchStr(result); + + theBadChar = strpbrk(searchStr.Ptr, badChars); + if ( theBadChar!= NULL) + { + theBadCharMessage[1] = theBadChar[0]; + QTSSModuleUtils::LogErrorStr(qtssWarningVerbosity,MODPREFIX_"found invalid DS access file name in prefs"); + + delete[] result; + result = new char[::strlen(sDefaultAccessFileName) + 2]; + ::strcpy(result, sDefaultAccessFileName); + } + return result; +} + +QTSS_Error RereadPrefs() +{ + OSMutexLocker locker(sAuthMutex); + QTSSModuleUtils::GetAttribute(sPrefs, MODPREFIX_"enabled", qtssAttrDataTypeBool16, + &sAuthenticationEnabled, &sDefaultAuthenticationEnabled, sizeof(sAuthenticationEnabled)); + + QTSSModuleUtils::GetAttribute(sServerPrefs,"enable_allow_guest_default", qtssAttrDataTypeBool16, + &sAllowGuestDefaultEnabled,(void *)&sDefaultGuestEnabled, sizeof(sAllowGuestDefaultEnabled)); + + delete [] sAccessFileName; + sAccessFileName = GetCheckedFileName(); + return QTSS_NoErr; +} + + +Bool16 AuthenticateRequest(QTSS_StandardRTSP_Params* inParams, + const char* pathBuff, + const char* movieRootDir, + StrPtrLen* ioRealmName, + Bool16* foundUserPtr) +{ + if (foundUserPtr) + *foundUserPtr = false; + + if (ioRealmName) //Set Value to Empty for now use whatever is set by access file or the default + { + ioRealmName->Ptr[0] = '\0'; + ioRealmName->Len = 0; + } + QTSS_Error theErr = QTSS_NoErr; + + char passwordBuff[kBuffLen]; + StrPtrLen passwordStr(passwordBuff, kBuffLen -1); + + char nameBuff[kBuffLen]; + StrPtrLen nameStr(nameBuff, kBuffLen -1); + + theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserName,0, (void *) nameStr.Ptr, &nameStr.Len); + if ( (QTSS_NoErr != theErr) || (nameStr.Len >= kBuffLen) ) + { + debug_printf("QTSSDSAuthModule:AuthenticateRequest() Username Error - %"_S32BITARG_"\n", theErr); + return false; + } + theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserPassword,0, (void *) passwordStr.Ptr, &passwordStr.Len); + if ( (QTSS_NoErr != theErr) || (passwordStr.Len >= kBuffLen) ) + { + debug_printf("QTSSDSAuthModule:AuthenticateRequest() Password Error - %"_S32BITARG_"\n", theErr); + return false; + } + nameBuff[nameStr.Len] = '\0'; + passwordBuff[passwordStr.Len] = '\0'; + + // + // Use the name and password to check access + DSAccessChecker accessChecker; + if ( !accessChecker.CheckPassword( nameBuff, passwordBuff) ) + { + return false; + } + + if (foundUserPtr) + *foundUserPtr = true; + + + return true; +} + + + +QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams) +{ + OSMutexLocker locker(sAuthMutex); + + QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; + QTSS_AuthScheme authScheme = qtssAuthNone; + + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest start\n"); + + if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) + { + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest inParams NULL\n"); + return QTSS_RequestFailed; + } + + + // Get the user profile object from the request object + QTSS_UserProfileObject theUserProfile = NULL; + UInt32 len = sizeof(QTSS_UserProfileObject); + QTSS_Error theErr = QTSS_GetValue(theRTSPRequest, qtssRTSPReqUserProfile, 0, (void*)&theUserProfile, &len); + Assert(len == sizeof(QTSS_UserProfileObject)); + if (theErr != QTSS_NoErr) + { + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - username error is %"_S32BITARG_"\n", theErr); + return theErr; + } + char* nameBuff = NULL; + theErr = QTSS_GetValueAsString(theUserProfile, qtssUserName, 0, &nameBuff); + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - username is %s\n", nameBuff); + OSCharArrayDeleter usernameBufDeleter(nameBuff); + if (theErr != QTSS_NoErr) + { + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - theUserProfile nameBuff error is %"_S32BITARG_"\n", theErr); + } + + + len = sizeof(authScheme); + theErr = QTSS_GetValue(theRTSPRequest, qtssRTSPReqAuthScheme, 0, (void*)&authScheme, &len); + + if (theErr != QTSS_NoErr) + return theErr; + + DSAccessChecker accessChecker; + Bool16 allowed = true; + Bool16 foundUser = true; + Bool16 authHandled = true; + + if ( authScheme == qtssAuthDigest) + { + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - authScheme = qtssAuthDigest\n"); + + char* challengeBuff = NULL; + (void) QTSS_GetValueAsString(theRTSPRequest, qtssRTSPReqDigestChallenge, 0, &challengeBuff); + OSCharArrayDeleter challengeDeleter(challengeBuff); + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - Server Challenge =%s\n",challengeBuff); + + char* responseBuff = NULL; + (void) QTSS_GetValueAsString(theRTSPRequest, qtssRTSPReqDigestResponse, 0, &responseBuff); + OSCharArrayDeleter responseDeleter(responseBuff); + + char* methodBuff = NULL; + (void) QTSS_GetValueAsString(theRTSPRequest, qtssRTSPReqMethodStr, 0, &methodBuff); + OSCharArrayDeleter methodDeleter(methodBuff); + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - Server Method =%s\n",methodBuff); + + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - username is %s challenge=%s response=%s method=%s\n", nameBuff, challengeBuff, responseBuff, methodBuff); + if ( false == accessChecker.CheckDigest(nameBuff, challengeBuff, responseBuff, methodBuff) ) + { debug_printf("QTSSDSAuthModule CheckDigest returned false\n"); + } + else + { debug_printf("QTSSDSAuthModule CheckDigest returned true\n"); + (void) QTSSModuleUtils::AuthorizeRequest(theRTSPRequest,&allowed,&foundUser,&authHandled); + } + + } + if ( authScheme == qtssAuthBasic) + { + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - authScheme = qtssAuthBasic\n"); + + + char passwordBuff[kBuffLen]; + StrPtrLen passwordStr(passwordBuff, kBuffLen -1); + + char nameBuff[kBuffLen]; + StrPtrLen nameStr(nameBuff, kBuffLen -1); + + theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserName,0, (void *) nameStr.Ptr, &nameStr.Len); + if ( (QTSS_NoErr != theErr) || (nameStr.Len >= kBuffLen) ) + { + debug_printf("QTSSDSAuthModule:AuthenticateRequest() Username Error - %"_S32BITARG_"\n", theErr); + return false; + } + theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserPassword,0, (void *) passwordStr.Ptr, &passwordStr.Len); + if ( (QTSS_NoErr != theErr) || (passwordStr.Len >= kBuffLen) ) + { + debug_printf("QTSSDSAuthModule:AuthenticateRequest() Password Error - %"_S32BITARG_"\n", theErr); + } + nameBuff[nameStr.Len] = '\0'; + passwordBuff[passwordStr.Len] = '\0'; + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - username is %s\n", nameBuff); + debug_printf("QTSSDSAuthModule:AuthenticateRTSPRequest - password is %s\n", passwordBuff); + if ( !accessChecker.CheckPassword(nameBuff, passwordBuff) ) + { debug_printf("QTSSDSAuthModule CheckPassword returned false\n"); + } + else + { + debug_printf("QTSSDSAuthModule CheckPassword returned true\n"); + (void) QTSSModuleUtils::AuthorizeRequest(theRTSPRequest,&allowed,&foundUser,&authHandled); + } + + } + + return QTSS_NoErr; +} + + + +int check_sacl(const char *inUser) +{ + +#if OSX_SACL + int mbrErr = ENOENT; + int isMember = 0; + uuid_t user_uuid; + + uuid_t uu; + mbrErr = mbr_uid_to_uuid(geteuid(), uu); + if (0 == mbrErr) + { + mbrErr = mbr_check_service_membership(uu, "qtss", &isMember); + if (ENOENT == mbrErr) //no acl exists so allow any user. + return kSACLAnyUser; + } + + if( (mbrErr = mbr_user_name_to_uuid(inUser, user_uuid)) != 0) + { + return kSACLUnknownUser; + } + + if((mbrErr = mbr_check_service_membership(user_uuid, "qtss", &isMember)) != 0) + { + if(mbrErr == ENOENT){ // no ACL exists + return kSACLAuthorized; + } else { + return kSACLNotAuthorized; + } + } + + if(isMember == kSACLAuthorized) + { + return kSACLAuthorized; + } + + + return kSACLNotAuthorized; +#else + return kSACLAuthorized; +#endif +} + + + +QTSS_Error Authorize(QTSS_StandardRTSP_Params* inParams) +{ + + OSMutexLocker locker(sAuthMutex); + + + QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; + + if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) + { + debug_printf("QTSSDSAuthModule - Authorize inParams: Error"); + return QTSS_RequestFailed; + } + + //get the local file path + char* pathBuffStr = NULL; + QTSS_Error theErr = QTSS_GetValueAsString(theRTSPRequest, qtssRTSPReqLocalPath, 0, &pathBuffStr); + QTSSCharArrayDeleter pathBuffDeleter(pathBuffStr); + if (theErr != QTSS_NoErr) + { + debug_printf("QTSSDSAuthModule - Authorize [QTSS_GetValueAsString]: Error %"_S32BITARG_"", theErr); + return QTSS_RequestFailed; + } + //get the root movie directory + char* movieRootDirStr = NULL; + theErr = QTSS_GetValueAsString(theRTSPRequest,qtssRTSPReqRootDir, 0, &movieRootDirStr); + OSCharArrayDeleter movieRootDeleter(movieRootDirStr); + if (theErr != QTSS_NoErr) + { + debug_printf("QTSSDSAuthModule - Authorize[QTSS_GetValueAsString]: Error %"_S32BITARG_"", theErr); + return false; + } + //check if this user is allowed to see this movie + + DSAccessFile accessFile; + Bool16 allowNoAccessFiles = sAllowGuestDefaultEnabled; //no access files allowed means allowing guest access (unknown users) + Bool16 allowAnyUser = false; + QTSS_ActionFlags noAction = ~qtssActionFlagsRead; //only handle read + QTSS_ActionFlags authorizeAction = QTSSModuleUtils::GetRequestActions(theRTSPRequest); + Bool16 authorized =false; + Bool16 saclUser = false; + + char *name = NULL; + (void) QTSS_GetValueAsString (theRTSPRequest,qtssRTSPReqUserName,0, &name); + OSCharArrayDeleter nameDeleter(name); + if (sAllowGuestDefaultEnabled) // if guest access is on, sacls are ignored. + { + authorized = true; + } + else + { int result = check_sacl(name); + + switch (result) + { + case kSACLAuthorized: authorized = true; + break; + + case kSACLUnknownUser: authorized = false; //set this to true to allow file based and other non-directory service users access, when SACLs are enabled in the system for QTSS. + break; + + case kSACLNotAuthorized: authorized = false; + break; + + case kSACLAnyUser: authorized = true; + break; + + default: authorized = false; + } + + + debug_printf("QTSSDSAuthModule:Authorize sacl_check result=%d for %s authorized = %d\n",result, name, authorized); + if (false == authorized) + saclUser = true; + } + + Bool16 foundUser = false; + Bool16 passwordOK = false; //::AuthenticateRequest(inParams, pathBuffStr, movieRootDirStr, &sRealmNameStr, &foundUser); + if (authorized) //have to be authorized by sacls or guest first before qtaccess file checks can allow or disallow. + { + theErr = accessFile.AuthorizeRequest(inParams,allowNoAccessFiles, noAction, authorizeAction,&authorized, &allowAnyUser); + debug_printf("QTSSDSAuthModule:Authorize AuthorizeRequest() returned authorized=%d allowAnyUser=%d\n", authorized, allowAnyUser); + + } + + debug_printf("QTSSDSAuthModule:Authorize AuthenticateRequest() returned passwordOK=%d foundUser=%d authorized=%d allowAnyUser=%d\n", passwordOK ,foundUser, authorized,allowAnyUser); + + Bool16 allowRequest = authorized; + Bool16 authHandled = true; + + if(!(authorizeAction & qtssActionFlagsRead)) //not for us + { + debug_printf("QTSSDSAuthModule:Authorize(qtssActionFlagsRead) not handled do nothing.\n"); + } + else if (allowRequest) + { + debug_printf("QTSSDSAuthModule:Authorize() succeeded.\n"); + theErr = QTSSModuleUtils::AuthorizeRequest(theRTSPRequest, &allowRequest, &foundUser, &authHandled); + debug_printf("QTSSDSAuthModule:Authorize allowRequest=%d founduser=%d authHandled=%d\n", allowRequest, foundUser, authHandled); + } + else //request denied + { + debug_printf("QTSSDSAuthModule:Authorize() failed.\n"); + foundUser = saclUser; + authHandled = true; + theErr = QTSSModuleUtils::AuthorizeRequest(theRTSPRequest, &allowRequest, &foundUser, &authHandled); + debug_printf("QTSSDSAuthModule:Authorize allowRequest=%d founduser=%d authHandled=%d saclUser=%d\n", allowRequest, foundUser, authHandled,saclUser); + } + + + return theErr; +} diff --git a/APIModules/QTSSODAuthModule/QTSSODAuthModule.h b/APIModules/QTSSDSAuthModule/QTSSDSAuthModule.h similarity index 82% rename from APIModules/QTSSODAuthModule/QTSSODAuthModule.h rename to APIModules/QTSSDSAuthModule/QTSSDSAuthModule.h index 8afe655..1e24c7a 100644 --- a/APIModules/QTSSODAuthModule/QTSSODAuthModule.h +++ b/APIModules/QTSSDSAuthModule/QTSSDSAuthModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -23,25 +23,23 @@ * */ /* - File: QTSSDemoModule.h + File: QTSSODAuthModule.h Contains: This is a modified version of the QTSSAccessModule also released with QTSS 2.0. It has been modified to shrink the linespacing so that the code can fit on slides. Also, this module issues redirects to an error movie. - - */ -#ifndef _QTSSDEMOMODULE_H__ -#define _QTSSDEMOMODULE_H__ +#ifndef _QTSSDSAUTHMODULE_H__ +#define _QTSSDSAUTHMODULE_H__ #include "QTSS.h" extern "C" { - QTSS_Error QTSSDemoODAuthModule_Main(void* inPrivateArgs); + QTSS_Error QTSSDSAuthModule_Main(void* inPrivateArgs); } #endif diff --git a/APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.cpp b/APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.cpp deleted file mode 100644 index 61263e5..0000000 --- a/APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.cpp +++ /dev/null @@ -1,414 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ - /* - File: AccessCheck.cpp - - Contains: - - Created By: Chris LeCroy - - -*/ - -#ifndef __MW_ - #include - #ifndef __USE_XOPEN - #define __USE_XOPEN 1 - #endif - #include -#endif - -#if __solaris__ || __sgi__ -#include -#endif - -#include -#include -#include -#include "SafeStdLib.h" -#include "StrPtrLen.h" -#include "StringParser.h" -#include "QTSSModuleUtils.h" -#include "OSFileSource.h" -#include "base64.h" - - -#include "AccessCheck.h" - - -AccessChecker::AccessChecker(const char* inMovieRootDir, const char* inQTAccessFileName, const char* inUsersFilePath, const char* inGroupsFilePath) : - fRealmHeader(NULL), - fMovieRootDir(NULL), - fQTAccessFileName(NULL), - fGroupsFilePath(NULL), - fUsersFilePath(NULL), - fAccessFile(NULL), - fUsersFile(NULL), - fGroupsFile(NULL) -{ - Assert(inMovieRootDir != NULL); - Assert(inQTAccessFileName != NULL); - Assert(inUsersFilePath != NULL); - Assert(inGroupsFilePath != NULL); - - fMovieRootDir = new char[strlen(inMovieRootDir)+1]; - ::strcpy(fMovieRootDir, inMovieRootDir); - - fQTAccessFileName = new char[strlen(inQTAccessFileName)+1]; - ::strcpy(fQTAccessFileName, inQTAccessFileName); - - fUsersFilePath = new char[strlen(inUsersFilePath)+1]; - ::strcpy(fUsersFilePath, inUsersFilePath); - - fGroupsFilePath = new char[strlen(inGroupsFilePath)+1]; - ::strcpy(fGroupsFilePath, inGroupsFilePath); -} - -AccessChecker::~AccessChecker() -{ - delete[] fMovieRootDir; - delete[] fQTAccessFileName; - delete[] fGroupsFilePath; - delete[] fUsersFilePath; - - if ( fUsersFile != NULL ) - ::fclose(fUsersFile); - - if ( fGroupsFile != NULL ) - ::fclose(fGroupsFile); - - if ( fAccessFile != NULL ) - ::fclose(fAccessFile); -} - -bool AccessChecker::CheckAccess(const char* inUsername, const char* inPassword) -{ - if ( this->CheckPassword(inUsername, inPassword) && // password's cool, check if this guy has dir access - this->CheckUserAccess(inUsername) ) - return true; - - return false; -} - - -bool AccessChecker::CheckPassword(const char* inUsername, const char* inPassword) -{ - char realPasswd[255]; - - this->GetPassword(inUsername, realPasswd); - if ( realPasswd[0] == '\0' ) - return false; - - return (::strcmp(realPasswd, (char*)::crypt(inPassword, realPasswd)) == 0); -} - - -void AccessChecker::GetPassword(const char* inUsername, char* ioPassword) -{ - const int kBufLen = 1024; - char buf[kBufLen] = {}; - StrPtrLen bufLine; - - ioPassword[0] = '\0'; - - if ( fUsersFile == NULL ) - return; - - ::rewind(fUsersFile); - while ( ::fgets(buf, kBufLen, fUsersFile) != NULL ) - { - bufLine.Set(buf, strlen(buf)); - StringParser bufParser(&bufLine); - - //skip over leading whitespace - bufParser.ConsumeUntil(NULL, StringParser::sWhitespaceMask); - - //skip over comments and blank lines - if ((bufParser.GetDataRemaining() == 0) || (bufParser[0] == '#') || (bufParser[0] == '\0') ) - continue; - - StrPtrLen userName; - bufParser.ConsumeUntil(&userName, ':'); - - if (userName.Equal(inUsername) ) - { - StrPtrLen password; - - if ( bufParser.Expect(':') ) - { - bufParser.GetThruEOL(&password); - strncpy(ioPassword, password.Ptr, password.Len+1); - ioPassword[password.Len] = '\0'; - break; - } - } - } -} - - -bool AccessChecker::CheckUserAccess(const char* inUsername) -{ - const int kBufLen = 2048; - char buf[kBufLen]; - StrPtrLen bufLine; - - if ( fAccessFile == NULL ) - return false; - - ::rewind(fAccessFile); - while ( ::fgets(buf, kBufLen, fAccessFile) != NULL ) - { - bufLine.Set(buf, strlen(buf)); - StringParser bufParser(&bufLine); - - //skip over leading whitespace - bufParser.ConsumeUntil(NULL, StringParser::sWhitespaceMask); - - //skip over comments and blank lines... - if ((bufParser.GetDataRemaining() == 0) || (bufParser[0] == '#') || (bufParser[0] == '\0') ) - continue; - - StrPtrLen word; - bufParser.ConsumeWord(&word); - if ( word.Equal("require") ) - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&word); - - if ( word.Equal("user") ) - { - while (word.Len != 0) - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&word); - - if (word.Equal("valid-user") || word.Equal(inUsername)) - { - return true; - } - } - } - else if ( word.Equal("group") ) - { - while (word.Len != 0) - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&word); - if ( this->CheckGroupMembership(inUsername, word) ) - { - return true; - } - } - } - } - } - - return false; -} - -bool AccessChecker::CheckGroupMembership(const char* inUsername, const StrPtrLen& inGroupName) -{ - const int kBufLen = 2048; - char buf[kBufLen]; - StrPtrLen bufLine; - - if ( fGroupsFile == NULL ) - return false; - - ::rewind(fGroupsFile); - while ( ::fgets(buf, kBufLen, fGroupsFile) != NULL ) - { - bufLine.Set(buf, strlen(buf)); - StringParser bufParser(&bufLine); - - //skip over leading whitespace - bufParser.ConsumeUntil(NULL, StringParser::sWhitespaceMask); - - //skip over comments and blank lines... - if ( (bufParser.GetDataRemaining() == 0) || (bufParser[0] == '#') || (bufParser[0] == '\0') ) - continue; - - //parse off the groupname - StrPtrLen groupName; - - bufParser.ConsumeUntil(&groupName, ':'); - if (bufParser.Expect(':')) - { - if (groupName.Equal(inGroupName)) //found our inGroupName? - { - StrPtrLen userName; - - do //ToDo: this loop could be optimized with a strstr call - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&userName); - if (userName.Equal(inUsername)) - { - return true; - } - } while (userName.Len != 0); - } - } - } - - return false; -} - -bool AccessChecker::GetAccessFile(const char* dirPath) -{ - char* currentDir= NULL; - char* lastSlash = NULL; - int movieRootDirLen = ::strlen(fMovieRootDir); - - currentDir = new char[strlen(dirPath)+strlen(fQTAccessFileName)]; - - ::strcpy(currentDir, dirPath); - - //strip off filename - lastSlash = ::strrchr(currentDir, '/'); - if (lastSlash != NULL) - lastSlash[0] = '\0'; - - //check qtaccess files - - while ( true ) //walk backward up the dir tree? - { - ::strcat(currentDir, "/"); - ::strcat(currentDir, fQTAccessFileName); - - fAccessFile = ::fopen(currentDir, "r"); - - //strip off the "/qtaccess" - lastSlash = ::strrchr(currentDir, '/'); - lastSlash[0] = '\0'; - - - if ( fAccessFile != NULL ) - { - this->GetAccessFileInfo(currentDir); - delete[] currentDir; - return true; - } - else - { - //strip of the tailing directory - lastSlash = ::strrchr(currentDir, '/'); - if (lastSlash == NULL) - break; - else - lastSlash[0] = '\0'; - } - - if ( (lastSlash-currentDir) < movieRootDirLen ) //bail if we start eating our way out of fMovieRootDir - break; - } - - delete[] currentDir; - return false; -} - -void AccessChecker::GetAccessFileInfo(const char* inQTAccessDir) -{ - Assert( fAccessFile != NULL); - - const int kBufLen = 2048; - char buf[kBufLen]; - StrPtrLen bufLine; - - while ( ::fgets(buf, kBufLen, fAccessFile) != NULL ) - { - bufLine.Set(buf, strlen(buf)); - StringParser bufParser(&bufLine); - - //skip over leading whitespace - bufParser.ConsumeUntil(NULL, StringParser::sWhitespaceMask); - - //skip over comments and blank lines... - - if ( (bufParser.GetDataRemaining() == 0) || (bufParser[0] == '#') || (bufParser[0] == '\0') ) - continue; - - StrPtrLen word; - bufParser.ConsumeWord(&word); - bufParser.ConsumeWhitespace(); - - if ( word.Equal("AuthName") ) //realm name - { - bufParser.GetThruEOL(&word); - - delete[] fRealmHeader; - fRealmHeader = new char[word.Len+1]; - ::strcpy(fRealmHeader, word.Ptr); - fRealmHeader[word.Len] = '\0'; - } - else if ( word.Equal("AuthUserFile" ) ) //users name - { - char filePath[kBufLen]; - bufParser.GetThruEOL(&word); - if (word.Ptr[0] == '/') //absolute path - { - ::memcpy(filePath, word.Ptr, word.Len); - filePath[word.Len] = '\0'; - } - else - { - ::strcpy(filePath, inQTAccessDir); - ::strcat(filePath, "/"); - ::strncat(filePath, word.Ptr, word.Len); - } - fUsersFile = ::fopen(filePath, "r"); - } - else if ( word.Equal("AuthGroupFile") ) //groups name - { - char filePath[kBufLen]; - bufParser.GetThruEOL(&word); - if (word.Ptr[0] == '/') //absolute path - { - ::memcpy(filePath, word.Ptr, word.Len); - filePath[word.Len] = '\0'; - } - else - { - ::strcpy(filePath, inQTAccessDir); - ::strcat(filePath, "/"); - ::strncat(filePath, word.Ptr, word.Len); - } - fGroupsFile = ::fopen(filePath, "r"); - } - } - - - if (fUsersFile == NULL) - { - fUsersFile = ::fopen(fUsersFilePath, "r"); - } - - if (fGroupsFile == NULL) - { - fGroupsFile = ::fopen(fGroupsFilePath, "r"); - } -} - - diff --git a/APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.h b/APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.h deleted file mode 100644 index 6cbac04..0000000 --- a/APIModules/QTSSDemoAuthorizationModule.bproj/AccessCheck.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ - /* - File: AccessCheck.h - - Contains: - - Created By: Chris LeCroy - - Created: Mon, Sep 27, 1999 @ 4:26 PM -*/ - -#ifndef _QTSSACCESSCHECK_H_ -#define _QTSSACCESSCHECK_H_ - -#include "QTSS.h" -#include "StrPtrLen.h" -#include - -class AccessChecker -{ -/* - Access check logic: - - If "modAccess_enabled" == "enabled, - Starting at URL dir, walk up directories to Movie Folder until a "qtaccess" file is found - If not found, - allow access - If found, - send a challenge to the client - verify user against QTSSPasswd - verify that user or member group is in the lowest ".qtacess" - walk up directories until a ".qtaccess" is found - If found, - allow access - If not found, - deny access - - ToDo: - would probably be a good idea to do some caching of ".qtacces" data to avoid - multiple directory walks -*/ - -public: - AccessChecker(const char* inMovieRootDir, const char* inQTAccessFileName, const char* inDefaultUsersFilePath, const char* inDefaultGroupsFilePath); - virtual ~AccessChecker(); - bool CheckAccess(const char* inUsername, const char* inPassword); - bool CheckPassword(const char* inUsername, const char* inPassword); - void GetPassword(const char* inUsername, char* ioPassword); - bool CheckUserAccess(const char* inUsername); - bool CheckGroupMembership(const char* inUsername, const StrPtrLen& inGroupName); - bool GetAccessFile(const char* dirPath); - - inline char* GetRealmHeaderPtr() {return fRealmHeader;} - - -protected: - char* fRealmHeader; - char* fMovieRootDir; - char* fQTAccessFileName; - char* fGroupsFilePath; - char* fUsersFilePath; - FILE* fAccessFile; - FILE* fUsersFile; - FILE* fGroupsFile; - - static const char* kDefaultUsersFilePath; - static const char* kDefaultGroupsFilePath; - static const char* kDefaultAccessFileName; - static const char* kDefaultRealmHeader; - - void GetAccessFileInfo(const char* inQTAccessDir); - -}; - -#endif //_QTSSACCESSCHECK_H_ diff --git a/APIModules/QTSSDemoAuthorizationModule.bproj/Makefile.POSIX b/APIModules/QTSSDemoAuthorizationModule.bproj/Makefile.POSIX index 7b6eb45..9b1f1e5 100644 --- a/APIModules/QTSSDemoAuthorizationModule.bproj/Makefile.POSIX +++ b/APIModules/QTSSDemoAuthorizationModule.bproj/Makefile.POSIX @@ -34,8 +34,7 @@ CPPFILES = ../OSMemory_Modules/OSMemory_Modules.cpp \ ../../APICommonCode/SDPSourceInfo.cpp \ ../../APICommonCode/SourceInfo.cpp \ ../../RTPMetaInfoLib/RTPMetaInfoPacket.cpp \ - AccessCheck.cpp \ - QTSSDemoModule.cpp + QTSSDemoAuthorizationModule.cpp LIBFILES = ../../CommonUtilitiesLib/libCommonUtilitiesLib.a diff --git a/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.cpp b/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.cpp new file mode 100644 index 0000000..8a1c3e9 --- /dev/null +++ b/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.cpp @@ -0,0 +1,207 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: QTSSDemoAuthorizationModule.cpp + + Contains: Implementation of QTSSDemoAuthorizationModule, which demonstrates an authorization method using + client IP addresses for access control. Connections from IP addresses not included in the "IPAccessList" + preference will be immediately sent an RTSP "401 Unauthorized" error. + + Example of preferences allowing only connections from loopback (or any address in the 127.0.0.X network): + + true + 127.0.0.* + +*/ + +#include "QTSSDemoAuthorizationModule.h" +#include "defaultPaths.h" +#include "StrPtrLen.h" +#include "QTSSModuleUtils.h" +#include "OSArrayObjectDeleter.h" +#include "SafeStdLib.h" +#include "QTSSMemoryDeleter.h" +#include "StringParser.h" +#include "OSMemory.h" + +// STATIC DATA +static QTSS_ServerObject sServer = NULL; +static QTSS_ModuleObject sModule = NULL; +static QTSS_ModulePrefsObject sModulePrefs = NULL; + +const UInt32 kBuffLen = 512; + +// Module description and version +static char* sDescription = "Demonstrates an authorization method using client IP addresses for access control"; +static UInt32 sVersion = 0x00010000; + +// FUNCTION PROTOTYPES + +static QTSS_Error QTSSDemoAuthorizationModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); +static QTSS_Error Register(QTSS_Register_Params* inParams); +static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); +static QTSS_Error Shutdown(); +static QTSS_Error RereadPrefs(); +static QTSS_Error Authenticate(); +static QTSS_Error Authorize(QTSS_StandardRTSP_Params* inParams); +static Bool16 AcceptSession(QTSS_RTSPSessionObject inRTSPSession); + +// Module preferences and their defaults +static Bool16 sEnabled = false; +static Bool16 kDefaultEnabled = false; +static char* sIPAccessList = NULL; +static QTSS_AttributeID sIPAccessListID = qtssIllegalAttrID; + +// FUNCTION IMPLEMENTATIONS + +QTSS_Error QTSSDemoAuthorizationModule_Main(void* inPrivateArgs) +{ + return _stublibrary_main(inPrivateArgs, QTSSDemoAuthorizationModuleDispatch); +} + + +QTSS_Error QTSSDemoAuthorizationModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) +{ + switch (inRole) + { + case QTSS_Register_Role: + return Register(&inParams->regParams); + case QTSS_Initialize_Role: + return Initialize(&inParams->initParams); + case QTSS_RereadPrefs_Role: + return RereadPrefs(); + case QTSS_RTSPAuthenticate_Role: + return Authenticate(); + case QTSS_RTSPAuthorize_Role: + return Authorize(&inParams->rtspRequestParams); + case QTSS_Shutdown_Role: + return Shutdown(); + } + return QTSS_NoErr; +} + + +QTSS_Error Register(QTSS_Register_Params* inParams) +{ + // Do role & attribute setup + (void)QTSS_AddRole(QTSS_Initialize_Role); + (void)QTSS_AddRole(QTSS_RereadPrefs_Role); + (void)QTSS_AddRole(QTSS_RTSPAuthenticate_Role); + (void)QTSS_AddRole(QTSS_RTSPAuthorize_Role); + + // Tell the server our name + static char* sModuleName = "QTSSDemoAuthorizationModule"; + ::strcpy(inParams->outModuleName, sModuleName); + + return QTSS_NoErr; +} + + +QTSS_Error Initialize(QTSS_Initialize_Params* inParams) +{ + + // Setup module utils + QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); + + // Get the server object + sServer = inParams->inServer; + + // Get our prefs object + sModule = inParams->inModule; + sModulePrefs = QTSSModuleUtils::GetModulePrefsObject(sModule); + + // Set our version and description + (void)QTSS_SetValue(sModule, qtssModDesc, 0, sDescription, ::strlen(sDescription)); + (void)QTSS_SetValue(sModule, qtssModVersion, 0, &sVersion, sizeof(sVersion)); + + RereadPrefs(); + return QTSS_NoErr; +} + +QTSS_Error Shutdown() +{ + return QTSS_NoErr; +} + +QTSS_Error RereadPrefs() +{ + QTSSModuleUtils::GetAttribute(sModulePrefs, "enabled", qtssAttrDataTypeBool16, + &sEnabled, &kDefaultEnabled, sizeof(sEnabled)); + + delete [] sIPAccessList; + sIPAccessList = QTSSModuleUtils::GetStringAttribute(sModulePrefs, "IPAccessList", "127.0.0.*"); + sIPAccessListID = QTSSModuleUtils::GetAttrID(sModulePrefs, "IPAccessList"); + + return QTSS_NoErr; +} + +// This is not necessary, but could be used to perform Authentication Role actions +QTSS_Error Authenticate() +{ + return QTSS_NoErr; +} + +QTSS_Error Authorize(QTSS_StandardRTSP_Params* inParams) +{ + QTSS_Error theErr = QTSS_NoErr; + QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; + QTSS_RTSPSessionObject theRTSPSession = inParams->inRTSPSession; + QTSS_ActionFlags noAction = ~qtssActionFlagsRead; //only handle read + + + QTSS_ActionFlags authorizeAction = QTSSModuleUtils::GetRequestActions(theRTSPRequest); + Bool16 allowRequest = false; + + if ((authorizeAction & noAction) != 0) + return QTSS_NoErr; + + allowRequest = AcceptSession(theRTSPSession); + + if( (theErr != QTSS_NoErr) || (allowRequest == false) ) //handle it + { + //Access denied + Bool16 allowed = false; + (void) QTSSModuleUtils::SendErrorResponse(theRTSPRequest, qtssClientUnAuthorized, 0); + (void) QTSSModuleUtils::AuthorizeRequest(theRTSPRequest, &allowed, &allowed, &allowed); + } else { + //Access granted + Bool16 allowed = true; + (void) QTSSModuleUtils::AuthorizeRequest(theRTSPRequest, &allowed, &allowed, &allowed); + } + + return QTSS_NoErr; +} + +Bool16 AcceptSession(QTSS_RTSPSessionObject inRTSPSession) +{ + char remoteAddress[20] = {0}; + StrPtrLen theClientIPAddressStr(remoteAddress,sizeof(remoteAddress)); + QTSS_Error err = QTSS_GetValue(inRTSPSession, qtssRTSPSesRemoteAddrStr, 0, (void*)theClientIPAddressStr.Ptr, &theClientIPAddressStr.Len); + if (err != QTSS_NoErr) return false; + + if (QTSSModuleUtils::AddressInList(sModulePrefs, sIPAccessListID, &theClientIPAddressStr)) + return true; + return false; +} \ No newline at end of file diff --git a/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.h b/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.h similarity index 68% rename from APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.h rename to APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.h index 7854322..4238a7f 100644 --- a/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.h +++ b/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoAuthorizationModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,20 +22,20 @@ * @APPLE_LICENSE_HEADER_END@ * */ -/* - File: QTSSDemoModule.h - - Contains: This is a modified version of the QTSSAccessModule also released with - QTSS 2.0. It has been modified to shrink the linespacing so that - the code can fit on slides. Also, this module issues redirects to - an error movie. - + +/* + File: QTSSDemoAuthorizationModule.h + + Contains: Header file for QTSSDemoAuthorizationModule. + */ -#ifndef _QTSSDEMOMODULE_H__ -#define _QTSSDEMOMODULE_H__ + + +#ifndef __QTSS_DEMOAUTHORIZATION_MODULE_H__ +#define __QTSS_DEMOAUTHORIZATION_MODULE_H__ #include "QTSS.h" @@ -44,5 +44,4 @@ extern "C" QTSS_Error QTSSDemoAuthorizationModule_Main(void* inPrivateArgs); } -#endif - +#endif // __QTSS_DEMOAUTHORIZATION_MODULE_H__ diff --git a/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.cpp b/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.cpp deleted file mode 100644 index 001b7b7..0000000 --- a/APIModules/QTSSDemoAuthorizationModule.bproj/QTSSDemoModule.cpp +++ /dev/null @@ -1,310 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ -/* - File: QTSSDemoModule.cpp - - Contains: Implementation of QTSSDemoModule, a modified version of the QTSSAccessModule - for demoing at QuickTime Live! and distributing as sample code. - - - -*/ - -#include "QTSSDemoModule.h" -#include "defaultPaths.h" -#include "AccessCheck.h" -#include "StrPtrLen.h" -#include "QTSSModuleUtils.h" -#include "OSArrayObjectDeleter.h" -#include "SafeStdLib.h" -#include "QTSSMemoryDeleter.h" - -// ATTRIBUTES - -// STATIC DATA - - -static StrPtrLen sRedirect("RTSP/1.0 302 Found\r\nServer: QTSS/2.0\r\nCSeq: 2\r\nLocation: rtsp://"); -static StrPtrLen sRedirectEnd("/error/errormovie.mov\r\n\r\n"); - -const UInt32 kBuffLen = 512; - - -// FUNCTION PROTOTYPES - -static QTSS_Error QTSSDemoModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); -static QTSS_Error Register(); -static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); -static QTSS_Error Shutdown(); -static QTSS_Error RereadPrefs(); -static QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams); -static bool QTSSAccess(QTSS_StandardRTSP_Params* inParams, const char* pathBuff, const char* movieRootDir, char* ioRealmName); - - -// FUNCTION IMPLEMENTATIONS - -QTSS_Error QTSSDemoAuthorizationModule_Main(void* inPrivateArgs) -{ - return _stublibrary_main(inPrivateArgs, QTSSDemoModuleDispatch); -} - - -QTSS_Error QTSSDemoModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) -{ - switch (inRole) - { - case QTSS_Register_Role: - return Register(); - case QTSS_Initialize_Role: - return Initialize(&inParams->initParams); - case QTSS_RereadPrefs_Role: - return RereadPrefs(); - case QTSS_RTSPAuthorize_Role: - return Authenticate(&inParams->rtspRequestParams); - case QTSS_Shutdown_Role: - return Shutdown(); - } - return QTSS_NoErr; -} - - -QTSS_Error Register() -{ - // Do role & attribute setup - (void)QTSS_AddRole(QTSS_Initialize_Role); - (void)QTSS_AddRole(QTSS_RereadPrefs_Role); - (void)QTSS_AddRole(QTSS_RTSPAuthorize_Role); - - return QTSS_NoErr; -} - - -QTSS_Error Initialize(QTSS_Initialize_Params* inParams) -{ -// qtss_printf("QTSSDemoModule was just called in the QTSS_Initialize_Role\n"); - // Setup module utils - QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); - - RereadPrefs(); - return QTSS_NoErr; -} - -QTSS_Error Shutdown() -{ - return QTSS_NoErr; -} - -QTSS_Error RereadPrefs() -{ - return QTSS_NoErr; -} - -bool QTSSAccess(QTSS_StandardRTSP_Params* inParams, - const char* pathBuff, - const char* movieRootDir, - char* ioRealmName) -{ - QTSS_Error theErr = QTSS_NoErr; - qtss_printf("In QTSSAccess. Pathbuff: %s. movierootdir: %s\n", pathBuff, movieRootDir); - - char passwordBuff[kBuffLen]; - StrPtrLen passwordStr(passwordBuff, kBuffLen); - - char nameBuff[kBuffLen]; - StrPtrLen nameStr(nameBuff, kBuffLen); - - char realmNameBuff[kBuffLen]; - StrPtrLen realmName(realmNameBuff, kBuffLen); - - AccessChecker accessChecker(movieRootDir, "qtaccess", DEFAULTPATHS_ETC_DIR "QTSSUsers", DEFAULTPATHS_ETC_DIR "QTSSGroups"); - - //If there are no access files, then allow world access - if ( !accessChecker.GetAccessFile(pathBuff) ) - return true; - - qtss_printf("Found access file\n"); - ::strcpy(ioRealmName, accessChecker.GetRealmHeaderPtr()); - - // - // If this RTSP request includes a user name and password, the server decodes - // that information and stores it in these attributes. - theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserName,0, (void *) nameStr.Ptr, &nameStr.Len); - if ( (QTSS_NoErr != theErr) || (nameStr.Len >= kBuffLen) ) return false; - - theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserPassword,0, (void *) passwordStr.Ptr, &passwordStr.Len); - if ( (QTSS_NoErr != theErr) || (passwordStr.Len >= kBuffLen) ) return false; - - nameBuff[nameStr.Len] = '\0'; - passwordBuff[passwordStr.Len] = '\0'; - - // - // Use the name and password to check access - if ( !accessChecker.CheckAccess(nameBuff, passwordBuff) ) - { -#if 0 - if (nameStr.Len > 0) - { - // - // If the user HAS provided a username, and that username is incorrect, redirect them to - // an error movie. - - // - // Get the local IP addr as a string so we can properly construct a complete - // rtsp:// URL. - char* theLocalAddrStr = NULL; - UInt32 theAddrLen = 0; - - theErr = QTSS_GetValuePtr(inParams->inRTSPSession, qtssRTSPSesLocalAddrStr, 0, - (void**)&theLocalAddrStr, &theAddrLen); - if ( QTSS_NoErr != theErr ) - return false; - - // - // In order to send the redirect, we need to get a QTSS_StreamRef - // so we can send data to the client. Get the QTSS_StreamRef out of the request. - QTSS_StreamRef* theStreamRef = NULL; - UInt32 strRefLen = 0; - - theErr = QTSS_GetValuePtr(inParams->inRTSPRequest, qtssRTSPReqStreamRef, 0, - (void**)&theStreamRef, &strRefLen); - if (( QTSS_NoErr != theErr ) || ( sizeof(QTSS_StreamRef) != strRefLen) ) - return false; - - // - // Now that we have the QTSS_StreamRef, send the 302 Moved Temporarily response to the client. - // Because this is a simple demo, we have a hard-coded location for the error movie. - UInt32 theLenWritten = 0; - (void)QTSS_Write(*theStreamRef, sRedirect.Ptr, sRedirect.Len, &theLenWritten, 0); - (void)QTSS_Write(*theStreamRef, theLocalAddrStr, theAddrLen, &theLenWritten, 0); - (void)QTSS_Write(*theStreamRef, sRedirectEnd.Ptr, sRedirectEnd.Len, &theLenWritten, 0); - } -#endif - qtss_printf("Access fail\n"); - return false; - } - qtss_printf("Access success\n"); - return true; -} - -#if 0 -QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams) -{ - QTSS_Error theErr = QTSS_NoErr; - UInt32 buffLen = 0; - QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; - - buffLen = kBuffLen - 1; - char pathBuff[kBuffLen] = {}; - - theErr = QTSS_GetValue (theRTSPRequest,qtssRTSPReqLocalPath,0, - (void *) &pathBuff[0], &buffLen); - if ( (theErr != QTSS_NoErr) || (0 == buffLen) ) - return theErr; // Bail on the request. The Server will handle the error - - pathBuff[buffLen] = '\0'; -#if 0 - qtss_printf("QTSSDemoModule was just called in the QTSS_Authorize_Role.\n"); - qtss_printf("The full path to the file specified by this request is: %s\n", pathBuff); -#endif - - buffLen = kBuffLen -1; - char* movieRootDir = NULL; - theErr = QTSS_GetValuePtr(theRTSPRequest, qtssRTSPReqRootDir, 0, - (void**)&movieRootDir, &buffLen ); - if ( (theErr != QTSS_NoErr) || (0 == buffLen) ) - return theErr; // Bail on the request. The Server will handle the error - - char realmName[kBuffLen]; - Bool16 allowRequest = ::QTSSAccess(inParams, pathBuff, movieRootDir, realmName); - if (allowRequest) - return theErr; // Bail on the request. The Server will handle the error - // - // We are denying the request so pass false back to the server. - // - theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserAllowed, 0, &allowRequest, sizeof(allowRequest)); - if (theErr != QTSS_NoErr) - return theErr; // Bail on the request. The Server will handle the error - - theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqURLRealm, 0, realmName, strlen(realmName) ); - if (theErr != QTSS_NoErr) - return theErr; // Bail on the request. The Server will handle the error - - return theErr; -} -#endif - -QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams) -{ - QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; - - if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) - return QTSS_RequestFailed; - - //get the local file path - char* pathBuffStr = NULL; - QTSS_Error theErr = QTSS_GetValueAsString(theRTSPRequest, qtssRTSPReqLocalPath, 0, &pathBuffStr); - QTSSCharArrayDeleter pathBuffDeleter(pathBuffStr); - if (theErr != QTSS_NoErr) - return QTSS_RequestFailed; - - //get the root movie directory - char* movieRootDirStr = NULL; - theErr = QTSS_GetValueAsString(theRTSPRequest,qtssRTSPReqRootDir, 0, &movieRootDirStr); - OSCharArrayDeleter movieRootDeleter(movieRootDirStr); - if (theErr != QTSS_NoErr) - return false; - - //check if this user is allowed to see this movie - char realmName[kBuffLen] = { 0 }; - StrPtrLen realmNameStr(realmName,kBuffLen -1); - Bool16 allowRequest = ::QTSSAccess(inParams, pathBuffStr, movieRootDirStr, realmName); - - - if ( realmName[0] != '\0' ) //set the realm if we have one - { - (void) QTSS_SetValue(theRTSPRequest,qtssRTSPReqURLRealm, 0, realmName, strlen(realmName) ); - } - - - if (allowRequest) - { - return QTSS_NoErr; //everything's kosher - let the request continue - } - else //request denied - { - // We are denying the request so pass false back to the server. - theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserAllowed, 0, &allowRequest, sizeof(allowRequest)); - if (theErr != QTSS_NoErr) - return QTSS_RequestFailed; // Bail on the request. The Server will handle the error - - } - - return QTSS_NoErr; -} - - - - - diff --git a/APIModules/QTSSDemoRedirectModule.bproj/Makefile.POSIX b/APIModules/QTSSDemoRedirectModule.bproj/Makefile.POSIX new file mode 100644 index 0000000..c875cf7 --- /dev/null +++ b/APIModules/QTSSDemoRedirectModule.bproj/Makefile.POSIX @@ -0,0 +1,58 @@ +# Copyright (c) 1999 Apple Computer, Inc. All rights reserved. +# + +NAME = QTSSDemoRedirectModule +C++ = $(CPLUS) +CC = $(CCOMP) +LINK = $(LINKER) +CCFLAGS += $(COMPILER_FLAGS) $(INCLUDE_FLAG) ../../PlatformHeader.h -g -Wall +LIBS = $(CORE_LINK_LIBS) $(SHARED) $(MODULE_LIBS) ../../CommonUtilitiesLib/libCommonUtilitiesLib.a + +#OPTIMIZATION +CCFLAGS += -O3 + +# EACH DIRECTORY WITH HEADERS MUST BE APPENDED IN THIS MANNER TO THE CCFLAGS + +CCFLAGS += -I. +CCFLAGS += -I../../ +CCFLAGS += -I../../APICommonCode +CCFLAGS += -I../OSMemory_Modules +CCFLAGS += -I../../APIStubLib +CCFLAGS += -I../../CommonUtilitiesLib +CCFLAGS += -I../../RTPMetaInfoLib + +# EACH DIRECTORY WITH A STATIC LIBRARY MUST BE APPENDED IN THIS MANNER TO THE LINKOPTS + +LINKOPTS = -L../../CommonUtilitiesLib -L../../QTFileLib/ + +C++FLAGS = $(CCFLAGS) + +CPPFILES = ../OSMemory_Modules/OSMemory_Modules.cpp \ + ../../APIStubLib/QTSS_Private.cpp \ + ../../APICommonCode/QTSSModuleUtils.cpp\ + ../../APICommonCode/QTSSRollingLog.cpp \ + ../../APICommonCode/SDPSourceInfo.cpp \ + ../../APICommonCode/SourceInfo.cpp \ + ../../RTPMetaInfoLib/RTPMetaInfoPacket.cpp \ + QTSSDemoRedirectModule.cpp + +LIBFILES = ../../CommonUtilitiesLib/libCommonUtilitiesLib.a + +all: QTSSDemoRedirectModule + +QTSSDemoRedirectModule: $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(LIBFILES) + $(LINK) -o $@ $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(COMPILER_FLAGS) $(LINKOPTS) $(LIBS) + +install: QTSSDemoRedirectModule + +clean: + rm -f QTSSDemoRedirectModule $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) + +.SUFFIXES: .cpp .c .o + +.cpp.o: + $(C++) -c -o $*.o $(DEFINES) $(C++FLAGS) $*.cpp + +.c.o: + $(CC) -c -o $*.o $(DEFINES) $(CCFLAGS) $*.c + diff --git a/APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.cpp b/APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.cpp new file mode 100644 index 0000000..590f987 --- /dev/null +++ b/APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.cpp @@ -0,0 +1,227 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: QTSSDemoRedirectModule.cpp + + Contains: Implementation of QTSSDemoRedirectModule +*/ + +#include "QTSSDemoRedirectModule.h" +#include "StrPtrLen.h" +#include "QTSSModuleUtils.h" +#include "SafeStdLib.h" +#include "QTSSMemoryDeleter.h" + +// STATIC DATA +static QTSS_ServerObject sServer = NULL; +static QTSS_ModuleObject sModule = NULL; +static QTSS_ModulePrefsObject sModulePrefs = NULL; +static StrPtrLen sRedirect("RTSP/1.0 302 Found\r\nServer: QTSS/6.0\r\nCSeq: 1\r\nConnection: Close"); +static StrPtrLen sLocation("\r\nLocation: "); +static StrPtrLen sRedirectEnd("\r\n\r\n"); +static const UInt32 kBuffSize = 512; + +// Module description and version +static char* sDescription = "Demonstrates a way to redirect file requests based on client bandwidth headers"; +static UInt32 sVersion = 0x00010000; + +// FUNCTION PROTOTYPES + +static QTSS_Error QTSSDemoRedirectModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); +static QTSS_Error Register(QTSS_Register_Params* inParams); +static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); +static QTSS_Error Shutdown(); +static QTSS_Error RereadPrefs(); +static QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams); + +// Module preferences and their defaults +static Bool16 sEnabled = false; +static Bool16 kDefaultEnabled = true; +static char* sRedirectUrl = NULL; +static char* sRedirectUrlDefault = "sample"; + +// FUNCTION IMPLEMENTATIONS + +QTSS_Error QTSSDemoRedirectModule_Main(void* inPrivateArgs) +{ + return _stublibrary_main(inPrivateArgs, QTSSDemoRedirectModuleDispatch); +} + + +QTSS_Error QTSSDemoRedirectModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) +{ + switch (inRole) + { + case QTSS_Register_Role: + return Register(&inParams->regParams); + case QTSS_Initialize_Role: + return Initialize(&inParams->initParams); + case QTSS_RereadPrefs_Role: + return RereadPrefs(); + case QTSS_RTSPAuthenticate_Role: + return Authenticate(&inParams->rtspRequestParams); + case QTSS_Shutdown_Role: + return Shutdown(); + } + return QTSS_NoErr; +} + + +QTSS_Error Register(QTSS_Register_Params* inParams) +{ + // Do role & attribute setup + (void)QTSS_AddRole(QTSS_Initialize_Role); + (void)QTSS_AddRole(QTSS_RereadPrefs_Role); + (void)QTSS_AddRole(QTSS_RTSPAuthenticate_Role); + + // Tell the server our name + static char* sModuleName = "QTSSDemoRedirectModule"; + ::strcpy(inParams->outModuleName, sModuleName); + + return QTSS_NoErr; +} + + +QTSS_Error Initialize(QTSS_Initialize_Params* inParams) +{ + + // Setup module utils + QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); + + // Get the server object + sServer = inParams->inServer; + + // Get our prefs object + sModule = inParams->inModule; + sModulePrefs = QTSSModuleUtils::GetModulePrefsObject(sModule); + + // Set our version and description + (void)QTSS_SetValue(sModule, qtssModDesc, 0, sDescription, ::strlen(sDescription)); + (void)QTSS_SetValue(sModule, qtssModVersion, 0, &sVersion, sizeof(sVersion)); + + RereadPrefs(); + return QTSS_NoErr; +} + +QTSS_Error Shutdown() +{ + return QTSS_NoErr; +} + +QTSS_Error RereadPrefs() +{ + QTSSModuleUtils::GetAttribute(sModulePrefs, "enabled", qtssAttrDataTypeBool16, + &sEnabled, &kDefaultEnabled, sizeof(sEnabled)); + + sRedirectUrl = QTSSModuleUtils::GetStringAttribute(sModulePrefs, "url_to_redirect", sRedirectUrlDefault); + + return QTSS_NoErr; +} + + +QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams) +{ + + if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) { + return QTSS_RequestFailed; + } + + QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; + QTSS_Error theErr = QTSS_NoErr; + + char *movieUrlTrunc = NULL; + theErr = QTSS_GetValueAsString(theRTSPRequest,qtssRTSPReqTruncAbsoluteURL, 0, &movieUrlTrunc); + QTSSCharArrayDeleter movieUrlTruncDeleter(movieUrlTrunc); + if (theErr != QTSS_NoErr) + return QTSS_RequestFailed; + + char *movieUrlFilename = NULL; + theErr = QTSS_GetValueAsString(theRTSPRequest,qtssRTSPReqFileName, 0, &movieUrlFilename); + QTSSCharArrayDeleter movieUrlFilenameDeleter(movieUrlFilename); + if (theErr != QTSS_NoErr) + return QTSS_RequestFailed; + + // Return unless the requested filename matches the redirect URL + if (::strncmp(movieUrlFilename, sRedirectUrl, (::strlen(movieUrlFilename) <= ::strlen(sRedirectUrl)) + ? ::strlen(sRedirectUrl) : ::strlen(movieUrlFilename))) + return QTSS_NoErr; + + // Get the client's bandwidth header + UInt32 bandwidthBits = 0; + UInt32 len = sizeof(bandwidthBits); + (void)QTSS_GetValue(theRTSPRequest, qtssRTSPReqBandwidthBits, 0, (void *)&bandwidthBits, &len); + + // Prepare a filename extension to use for redirection. + // These numbers match the "Streaming Speed" options in the QuickTime Player 7 settings. + // The extension will be appended to the requested URL. + char theNewFilename[kBuffSize]; + ::memset(theNewFilename, 0, kBuffSize); + + if (bandwidthBits <= 0) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_50kbit.3gp", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 28000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_50kbit.3gp", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 56000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_50kbit.3gp", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 112000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_100kbit.mov", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 256000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_100kbit.mov", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 384000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_300kbit.mov", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 512000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_300kbit.mov", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 768000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_300kbit.mov", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 1000000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_h264_1mbit.mp4", movieUrlTrunc, movieUrlFilename); + } else if (bandwidthBits <= 1500000) { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_h264_1mbit.mp4", movieUrlTrunc, movieUrlFilename); + } else { + qtss_snprintf(theNewFilename, sizeof(theNewFilename), "%s/%s_h264_1mbit.mp4", movieUrlTrunc, movieUrlFilename); + } + + // In order to send the redirect, we need to get a QTSS_StreamRef + // so we can send data to the client. Get the QTSS_StreamRef out of the request. + QTSS_StreamRef* theStreamRef = NULL; + UInt32 strRefLen = 0; + + theErr = QTSS_GetValuePtr(theRTSPRequest, qtssRTSPReqStreamRef, 0, + (void**)&theStreamRef, &strRefLen); + if (( QTSS_NoErr != theErr ) || ( sizeof(QTSS_StreamRef) != strRefLen) ) { + return QTSS_RequestFailed; + } + + // Send the redirect + UInt32 theLenWritten = 0; + + (void)QTSS_Write(*theStreamRef, sRedirect.Ptr, sRedirect.Len, &theLenWritten, 0); + (void)QTSS_Write(*theStreamRef, sLocation.Ptr, sLocation.Len, &theLenWritten, 0); + (void)QTSS_Write(*theStreamRef, theNewFilename, ::strlen(theNewFilename), &theLenWritten, 0); + (void)QTSS_Write(*theStreamRef, sRedirectEnd.Ptr, sRedirectEnd.Len, &theLenWritten, 0); + (void)QTSS_Flush(*theStreamRef); + + return QTSS_NoErr; +} \ No newline at end of file diff --git a/APIModules/QTSSSvrControlModule/SCRPITypes.h b/APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.h similarity index 70% rename from APIModules/QTSSSvrControlModule/SCRPITypes.h rename to APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.h index 53f3d6a..ff840f1 100644 --- a/APIModules/QTSSSvrControlModule/SCRPITypes.h +++ b/APIModules/QTSSDemoRedirectModule.bproj/QTSSDemoRedirectModule.h @@ -2,7 +2,7 @@ * * @APPLE_LICENSE_HEADER_START@ * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. + * Copyright (c) 2008 Apple Inc. All Rights Reserved. * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License @@ -23,19 +23,25 @@ * */ -#ifndef SCRPI_INCLUDES_H -#define SCRPI_INCLUDES_H +/* + File: QTSSDemoRedirectModule.h + + Contains: Header file for QTSSDemoRedirectModule. + + + +*/ + + -#include "ServerControlAPI.h" +#ifndef __QTSS_DEMOREDIRECT_MODULE_H__ +#define __QTSS_DEMOREDIRECT_MODULE_H__ -typedef int ListBuff[500]; -typedef int WarningsBuff[10]; -typedef char cstr32[33]; -typedef char cstr255[256]; -typedef void* ArrayIntOut; -typedef void* ArrayCharOut; +#include "QTSS.h" -//put into QTS SCRPI Types -typedef void* AttributeValue; +extern "C" +{ + QTSS_Error QTSSDemoRedirectModule_Main(void* inPrivateArgs); +} -#endif +#endif // __QTSS_DEMOREDIRECT_MODULE_H__ diff --git a/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.cpp b/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.cpp index eeb2225..f6f492d 100644 --- a/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.cpp +++ b/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -392,7 +392,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) GenerateHotHitSMIL(smilFileBuf); - qtss_sprintf(contentLength, "%lu", strlen(smilFileBuf)); + qtss_sprintf(contentLength, "%"_U32BITARG_"", (UInt32) ::strlen(smilFileBuf)); // Allocate memory for theFileBuffer // Write the HTTP header prefix into the buffer ::strcpy(theFileBuffer, sRespHeaderPrefix.Ptr); diff --git a/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.h b/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.h index c583c4f..76c5bbe 100644 --- a/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.h +++ b/APIModules/QTSSDemoSMILModule.bproj/QTSSDemoSMILModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSFileModule/QTSSFileModule.cpp b/APIModules/QTSSFileModule/QTSSFileModule.cpp index 8a69445..e327134 100644 --- a/APIModules/QTSSFileModule/QTSSFileModule.cpp +++ b/APIModules/QTSSFileModule/QTSSFileModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -43,6 +43,7 @@ #include "SDPSourceInfo.h" #include "StringFormatter.h" #include "QTSSModuleUtils.h" +#include "QTSS3GPPModuleUtils.h" #include "ResizeableStringFormatter.h" #include "StringParser.h" #include "SDPUtils.h" @@ -58,8 +59,10 @@ class FileSession FileSession() : fAdjustedPlayTime(0), fNextPacketLen(0), fLastQualityCheck(0), fAllowNegativeTTs(false), fSpeed(1), fStartTime(-1), fStopTime(-1), fStopTrackID(0), fStopPN(0), - fLastRTPTime(0), fLastPauseTime(0),fTotalPauseTime(0), fPaused(false), fAdjustPauseTime(true) - {} + fLastRTPTime(0), fLastPauseTime(0),fTotalPauseTime(0), fPaused(true), fAdjustPauseTime(true) + { + fPacketStruct.packetData = NULL; fPacketStruct.packetTransmitTime = -1; fPacketStruct.suggestedWakeupTime=-1; + } ~FileSession() {} @@ -147,9 +150,13 @@ static Bool16 sEnableMovieFileSDP = false; static Bool16 sPlayerCompatibility = true; static UInt32 sAdjustMediaBandwidthPercent = 50; +static SInt64 sAdjustRTPStartTimeMilli = 500; + +static Bool16 sAllowInvalidHintRefs = false; // Server preference we respect static Bool16 sDisableThinning = false; +static UInt16 sDefaultStreamingQuality = 0; static const StrPtrLen kCacheControlHeader("must-revalidate"); static const QTSS_RTSPStatusCode kNotModifiedStatus = qtssRedirectNotModified; @@ -361,6 +368,7 @@ QTSS_Error Initialize(QTSS_Initialize_Params* inParams) { QTRTPFile::Initialize(); QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); + QTSS3GPPModuleUtils::Initialize(inParams); sPrefs = QTSSModuleUtils::GetModulePrefsObject(inParams->inModule); sServerPrefs = inParams->inPrefs; @@ -464,10 +472,10 @@ QTSS_Error RereadPrefs() sSharedBufferInc = 8; QTSSModuleUtils::GetIOAttribute(sPrefs, "num_shared_buffer_increase_per_session", qtssAttrDataTypeUInt32,&sSharedBufferInc, sizeof(sSharedBufferInc)); - sSharedBufferUnitKSize = 64; + sSharedBufferUnitKSize = 256; QTSSModuleUtils::GetIOAttribute(sPrefs, "shared_buffer_unit_k_size", qtssAttrDataTypeUInt32, &sSharedBufferUnitKSize, sizeof(sSharedBufferUnitKSize)); - sPrivateBufferUnitKSize = 64; + sPrivateBufferUnitKSize = 256; QTSSModuleUtils::GetIOAttribute(sPrefs, "private_buffer_unit_k_size", qtssAttrDataTypeUInt32, &sPrivateBufferUnitKSize, sizeof(sPrivateBufferUnitKSize)); sSharedBufferUnitSize = 1; @@ -497,6 +505,12 @@ QTSS_Error RereadPrefs() sAdjustMediaBandwidthPercent = 50; QTSSModuleUtils::GetIOAttribute(sPrefs, "compatibility_adjust_sdp_media_bandwidth_percent", qtssAttrDataTypeUInt32, &sAdjustMediaBandwidthPercent, sizeof(sAdjustMediaBandwidthPercent)); + sAdjustRTPStartTimeMilli = 500; + QTSSModuleUtils::GetIOAttribute(sPrefs, "compatibility_adjust_rtp_start_time_milli", qtssAttrDataTypeSInt64, &sAdjustRTPStartTimeMilli, sizeof(sAdjustRTPStartTimeMilli)); + + sAllowInvalidHintRefs = false; + QTSSModuleUtils::GetIOAttribute(sPrefs, "allow_invalid_hint_track_refs", qtssAttrDataTypeBool16, &sAllowInvalidHintRefs, sizeof(sAllowInvalidHintRefs)); + if (sAdjustMediaBandwidthPercent > 100) sAdjustMediaBandwidthPercent = 100; @@ -506,6 +520,11 @@ QTSS_Error RereadPrefs() UInt32 len = sizeof(sDisableThinning); (void) QTSS_GetValue(sServerPrefs, qtssPrefsDisableThinning, 0, (void*)&sDisableThinning, &len); + len = sizeof(sDefaultStreamingQuality); + (void) QTSS_GetValue(sServerPrefs, qtssPrefsDefaultStreamQuality, 0, (void*)&sDefaultStreamingQuality, &len); + + QTSS3GPPModuleUtils::ReadPrefs(); + BuildPrefBasedHeaders(); return QTSS_NoErr; @@ -600,8 +619,8 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) UInt32 theLen = sizeof(FileSession*); FileSession* theFile = NULL; QTSS_Error theErr = QTSS_NoErr; - Bool16 pathEndsWithMOV = false; - static StrPtrLen sMOVSuffix(".mov"); + Bool16 pathEndsWithSDP = false; + static StrPtrLen sSDPSuffix(".sdp"); SInt16 vectorIndex = 1; ResizeableStringFormatter theFullSDPBuffer(NULL,0); StrPtrLen bufferDelayStr; @@ -616,10 +635,10 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) //first locate the target movie thePath.GetObject()[thePathLen - sSDPSuffix.Len] = '\0';//truncate the .sdp added in the GetFullPath call StrPtrLen requestPath(thePath.GetObject(), ::strlen(thePath.GetObject())); - if (requestPath.Len > sMOVSuffix.Len ) - { StrPtrLen endOfPath(&requestPath.Ptr[requestPath.Len - sMOVSuffix.Len], sMOVSuffix.Len); - if (endOfPath.Equal(sMOVSuffix)) // it is a .mov - { pathEndsWithMOV = true; + if (requestPath.Len > sSDPSuffix.Len ) + { StrPtrLen endOfPath(&requestPath.Ptr[requestPath.Len - sSDPSuffix.Len], sSDPSuffix.Len); + if (endOfPath.EqualIgnoreCase(sSDPSuffix)) // it is a .sdp + { pathEndsWithSDP = true; } } @@ -629,7 +648,12 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) // There is already a file for this session. This can happen if there are multiple DESCRIBES, // or a DESCRIBE has been issued with a Session ID, or some such thing. StrPtrLen moviePath( theFile->fFile.GetMoviePath() ); - + + // Stop playing because the new file isn't ready yet to send packets. + // Needs a Play request to get things going. SendPackets on the file is active if not paused. + (void)QTSS_Pause(inParamBlock->inClientSession); + (*theFile).fPaused = true; + // // This describe is for a different file. Delete the old FileSession. if ( !requestPath.Equal( moviePath ) ) @@ -712,7 +736,7 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) } FILE* sdpFile = NULL; - if (sRecordMovieFileSDP && pathEndsWithMOV) // don't auto create sdp for a non .mov file because it would look like a broadcast + if (sRecordMovieFileSDP && !pathEndsWithSDP) // don't auto create sdp for an sdp file because it would look like a broadcast { sdpFile = ::fopen(thePath.GetObject(),"r"); // see if there already is a .sdp for the movie if (sdpFile != NULL) // one already exists don't mess with it @@ -845,7 +869,7 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) if (!rawSDPContainer.IsSDPBufferValid()) { return QTSSModuleUtils::SendErrorResponseWithMessage(inParamBlock->inRTSPRequest, qtssUnsupportedMediaType, &sSDPNotValidMessage); } - + // ------------ reorder the sdp headers to make them proper. Float32 adjustMediaBandwidthPercent = 1.0; Bool16 adjustMediaBandwidth = false; @@ -854,11 +878,29 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) if (adjustMediaBandwidth) adjustMediaBandwidthPercent = (Float32) sAdjustMediaBandwidthPercent / 100.0; - - SDPLineSorter sortedSDP(&rawSDPContainer,adjustMediaBandwidthPercent); + + ResizeableStringFormatter buffer; + SDPContainer* insertMediaLines = QTSS3GPPModuleUtils::Get3GPPSDPFeatureListCopy(buffer); + SDPLineSorter sortedSDP(&rawSDPContainer,adjustMediaBandwidthPercent,insertMediaLines); + delete insertMediaLines; StrPtrLen *theSessionHeadersPtr = sortedSDP.GetSessionHeaders(); StrPtrLen *theMediaHeadersPtr = sortedSDP.GetMediaHeaders(); - + +//3GPP-BAD // add the bitrate adaptation string to the SDPLineSorter + //sortedSDP should have a getmedialine[n] + // findstring in line + // getline and insert line to media + /* + 5.3.3.5 The bit-rate adaptation support attribute, Ò3GPP-Adaptation-SupportÓ +To signal the support of bit-rate adaptation, a media level only SDP attribute is defined in ABNF [53]: +sdp-Adaptation-line = "a" "=" "3GPP-Adaptation-Support" ":" report-frequency CRLF +report-frequency = NonZeroDIGIT [ DIGIT ] +NonZeroDIGIT = %x31-39 ;1-9 +A server implementing rate adaptation shall signal the "3GPP-Adaptation-Support" attribute in its SDP. + +*/ + + // ----------- write out the sdp totalSDPLength += ::WriteSDPHeader(sdpFile, theSDPVec, &vectorIndex, theSessionHeadersPtr); @@ -898,6 +940,7 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParamBlock) QTSS_Error CreateQTRTPFile(QTSS_StandardRTSP_Params* inParamBlock, char* inPath, FileSession** outFile) { *outFile = NEW FileSession(); + (*outFile)->fFile.SetAllowInvalidHintRefs(sAllowInvalidHintRefs); QTRTPFile::ErrorCode theErr = (*outFile)->fFile.Initialize(inPath); if (theErr != QTRTPFile::errNoError) { @@ -928,7 +971,7 @@ QTSS_Error CreateQTRTPFile(QTSS_StandardRTSP_Params* inParamBlock, char* inPath, AssertV(0, theErr); } - + return QTSS_NoErr; } @@ -1054,8 +1097,7 @@ QTSS_Error DoSetup(QTSS_StandardRTSP_Params* inParamBlock) Assert(theErr == QTSS_NoErr); // Set the number of quality levels. Allow up to 6 - static UInt32 sNumQualityLevels = 5; - + static UInt32 sNumQualityLevels = 6; theErr = QTSS_SetValue(newStream, qtssRTPStrNumQualityLevels, 0, &sNumQualityLevels, sizeof(sNumQualityLevels)); Assert(theErr == QTSS_NoErr); @@ -1162,6 +1204,8 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParamBlock) if (theErr != QTSS_NoErr) return theErr; + //make sure to clear the next packet the server would have sent! + (*theFile)->fPacketStruct.packetData = NULL; // Set the default quality before playing. QTRTPFile::RTPTrackListEntry* thePacketTrack; @@ -1170,7 +1214,8 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParamBlock) SourceInfo::StreamInfo* theStreamInfo = (*theFile)->fSDPSource.GetStreamInfo(x); if (!(*theFile)->fFile.FindTrackEntry(theStreamInfo->fTrackID,&thePacketTrack)) break; - (*theFile)->fFile.SetTrackQualityLevel(thePacketTrack, QTRTPFile::kAllPackets); + //(*theFile)->fFile.SetTrackQualityLevel(thePacketTrack, QTRTPFile::kAllPackets); + (*theFile)->fFile.SetTrackQualityLevel(thePacketTrack, sDefaultStreamingQuality); } @@ -1209,7 +1254,6 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParamBlock) (*theFile)->fStartTime = currentTime; } - Float32* theMaxBackupTime = NULL; theErr = QTSS_GetValuePtr(inParamBlock->inRTSPRequest, qtssRTSPReqPrebufferMaxTime, 0, (void**)&theMaxBackupTime, &theLen); Assert(theMaxBackupTime != NULL); @@ -1283,7 +1327,6 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParamBlock) UInt32 bitsPerSecond = (*theFile)->fFile.GetBytesPerSecond() * 8; (void)QTSS_SetValue(inParamBlock->inClientSession, qtssCliSesMovieAverageBitRate, 0, &bitsPerSecond, sizeof(bitsPerSecond)); - (**theFile).fPaused = false; Bool16 adjustPauseTime = kAddPauseTimeToRTPTime; //keep rtp time stamps monotonically increasing if ( true == QTSSModuleUtils::HavePlayerProfile( sServerPrefs, inParamBlock,QTSSModuleUtils::kDisablePauseAdjustedRTPTime) ) adjustPauseTime = kDontAddPauseTimeToRTPTime; @@ -1350,19 +1393,6 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParamBlock) // we don't care if it doesn't set (i.e. this is a meta info session) (void) (*theFile)->fFile.SetDropRepeatPackets(allTracksReliable);// if alltracks are reliable then drop repeat packets. - //Tell the server to start playing this movie. We do want it to send RTCP SRs, but - //we DON'T want it to write the RTP header - theErr = QTSS_Play(inParamBlock->inClientSession, inParamBlock->inRTSPRequest, qtssPlayFlagsSendRTCP); - if (theErr != QTSS_NoErr) - return theErr; - - SInt64* thePlayTime = 0; - theErr = QTSS_GetValuePtr(inParamBlock->inClientSession, qtssCliSesPlayTimeInMsec, 0, (void**)&thePlayTime, &theLen); - Assert(theErr == QTSS_NoErr); - Assert(thePlayTime != NULL); - Assert(theLen == sizeof(SInt64)); - (*theFile)->fAdjustedPlayTime = *thePlayTime - ((SInt64)((*theFile)->fStartTime * 1000)); - // // This module supports the Speed header if the client wants the stream faster than normal. Float32 theSpeed = 1; @@ -1426,13 +1456,33 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParamBlock) } (void)QTSS_SendStandardRTSPResponse(inParamBlock->inRTSPRequest, inParamBlock->inClientSession, qtssPlayRespWriteTrackInfo); + SInt64 adjustRTPStreamStartTimeMilli = 0; + if (sPlayerCompatibility && QTSSModuleUtils::HavePlayerProfile(sServerPrefs, inParamBlock,QTSSModuleUtils::kDelayRTPStreamsUntilAfterRTSPResponse)) + adjustRTPStreamStartTimeMilli = sAdjustRTPStartTimeMilli; + + //Tell the server to start playing this movie. We do want it to send RTCP SRs, but + //we DON'T want it to write the RTP header + (*theFile)->fPaused = false; + theErr = QTSS_Play(inParamBlock->inClientSession, inParamBlock->inRTSPRequest, qtssPlayFlagsSendRTCP); + if (theErr != QTSS_NoErr) + return theErr; + + // Set the adjusted play time. SendPackets can get called between QTSS_Play and + // setting fAdjustedPlayTime below. + SInt64* thePlayTime = NULL; + theErr = QTSS_GetValuePtr(inParamBlock->inClientSession, qtssCliSesPlayTimeInMsec, 0, (void**)&thePlayTime, &theLen); + Assert(theErr == QTSS_NoErr); + Assert(thePlayTime != NULL); + Assert(theLen == sizeof(SInt64)); + if (thePlayTime != NULL) + (*theFile)->fAdjustedPlayTime = adjustRTPStreamStartTimeMilli + *thePlayTime - ((SInt64)((*theFile)->fStartTime * 1000) ); + return QTSS_NoErr; } QTSS_Error SendPackets(QTSS_RTPSendPackets_Params* inParams) { static const UInt32 kQualityCheckIntervalInMsec = 250; // v331=v107 - FileSession** theFile = NULL; UInt32 theLen = 0; QTSS_Error theErr = QTSS_GetValuePtr(inParams->inClientSession, sFileSessionAttr, 0, (void**)&theFile, &theLen); @@ -1441,12 +1491,31 @@ QTSS_Error SendPackets(QTSS_RTPSendPackets_Params* inParams) bool isBeginningOfWriteBurst = true; QTSS_Object theStream = NULL; + + if ( theFile == NULL || (*theFile)->fStartTime == -1 || (*theFile)->fPaused == true ) //something is wrong + { + Assert( theFile != NULL ); + Assert( (*theFile)->fStartTime != -1 ); + Assert( (*theFile)->fPaused != true ); + + inParams->outNextPacketTime = qtssDontCallSendPacketsAgain; + return QTSS_NoErr; + } + + if ( (*theFile)->fAdjustedPlayTime == 0 ) // this is system milliseconds + { + Assert( (*theFile)->fAdjustedPlayTime != 0 ); + inParams->outNextPacketTime = kQualityCheckIntervalInMsec; + return QTSS_NoErr; + } + + QTRTPFile::RTPTrackListEntry* theLastPacketTrack = (*theFile)->fFile.GetLastPacketTrack(); while (true) { if ((*theFile)->fPacketStruct.packetData == NULL) - { + { Float64 theTransmitTime = (*theFile)->fFile.GetNextPacket((char**)&(*theFile)->fPacketStruct.packetData, &(*theFile)->fNextPacketLen); if ( QTRTPFile::errNoError != (*theFile)->fFile.Error() ) { @@ -1534,14 +1603,13 @@ QTSS_Error SendPackets(QTSS_RTPSendPackets_Params* inParams) if (theStream == NULL) return 0; - // Get the current quality level in the stream, and this stream's TrackID. UInt32* theQualityLevel = 0; theErr = QTSS_GetValuePtr(theStream, qtssRTPStrQualityLevel, 0, (void**)&theQualityLevel, &theLen); Assert(theErr == QTSS_NoErr); Assert(theQualityLevel != NULL); Assert(theLen == sizeof(UInt32)); - + (*theFile)->fFile.SetTrackQualityLevel(theLastPacketTrack, *theQualityLevel); } } diff --git a/APIModules/QTSSFileModule/QTSSFileModule.h b/APIModules/QTSSFileModule/QTSSFileModule.h index 8183a92..e9c69b2 100644 --- a/APIModules/QTSSFileModule/QTSSFileModule.h +++ b/APIModules/QTSSFileModule/QTSSFileModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.cpp b/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.cpp index ab9c5f6..8124ce8 100644 --- a/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.cpp +++ b/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -551,24 +551,24 @@ Bool16 QTSSAuthorize(QTSS_StandardRTSP_Params* inParams, char* pathBuff) { theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserName,0, (void *) nameStr.Ptr, &nameStr.Len); - //qtss_printf("GetValue qtssRTSPReqUserName err =%ld \n",theErr); + //qtss_printf("GetValue qtssRTSPReqUserName err =%"_S32BITARG_" \n",theErr); - if ( (theErr != QTSS_NoErr) || (nameStr.Len == 0) || (nameStr.Ptr == NULL) || (*nameStr.Ptr == NULL)) + if ( (theErr != QTSS_NoErr) || (nameStr.Len == 0) || (nameStr.Ptr == NULL) || (*nameStr.Ptr == '\0')) { //qtss_printf ("no user name\n"); noUserName = true; } - //qtss_printf("RTSPRequest dictionary name =%s len = %ld\n",nameStr.Ptr, nameStr.Len); + //qtss_printf("RTSPRequest dictionary name =%s len = %"_S32BITARG_"\n",nameStr.Ptr, nameStr.Len); theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserPassword,0, (void *) passwordStr.Ptr, &passwordStr.Len); - //qtss_printf("GetValue qtssRTSPReqUserName err =%ld \n",theErr); - if ( (theErr != QTSS_NoErr) || (passwordStr.Len == 0) || (passwordStr.Ptr == NULL) || (*passwordStr.Ptr == NULL)) + //qtss_printf("GetValue qtssRTSPReqUserName err =%"_S32BITARG_" \n",theErr); + if ( (theErr != QTSS_NoErr) || (passwordStr.Len == 0) || (passwordStr.Ptr == NULL) || (*passwordStr.Ptr == '\0')) { //qtss_printf ("no Password\n"); noPassword = true; } - //qtss_printf("RTSPRequest dictionary password =%s len = %ld \n",passwordStr.Ptr, passwordStr.Len); + //qtss_printf("RTSPRequest dictionary password =%s len = %"_S32BITARG_" \n",passwordStr.Ptr, passwordStr.Len); if (noUserName && noPassword) isSpecialGuest = true; diff --git a/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.h b/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.h index 7a4dba5..4c2457d 100644 --- a/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.h +++ b/APIModules/QTSSFilePrivsModule.bproj/QTSSFilePrivsModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.cpp b/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.cpp index 898309b..31ef5ed 100644 --- a/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.cpp +++ b/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -81,7 +81,7 @@ static QTSS_Error Register(QTSS_Register_Params* inParams); static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); static QTSS_Error RereadPrefs(); static QTSS_Error ProcessRTCPPacket(QTSS_RTCPProcess_Params* inParams); -static void InitializeDictionaryItems(QTSS_RTPStreamObject inStream); +static void InitializeDictionaryItems(QTSS_RTPStreamObject inStream); @@ -144,6 +144,8 @@ QTSS_Error Initialize(QTSS_Initialize_Params* inParams) sPrefs = QTSSModuleUtils::GetModulePrefsObject(inParams->inModule); return RereadPrefs(); } + + QTSS_Error RereadPrefs() { // @@ -169,20 +171,34 @@ QTSS_Error RereadPrefs() } + +Bool16 Is3GPPSession(QTSS_RTCPProcess_Params *inParams) +{ + + Bool16 is3GPP = false; + UInt32 theLen = sizeof(is3GPP); + (void)QTSS_GetValue(inParams->inClientSession, qtssCliSessIs3GPPSession, 0, (void*)&is3GPP, &theLen); + + return is3GPP; +} + + QTSS_Error ProcessRTCPPacket(QTSS_RTCPProcess_Params* inParams) { - if (!sModuleEnabled || sDisableThinning) + if (!sModuleEnabled || sDisableThinning || Is3GPPSession(inParams) ) + { + //qtss_printf("QTSSFlowControlModule.cpp:ProcessRTCPPacket processing disabled sModuleEnabled=%d sDisableThinning=%d Is3GPPSession(inParams)=%d\n", sModuleEnabled, sDisableThinning,Is3GPPSession(inParams)); return QTSS_NoErr; + } - #if FLOW_CONTROL_DEBUGGING - QTSS_RTPPayloadType* thePayloadType = NULL; + QTSS_RTPPayloadType* thePayloadType = 0; UInt32 thePayloadLen = 0; (void)QTSS_GetValuePtr(inParams->inRTPStream, qtssRTPStrPayloadType, 0, (void**)&thePayloadType, &thePayloadLen); - if ((*thePayloadType != NULL) && (*thePayloadType == qtssVideoPayloadType)) + if ((*thePayloadType != 0) && (*thePayloadType == qtssVideoPayloadType)) qtss_printf("Video track reporting:\n"); - else if ((*thePayloadType != NULL) && (*thePayloadType == qtssAudioPayloadType)) + else if ((*thePayloadType != 0) && (*thePayloadType == qtssAudioPayloadType)) qtss_printf("Audio track reporting:\n"); else qtss_printf("Unknown track reporting\n"); @@ -279,7 +295,7 @@ QTSS_Error ProcessRTCPPacket(QTSS_RTCPProcess_Params* inParams) else { #if FLOW_CONTROL_DEBUGGING - qtss_printf("Percent loss too high: Incrementing percent loss count to %lu\n", theNumLossesAboveTol); + qtss_printf("Percent loss too high: Incrementing percent loss count to %"_U32BITARG_"\n", theNumLossesAboveTol); #endif (void)QTSS_SetValue(theStream, sNumLossesAboveTolAttr, 0, &theNumLossesAboveTol, sizeof(theNumLossesAboveTol)); clearPercentLossThinCount = false; @@ -299,7 +315,7 @@ QTSS_Error ProcessRTCPPacket(QTSS_RTCPProcess_Params* inParams) else { #if FLOW_CONTROL_DEBUGGING - qtss_printf("Percent is low: Incrementing percent loss count to %lu\n", theNumLossesBelowTol); + qtss_printf("Percent is low: Incrementing percent loss count to %"_U32BITARG_"\n", theNumLossesBelowTol); #endif (void)QTSS_SetValue(theStream, sNumLossesBelowTolAttr, 0, &theNumLossesBelowTol, sizeof(theNumLossesBelowTol)); clearPercentLossThickCount = false; @@ -328,7 +344,7 @@ QTSS_Error ProcessRTCPPacket(QTSS_RTCPProcess_Params* inParams) else { #if FLOW_CONTROL_DEBUGGING - qtss_printf("Client reporting getting worse. Incrementing num worses count to %lu\n", theNumWorses); + qtss_printf("Client reporting getting worse. Incrementing num worses count to %"_U32BITARG_"\n", theNumWorses); #endif (void)QTSS_SetValue(theStream, sNumWorsesAttr, 0, &theNumWorses, sizeof(theNumWorses)); } @@ -371,7 +387,8 @@ QTSS_Error ProcessRTCPPacket(QTSS_RTCPProcess_Params* inParams) curQuality = 1; (void)QTSS_SetValue(theStream, qtssRTPStrQualityLevel, 0, &curQuality, sizeof(curQuality)); } - + + Bool16 *startedThinningPtr = NULL; SInt32 numThinned = 0; (void)QTSS_GetValuePtr(inParams->inClientSession, qtssCliSesStartedThinning, 0, (void**)&startedThinningPtr, &theLen); diff --git a/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.h b/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.h index cf735a6..4db756a 100644 --- a/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.h +++ b/APIModules/QTSSFlowControlModule/QTSSFlowControlModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.cpp b/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.cpp index a668b74..0f11369 100644 --- a/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.cpp +++ b/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.h b/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.h index c20d0d5..e53f98c 100644 --- a/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.h +++ b/APIModules/QTSSHomeDirectoryModule/DirectoryInfo.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp b/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp index 4cf7504..e3984c4 100644 --- a/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp +++ b/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h b/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h index 17bc081..cde362b 100644 --- a/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h +++ b/APIModules/QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.cpp b/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.cpp index e7bf3a2..d12b54c 100644 --- a/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.cpp +++ b/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -541,7 +541,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) } #if HTTP_FILE_DEBUGGING - qtss_printf("Number of .mov files in the directory: %lu\n", fileCount); + qtss_printf("Number of .mov files in the directory: %"_U32BITARG_"\n", fileCount); #endif // Go back to the beginning of the directory ::rewinddir(theDirectory); @@ -558,7 +558,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) fileNames[fileCount] = fileName; fileCount ++; #if HTTP_FILE_DEBUGGING - qtss_printf("%lu : %s\n", fileCount, fileName); + qtss_printf("%"_U32BITARG_" : %s\n", fileCount, fileName); #endif } } @@ -600,9 +600,9 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) //Find the approximate bit rate for each .mov file in the directory bitRate = GetBitRate(filePath); #if HTTP_FILE_DEBUGGING - qtss_printf("%lu\t: Path = %s\n", arrayIndex + 1, filePath); + qtss_printf("%"_U32BITARG_"\t: Path = %s\n", arrayIndex + 1, filePath); qtss_printf("Url = %s\n", url); - qtss_printf("Rate = %lu\n", bitRate); + qtss_printf("Rate = %"_U32BITARG_"\n", bitRate); #endif if ( bitRate != 0 ) { @@ -665,7 +665,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) ::memcpy(theFileBuffer, responseHeader->Ptr, responseHeader->Len); // We need content length string for logging purposes - qtss_sprintf(contentLength, "%lu", moovLen); + qtss_sprintf(contentLength, "%"_U32BITARG_"", moovLen); //Delete the http request object ...no use for it anymore delete httpRequest; @@ -716,7 +716,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) ::memcpy(theFileBuffer + headerLength, refMovieBuf.GetObject(), index); // We need content length string for logging purposes - qtss_sprintf(contentLength, "%lu", index); + qtss_sprintf(contentLength, "%"_U32BITARG_"", index); // Write the contents of the file buffer to the request stream and return QTSS_Write(theRequest, theFileBuffer, (headerLength + index), NULL, 0); @@ -862,7 +862,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) theReadOffset += theRecvLen; theOffset += theRecvLen; #if HTTP_FILE_DEBUGGING - qtss_printf("Got %lu bytes back from file read. Now at: %"_64BITARG_"u\n", theRecvLen, theOffset); + qtss_printf("Got %"_U32BITARG_" bytes back from file read. Now at: %"_64BITARG_"u\n", theRecvLen, theOffset); #endif if (theRecvLen < theBufferSize) { @@ -888,7 +888,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) theWriteOffset += theWrittenLen; #if HTTP_FILE_DEBUGGING - qtss_printf("Got %lu bytes back from socket write.\n", theWrittenLen); + qtss_printf("Got %"_U32BITARG_" bytes back from socket write.\n", theWrittenLen); #endif if (theWriteOffset < theFileBufferLen) { @@ -1052,7 +1052,7 @@ UInt32 GetBitRate(char* filePath) rate = 150000; #if HTTP_FILE_DEBUGGING - qtss_printf("Actual rate: %lu\n", actualRate); + qtss_printf("Actual rate: %"_U32BITARG_"\n", actualRate); #endif return rate; diff --git a/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.h b/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.h index 9776935..5c12ebe 100644 --- a/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.h +++ b/APIModules/QTSSHttpFileModule/QTSSHttpFileModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp b/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp index 5aacdd4..ff359d7 100755 --- a/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp +++ b/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -516,7 +516,7 @@ QTSS_Error MP3BroadcasterSession::GetBroadcastHeaders() else { // The read failed with an error other than QTSS_WouldBlock - DTRACE1("MP3BroadcasterSession::GetBroadcastHeaders() - read failed with err = %ld\n", theErr); + DTRACE1("MP3BroadcasterSession::GetBroadcastHeaders() - read failed with err = %"_S32BITARG_"\n", theErr); Assert(0); } return theErr; @@ -559,7 +559,7 @@ QTSS_Error MP3BroadcasterSession::GetBroadcastData() } else { - DTRACE1("MP3BroadcasterSession::GetBroadcastData() - read failed with err = %ld\n", theErr); + DTRACE1("MP3BroadcasterSession::GetBroadcastData() - read failed with err = %"_S32BITARG_"\n", theErr); Assert(0); ShutDownState(); } @@ -886,20 +886,20 @@ QTSS_Error MP3ClientSession::SendMP3Data(char* buffer, UInt32 bufferlen) SInt64 curTime = OS::Milliseconds(); fWasBlocked = true; QTSS_RequestEvent(GetStreamRef(), QTSS_WriteableEvent); - DTRACE2("Got blocked at time %qd, numRetries = %ld\n", curTime, fRetryCount); + DTRACE2("Got blocked at time %qd, numRetries = %"_S32BITARG_"\n", curTime, fRetryCount); if (fBlockTime == 0) fBlockTime = curTime; fRetryCount++; if (curTime - fBlockTime > sMaxFlowControlTimeInMSec) { SetResult(453); - DTRACE1("MP3ClientSession::SendMP3Data - too many tries. Terminating client session = %ld\n", GetSessionID()); + DTRACE1("MP3ClientSession::SendMP3Data - too many tries. Terminating client session = %"_S32BITARG_"\n", GetSessionID()); SetState(MP3ClientSession::kClientShutDownState); } } else if (theErr != QTSS_NoErr) { - DTRACE1("MP3ClientSession::SendMP3Data - Terminating client session = %ld\n", GetSessionID()); + DTRACE1("MP3ClientSession::SendMP3Data - Terminating client session = %"_S32BITARG_"\n", GetSessionID()); SetState(MP3ClientSession::kClientShutDownState); } else @@ -1172,7 +1172,7 @@ MP3SessionRefKey::MP3SessionRefKey(MP3SessionRef* mp3SessRef) : { fMP3Session = fKeyValue->GetMP3Session(); if (fMP3Session != NULL) - fHashValue = (SInt32)fMP3Session->GetSession(); + fHashValue = (PointerSizedInt)fMP3Session->GetSession(); } else { @@ -1182,7 +1182,7 @@ MP3SessionRefKey::MP3SessionRefKey(MP3SessionRef* mp3SessRef) : MP3SessionRefKey::MP3SessionRefKey(QTSS_RTSPSessionObject rtspSessRef) : fKeyValue(NULL), - fHashValue((SInt32)rtspSessRef), + fHashValue((PointerSizedInt)rtspSessRef), fMP3Session(NULL) { } @@ -1353,7 +1353,7 @@ QTSS_Error MP3BroadcasterQueue::CreateBroadcaster(QTSS_RTSPSessionObject sess, Q { OSMutexLocker locker(&fMutex); fQueue.EnQueue(elem); - DTRACE1("MP3BroadcasterQueue::CreateBroadcaster() Session(%ld) broadcaster added!\n", uSessID); + DTRACE1("MP3BroadcasterQueue::CreateBroadcaster() Session(%"_S32BITARG_") broadcaster added!\n", uSessID); // send the "OK" back to the broadcaster theErr = broadcaster->SendOKResponse(); // If we failed to send the "OK" probably becuase of flow control @@ -1388,7 +1388,7 @@ QTSS_Error MP3BroadcasterQueue::RemoveBroadcaster(QTSS_RTSPSessionObject sess) { elem->Remove(); uSessID = current->GetSessionID(); - DTRACE1("MP3BroadcasterQueue::RemoveBroadcaster() Session(%ld) broadcaster removed!\n", uSessID); + DTRACE1("MP3BroadcasterQueue::RemoveBroadcaster() Session(%"_S32BITARG_") broadcaster removed!\n", uSessID); delete elem; delete current; return QTSS_NoErr; @@ -1604,7 +1604,7 @@ QTSS_Error MP3ClientQueue::AddClient(QTSS_RTSPSessionObject sess, QTSS_StreamRef { OSMutexLocker locker(&fMutex); fQueue.EnQueue(elem); - DTRACE1("MP3ClientQueue::AddClient() Session(%ld) client added!\n", uSessID); + DTRACE1("MP3ClientQueue::AddClient() Session(%"_S32BITARG_") client added!\n", uSessID); // send the "OK" back to the broadcaster theErr = client->SendResponse(); } @@ -1634,7 +1634,7 @@ QTSS_Error MP3ClientQueue::RemoveClient(QTSS_RTSPSessionObject sess) { elem->Remove(); uSessID = curClient->GetSessionID(); - DTRACE1("MP3ClientQueue::RemoveClient() Session(%ld) client removed!\n", uSessID); + DTRACE1("MP3ClientQueue::RemoveClient() Session(%"_S32BITARG_") client removed!\n", uSessID); delete elem; delete curClient; return QTSS_NoErr; @@ -1904,7 +1904,7 @@ QTSS_Error SessionClosing(QTSS_RTSPSession_Params* inParams) #if DEBUG_MP3STREAMING_MODULE UInt32 uSessID = 0L; uSessID = GetRTSPSessionID(inParams->inRTSPSession); - DTRACE1("Closing SessionID = %ld\n", uSessID); + DTRACE1("Closing SessionID = %"_S32BITARG_"\n", uSessID); #endif MP3Session* mp3sess = sMP3SessionTable.Resolve(inParams->inRTSPSession); // If Resolve() returns a non-NULL value then we are closing @@ -1985,7 +1985,7 @@ void IncrementMP3SessionCount() } else { - DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrCurConn failed with err = %ld\n", (SInt32)err); + DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrCurConn failed with err = %"_S32BITARG_"\n", (SInt32)err); } // bump the total sessions count up also err = QTSS_GetValuePtr(sServer, qtssMP3SvrTotalConn, 0, (void**)&ptrValue, &valueLen); @@ -1995,7 +1995,7 @@ void IncrementMP3SessionCount() } else { - DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrTotalConn failed with err = %ld\n", (SInt32)err); + DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrTotalConn failed with err = %"_S32BITARG_"\n", (SInt32)err); } } @@ -2016,7 +2016,7 @@ void DecrementMP3SessionCount() } else { - DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrCurConn failed with err = %ld\n", (SInt32)err); + DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrCurConn failed with err = %"_S32BITARG_"\n", (SInt32)err); } } @@ -2037,7 +2037,7 @@ void IncrementTotalMP3Bytes(UInt32 bytes) } else { - DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrTotalBytes failed with err = %ld\n", (SInt32)err); + DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrTotalBytes failed with err = %"_S32BITARG_"\n", (SInt32)err); } } @@ -2059,7 +2059,7 @@ Bool16 CheckBandwidth(SInt32 bandwidth) } else { - DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrCurBandwidth failed with err = %ld\n", (SInt32)err); + DTRACE1("QTSS_GetValuePtr() for qtssMP3SvrCurBandwidth failed with err = %"_S32BITARG_"\n", (SInt32)err); } return false; } @@ -2614,7 +2614,7 @@ QTSS_Error LogRequest(QTSS_RTSPSessionObject inRTSPSession, MP3ClientSession* cl reqResult = client->GetResult(); // Format the access log entry parameters here... - qtss_sprintf(logbuffer, "%s \"%s\" [%s] \"%s\" %d %ld %ld\n", + qtss_sprintf(logbuffer, "%s \"%s\" [%s] \"%s\" %d %"_S32BITARG_" %"_S32BITARG_"\n", remoteAddress, userAgent, theDateBuffer, @@ -2779,7 +2779,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) // Debugging info - Retrieve the RTSP session ID associated with this session. UInt32 uSessID = 0L; uSessID = GetRTSPSessionID(inParams->inRTSPSession); - DTRACE1("####\n###Filtering SessionID = %ld\n", uSessID); + DTRACE1("####\n###Filtering SessionID = %"_S32BITARG_"\n", uSessID); #endif // See if we have exceeded our maximum number of client connections @@ -2854,7 +2854,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) // construct the reply string for the client. qtss_snprintf(tmp,sizeof(tmp) -1, "http://%d.%d.%d.%d:8000%s", x1,x2,x3,x4, theURL); ulen = ::strlen(tmp); - qtss_snprintf(tmpbuf,sizeof(tmpbuf) -1, "%s %lu\r\n\r\n%s\r\n", gM3UReplyHeader, ulen, tmp); + qtss_snprintf(tmpbuf,sizeof(tmpbuf) -1, "%s %"_U32BITARG_"\r\n\r\n%s\r\n", gM3UReplyHeader, ulen, tmp); ulen = ::strlen(tmpbuf); // send the reply to the client. err = QTSS_Write(inParams->inRTSPRequest, tmpbuf, ulen, NULL, qtssWriteFlagsBufferData); diff --git a/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.h b/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.h index be719f2..0803ff4 100755 --- a/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.h +++ b/APIModules/QTSSMP3StreamingModule/QTSSMP3StreamingModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -353,7 +353,7 @@ class MP3SessionRef QTSS_RTSPSessionObject GetSession() { return fMP3Session->GetSession(); } MP3SessionRef* fNextHashEntry; - SInt32 fHashValue; + PointerSizedInt fHashValue; MP3Session* fMP3Session; friend class MP3SessionRefKey; @@ -377,7 +377,7 @@ class MP3SessionRefKey private: - SInt32 GetHashKey() { return fHashValue; } + PointerSizedInt GetHashKey() { return fHashValue; } friend int operator ==(const MP3SessionRefKey &key1, const MP3SessionRefKey &key2) { @@ -385,7 +385,7 @@ class MP3SessionRefKey } MP3SessionRef* fKeyValue; - SInt32 fHashValue; + PointerSizedInt fHashValue; MP3Session* fMP3Session; friend class OSHashTable; diff --git a/APIModules/QTSSODAuthModule/AccessCheck.cpp b/APIModules/QTSSODAuthModule/AccessCheck.cpp deleted file mode 100644 index db4f3f1..0000000 --- a/APIModules/QTSSODAuthModule/AccessCheck.cpp +++ /dev/null @@ -1,913 +0,0 @@ -/* - * - * Copyright (c) 1999-2005 Apple Computer, Inc. All Rights Reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ - /* - File: AccessCheck.cpp - - Contains: Class definition for access checking via Open Directory - - Created By: Dan Sinema - - Created: Jan 14, 2005 - -*/ - -/* - * Directory Service code added by Dan Sinema - * - * Jan 14, 2005 - Cleaned up code and added more comments. - * Nov 8, 2004 - Finsihed final code. Added group support. - * -*/ - - -// ANSI / POSIX Headers -#ifndef __MW_ - #include - #ifndef __USE_XOPEN - #define __USE_XOPEN 1 - #endif - #include -#endif - -#if __solaris__ || __sgi__ -#include -#endif - -// STL Headers -#include -#include -#include - -// Framework Headers -#include - -// Project Headers -#include "SafeStdLib.h" // for qtss_printf() -#include "StrPtrLen.h" -#include "StringParser.h" - -#include "AccessCheck.h" - - -#pragma mark AccessChecker class implementation - -AccessChecker::AccessChecker(const char* inMovieRootDir, const char* inQTAccessFileName, const char* inUsersFilePath, const char* inGroupsFilePath) : - fRealmHeader(NULL), - fMovieRootDir(inMovieRootDir), - fQTAccessFileName(inQTAccessFileName), - fGroupsFilePath(inGroupsFilePath), - fUsersFilePath(inUsersFilePath), - fAccessFile(NULL), - fUsersFile(NULL), - fGroupsFile(NULL) -{ - Assert(inMovieRootDir != NULL); - Assert(inQTAccessFileName != NULL); - Assert(inUsersFilePath != NULL); - Assert(inGroupsFilePath != NULL); -} - -AccessChecker::~AccessChecker() -{ - if ( fUsersFile != NULL ) - std::fclose(fUsersFile); - if ( fGroupsFile != NULL ) - std::fclose(fGroupsFile); - if ( fAccessFile != NULL ) - std::fclose(fAccessFile); -} - -bool AccessChecker::CheckAccess(const char* inUsername, const char* inPassword) -{ - ::qtss_printf("In QTSSDemoODAuthModule: Check Access\n"); - // password's cool, check if this guy has dir access - if ( this->CheckPassword(inUsername, inPassword) && - this->CheckUserAccess(inUsername) ) - { - ::qtss_printf("QTSSDemoODAuthModule: Check Access - access successful\n"); - return true; - } - ::qtss_printf("QTSSDemoODAuthModule: Check Access - access failed\n"); - return false; -} - - -bool AccessChecker::CheckPassword(const char* inUsername, const char* inPassword) -{ - //char *domain = NULL; - tDirReference dsRef = 0; - tDataBuffer *tDataBuff = NULL; - tDirNodeReference nodeRef = 0; - long status = eDSNoErr; - tContextData context = NULL; - unsigned long nodeCount = 0; - unsigned long attrIndex = 0; - tDataList *nodeName = NULL; - tAttributeEntryPtr pAttrEntry = NULL; - tDataList *pRecName = NULL; - tDataList *pRecType = NULL; - tDataList *pAttrType = NULL; - unsigned long recCount = 0; - tRecordEntry *pRecEntry = NULL; - tAttributeListRef attrListRef = 0; - char *pUserLocation = NULL; - tAttributeValueListRef valueRef = 0; - tAttributeValueEntry *pValueEntry = NULL; - tDataList *pUserNode = NULL; - tDirNodeReference userNodeRef = 0; - tDataBuffer *pStepBuff = NULL; - tDataNode *pAuthType = NULL; - unsigned long uiCurr = 0; - unsigned long uiLen = 0; - bool result = false; - - // A Username and Password is needed, if either one is not present then bail! - if ( inUsername == NULL ) - { - ::qtss_printf("QTSSDemoODAuthModule: Username required"); - return false; - } - if ( inPassword == NULL ) - { - ::qtss_printf("QTSSDemoODAuthModule: Password required"); - return false; - } - - do - { - status = ::dsOpenDirService( &dsRef ); - if ( status != eDSNoErr ) - { - // Some DS error, tell the admin what the error is and bail. Error can be found in DirectoryService man page - ::qtss_printf("QTSSDemoODAuthModule: Could not open Directory Services - error: %ld", status); - break; - } - - tDataBuff = ::dsDataBufferAllocate( dsRef, 4096 ); - if (tDataBuff == NULL) - { - // We need the buffer for locating the node for which the user object resides - ::qtss_printf("QTSSDemoODAuthModule: Buffer did not allocate"); - break; - } - - // Debug, help for admin when running QTSS in debug mode this will display the username - // ::qtss_printf("QTSSDemoODAuthModule: Username is %s\n", inUsername); - - // See if there is a domain specified, although the dsqtaccess files does not allow for specifing of domains, allows for future growth if needed - // Commeted for the time being... - /* - if ( domain != NULL ) - { - // Parse a node name - nodeName = dsBuildFromPath( dsRef, domain, "/" ); - - // if the node name is null, then we need to bail - if ( nodeName == NULL ) break; - - // Look for the user on the specified node, remember you cannot specify a node currently in the dsqtaccess file. - status = dsFindDirNodes( dsRef, tDataBuff, nodeName, eDSiExact, &nodeCount, &context ); - } - else - { - // This is the default action, make it easy for the admin. We will look up the user on the Search node, so the domain does not need to be specified. - status = dsFindDirNodes( dsRef, tDataBuff, NULL, eDSSearchNodeName, &nodeCount, &context ); - } - */ - // Since we are not passing nodes (domains) right now, we will cut to the chase and set the Search Node - status = ::dsFindDirNodes( dsRef, tDataBuff, NULL, eDSSearchNodeName, &nodeCount, &context ); - - // Check for failure of the dsFindDirNodes - // Node count less than 1 means no node found...doh! - if ( ( status != eDSNoErr ) || ( nodeCount < 1 ) ) - { - break; - } - - // So the node found, grab the name... - status = ::dsGetDirNodeName( dsRef, tDataBuff, 1, &nodeName ); - if (status != eDSNoErr) - { - break; - } - - // Open the node so we can do the DS magic - status = ::dsOpenDirNode( dsRef, nodeName, &nodeRef ); - ::dsDataListDeallocate( dsRef, nodeName ); - std::free( nodeName ); - nodeName = NULL; - - if (status != eDSNoErr) - { - // Bail if we cannot open the node. - ::qtss_printf("QTSSDemoODAuthModule: Could not open node - error: %ld", status); - break; - } - - // Now time to specify what we are looking for... - // pRecName: the - // pRecordType: we are looking for user records (kDSStdRecordTypeUsers) - // pAttrType: The attributes we want back are the user node location (kDSNAttrMetaNodeLocation) and the user object record (kDSNAttrRecordName) - pRecName = ::dsBuildListFromStrings( dsRef, inUsername, NULL ); - pRecType = ::dsBuildListFromStrings( dsRef, kDSStdRecordTypeUsers, NULL ); - pAttrType = ::dsBuildListFromStrings( dsRef, kDSNAttrMetaNodeLocation, NULL ); - - recCount = 1; - - // Find the record that matchs the above criteria - status = ::dsGetRecordList( nodeRef, tDataBuff, pRecName, eDSExact, pRecType, pAttrType, 0, &recCount, &context ); - if ( status != eDSNoErr || recCount == 0 ) - { - break; - } - - // Get the record entry out of the list, there should only be one record! - - status = ::dsGetRecordEntry( nodeRef, tDataBuff, 1, &attrListRef, &pRecEntry ); - if ( status != eDSNoErr ) - { - break; - } - - // Now loop through attributes of the entry...looking for kDSNAttrMetaNodeLocation and kDSNAttrRecordName - for ( attrIndex = 1; (attrIndex <= pRecEntry->fRecordAttributeCount) && (status == eDSNoErr); attrIndex++ ) - { - status = ::dsGetAttributeEntry( nodeRef, tDataBuff, attrListRef, attrIndex, &valueRef, &pAttrEntry ); - if ( status == eDSNoErr && pAttrEntry != NULL ) - { - // Test for kDSNAttrMetaNodeLocation - if ( std::strcmp( pAttrEntry->fAttributeSignature.fBufferData, kDSNAttrMetaNodeLocation ) == 0 ) - { - // If it matches then get the value of the attribute - status = ::dsGetAttributeValue( nodeRef, tDataBuff, 1, valueRef, &pValueEntry ); - if ( status == eDSNoErr && pValueEntry != NULL ) - { - // Store the node location in pUserLocation - pUserLocation = (char *) std::calloc( pValueEntry->fAttributeValueData.fBufferLength + 1, sizeof(char) ); - std::memcpy( pUserLocation, pValueEntry->fAttributeValueData.fBufferData, pValueEntry->fAttributeValueData.fBufferLength ); - } - } - - // Clean up... - if ( pValueEntry != NULL ) - { - ::dsDeallocAttributeValueEntry( dsRef, pValueEntry ); - pValueEntry = NULL; - } - - ::dsDeallocAttributeEntry( dsRef, pAttrEntry ); - pAttrEntry = NULL; - ::dsCloseAttributeValueList( valueRef ); - valueRef = 0; - } - } - - // Now that we know the node location of the user object, lets open that node. - pUserNode = ::dsBuildFromPath( dsRef, pUserLocation, "/" ); - status = ::dsOpenDirNode( dsRef, pUserNode, &userNodeRef ); - if ( status != eDSNoErr ) - { - break; - } - pStepBuff = ::dsDataBufferAllocate( dsRef, 128 ); - - pAuthType = ::dsDataNodeAllocateString( dsRef, kDSStdAuthNodeNativeClearTextOK ); - uiCurr = 0; - - // Copy username (that is passed into this function) into buffer for dsDoDirNodeAuth() - uiLen = strlen( inUsername ); - std::memcpy( &(tDataBuff->fBufferData[ uiCurr ]), &uiLen, sizeof( unsigned long ) ); - uiCurr += sizeof( unsigned long ); - std::memcpy( &(tDataBuff->fBufferData[ uiCurr ]), inUsername, uiLen ); - uiCurr += uiLen; - - // Copy password into a buffer for dsDoDirNodeAuth() - uiLen = strlen( inPassword ); - std::memcpy( &(tDataBuff->fBufferData[ uiCurr ]), &uiLen, sizeof( unsigned long ) ); - uiCurr += sizeof( unsigned long ); - std::memcpy( &(tDataBuff->fBufferData[ uiCurr ]), inPassword, uiLen ); - uiCurr += uiLen; - - tDataBuff->fBufferLength = uiCurr; - - // Do the actual authentication here - status = ::dsDoDirNodeAuth( userNodeRef, pAuthType, 1, tDataBuff, pStepBuff, NULL ); - - if( status == eDSNoErr ) - { - // For admins running QTSS in debug - ::qtss_printf("QTSSDemoODAuthModule: Authentication is good\n"); - result = true; - } - } - while ( 0 ); - - // Clean up... - if (tDataBuff != NULL) - { - std::memset(tDataBuff, 0, tDataBuff->fBufferSize); - ::dsDataBufferDeAllocate( dsRef, tDataBuff ); - tDataBuff = NULL; - } - - if (pStepBuff != NULL) - { - ::dsDataBufferDeAllocate( dsRef, pStepBuff ); - pStepBuff = NULL; - } - if (pUserLocation != NULL ) - { - std::free(pUserLocation); - pUserLocation = NULL; - } - if (pRecName != NULL) - { - ::dsDataListDeallocate( dsRef, pRecName ); - std::free( pRecName ); - pRecName = NULL; - } - if (pRecType != NULL) - { - ::dsDataListDeallocate( dsRef, pRecType ); - std::free( pRecType ); - pRecType = NULL; - } - if (pAttrType != NULL) - { - ::dsDataListDeallocate( dsRef, pAttrType ); - std::free( pAttrType ); - pAttrType = NULL; - } - if (nodeRef != 0) - { - ::dsCloseDirNode(nodeRef); - nodeRef = 0; - } - if (dsRef != 0) - { - ::dsCloseDirService(dsRef); - dsRef = 0; - } - - // If the Authentication failed then return false, which boots the user... - return result; -} - -bool AccessChecker::CheckUserAccess(const char* inUsername) -{ - ::qtss_printf("In QTSSDemoODAuthModule: Check User Access - start\n"); - - const int kBufLen = 2048; - char buf[kBufLen]; - StrPtrLen bufLine; - - if ( fAccessFile == NULL ) - return false; - - std::rewind(fAccessFile); - while ( std::fgets(buf, kBufLen, fAccessFile) != NULL ) - { - bufLine.Set(buf, strlen(buf)); - StringParser bufParser(&bufLine); - - //skip over leading whitespace - bufParser.ConsumeUntil(NULL, StringParser::sWhitespaceMask); - - //skip over comments and blank lines... - if ((bufParser.GetDataRemaining() == 0) || (bufParser[0] == '#') || (bufParser[0] == '\0') ) - continue; - - StrPtrLen word; - bufParser.ConsumeWord(&word); - if ( word.Equal("require") ) - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&word); - - if ( word.Equal("user") ) - { - while (word.Len != 0) - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&word); - - if (word.Equal(inUsername)) - { - ::qtss_printf("QTSSDemoODAuthModule in CheckUserAccess() : user %s found\n", inUsername); - return true; - } - } - } - else if (word.Equal("valid-user")) - { - ::qtss_printf("QTSSDemoODAuthModule in CheckUserAccess(): valid-user\n"); - return true; - } - else if ( word.Equal("group") ) - { - while (word.Len != 0) - { - bufParser.ConsumeWhitespace(); - bufParser.ConsumeWord(&word); - if ( this->CheckGroupMembership(inUsername, word.GetAsCString()) ) - { - ::qtss_printf("QTSSDemoODAuthModule in CheckUserAccess(): user is part of %s group\n", word.GetAsCString()); - return true; - } - } - } - } - } - - return false; -} - -bool AccessChecker::CheckGroupMembership(const char* inUsername, const char* inGroupName) -{ - bool retVal = false; - long dirStatus = eDSNoErr; - tDirReference dsRef = 0; - tDirNodeReference nodeRef = 0; - tDataListPtr nodePath = NULL; - tRecordReference recRef = 0; - tDataNodePtr recName = NULL; - tDataNodePtr recType = NULL; - tDataListPtr recTypeList = NULL; - tDataNodePtr attrType = NULL; - tDataNodePtr searchValue = NULL; - tDataNodePtr groupMember = NULL; - tDataList searchAttrs; - dsBool attrInfoOnly = 0; //false - - unsigned long bufferSize = 10 * 1024; - tDataBufferPtr dataBuffer = NULL; - - unsigned long recordCount = 0; - unsigned long recordIndex = 0; - tRecordEntryPtr recordEntry = NULL; - tContextData *currentContextData = NULL; - unsigned long attributeIndex = 0; - tAttributeListRef attributeList = 0; - tAttributeEntryPtr attributeEntry = NULL; - - unsigned long valueIndex = 0; - tAttributeValueEntryPtr valueEntry = NULL; - tAttributeValueListRef valueList = 0; - - //Search Node Stuff - tDataBuffer *tDataBuff = NULL; - long status = eDSNoErr; - tContextData context = NULL; - unsigned long nodeCount = 0; - unsigned long attrIndex = 0; - tDataList *nodeName = NULL; - tAttributeEntryPtr pAttrEntry = NULL; - tDataList *pRecName = NULL; - tDataList *pRecType = NULL; - tDataList *pAttrType = NULL; - unsigned long recCount = 0; - tRecordEntry *pRecEntry = NULL; - tAttributeListRef attrListRef = 0; - char *pGroupLocation = NULL; - char *pGroupName = NULL; - tAttributeValueListRef valueRef = 0; - tAttributeValueEntry *pValueEntry = NULL; - tDataList *pGroupNode = NULL; - tDirNodeReference groupNodeRef = 0; - //tDataBuffer *pStepBuff = NULL; - - //open DS - if (inUsername == NULL) - { - ::qtss_printf( "ds_check_group() error: no username"); - return retVal; - } - ::qtss_printf( "ds_check_group(): username is %s\n", inUsername); - if ( inGroupName == NULL ) - { - ::qtss_printf( "ds_check_group() error: no group"); - return retVal; - } - ::qtss_printf( "ds_check_group(): Group name is %s\n", inGroupName); - - dirStatus = ::dsOpenDirService( &dsRef ); - - if ( dirStatus != eDSNoErr ) - { - ::qtss_printf( "ds_check_group() error: dsOpenDirService = %ld\n", dirStatus); - return retVal; - } - ::qtss_printf( "ds_check_group() info: dsOpenDirService = %lu\n", (unsigned long)dsRef); - - /*//open Node - nodePath = dsBuildFromPath( dsRef, domain, "/" ); - if ( nodePath != NULL ) - { - ::qtss_printf( "ds_check_group() info: nodePath is not NULL\n"); - dirStatus = dsOpenDirNode( dsRef, nodePath, &nodeRef ); - - if ( dirStatus == eDSNoErr ) - { - ::qtss_printf( "Open succeeded. Node Reference = %lu\n", (unsigned long)nodeRef ); - } - else - { - ::qtss_printf( "Open node failed. Err = %ld\n", dirStatus ); - return retVal; - } - }*/ - - recName = ::dsDataNodeAllocateString( dsRef, inGroupName ); - dataBuffer = ::dsDataBufferAllocate(dsRef, bufferSize); - - //Search lookup - tDataBuff = ::dsDataBufferAllocate( dsRef, 4096 ); - if (tDataBuff == NULL) - { - ::qtss_printf("QTSSDemoODAuthModule: Buffer did not allocate"); - return false; - } - - dirStatus = ::dsFindDirNodes( dsRef, tDataBuff, NULL, eDSSearchNodeName, &nodeCount, &context ); - - if ( dirStatus != eDSNoErr ) - { - ::qtss_printf( "Error opening Search node: %ld\n", status); - return false; - } - - if ( nodeCount < 1 ) - { - return false; - } - - dirStatus = ::dsGetDirNodeName( dsRef, tDataBuff, 1, &nodeName ); - if (dirStatus != eDSNoErr) - { - return false; - } - dirStatus = ::dsOpenDirNode( dsRef, nodeName, &nodeRef ); - ::dsDataListDeallocate( dsRef, nodeName ); - std::free( nodeName ); - nodeName = NULL; - if (dirStatus != eDSNoErr) - { - return false; - } - - pRecName = ::dsBuildListFromStrings( dsRef, inGroupName, NULL ); - pRecType = ::dsBuildListFromStrings( dsRef, kDSStdRecordTypeGroups, NULL ); - pAttrType = ::dsBuildListFromStrings( dsRef, kDSNAttrMetaNodeLocation, kDSNAttrRecordName, NULL ); - - recCount = 1; - dirStatus = ::dsGetRecordList( nodeRef, tDataBuff, pRecName, eDSExact, pRecType, pAttrType, 0, &recCount, &context ); - if ( dirStatus != eDSNoErr || recCount == 0 ) - { - return false; - } - ::qtss_printf( "Record Count is %ld\n", recCount); - dirStatus = ::dsGetRecordEntry( nodeRef, tDataBuff, 1, &attrListRef, &pRecEntry ); - if ( dirStatus != eDSNoErr ) - return false; - - - for ( attrIndex = 1; (attrIndex <= pRecEntry->fRecordAttributeCount) && (dirStatus == eDSNoErr); attrIndex++ ) - { - dirStatus = ::dsGetAttributeEntry( nodeRef, tDataBuff, attrListRef, attrIndex, &valueRef, &pAttrEntry ); - if ( dirStatus == eDSNoErr && pAttrEntry != NULL ) - { - if ( std::strcmp( pAttrEntry->fAttributeSignature.fBufferData, kDSNAttrMetaNodeLocation ) == 0 ) - { - dirStatus = ::dsGetAttributeValue( nodeRef, tDataBuff, 1, valueRef, &pValueEntry ); - if ( dirStatus == eDSNoErr && pValueEntry != NULL ) - { - pGroupLocation = (char *) std::calloc( pValueEntry->fAttributeValueData.fBufferLength + 1, sizeof(char) ); - std::memcpy( pGroupLocation, pValueEntry->fAttributeValueData.fBufferData, pValueEntry->fAttributeValueData.fBufferLength ); - } - } - else - if ( strcmp( pAttrEntry->fAttributeSignature.fBufferData, kDSNAttrRecordName ) == 0 ) - { - dirStatus = ::dsGetAttributeValue( nodeRef, tDataBuff, 1, valueRef, &pValueEntry ); - if ( dirStatus == eDSNoErr && pValueEntry != NULL ) - { - pGroupName = (char *) std::calloc( pValueEntry->fAttributeValueData.fBufferLength + 1, sizeof(char) ); - std::memcpy( pGroupName, pValueEntry->fAttributeValueData.fBufferData, pValueEntry->fAttributeValueData.fBufferLength ); - } - } - - if ( pValueEntry != NULL ) - ::dsDeallocAttributeValueEntry( dsRef, pValueEntry ); - pValueEntry = NULL; - - ::dsDeallocAttributeEntry( dsRef, pAttrEntry ); - pAttrEntry = NULL; - ::dsCloseAttributeValueList( valueRef ); - valueRef = 0; - } - } - - pGroupNode = ::dsBuildFromPath( dsRef, pGroupLocation, "/" ); - ::qtss_printf( "ds_check_group(): Node location of %s is %s\n", pGroupName, pGroupLocation); - dirStatus = ::dsOpenDirNode( dsRef, pGroupNode, &groupNodeRef ); - if ( dirStatus != eDSNoErr ) - return 1; - //End Search Lookup - - if ( recName != NULL ) - { - recType = ::dsDataNodeAllocateString( dsRef, kDSStdRecordTypeGroups); - recTypeList = ::dsBuildListFromStrings(dsRef, kDSStdRecordTypeGroups, NULL); - - if ( recType != NULL ) - { - dirStatus = ::dsOpenRecord( groupNodeRef, recType, recName, &recRef ); - - if ( dirStatus == eDSNoErr ) - { - attrType = ::dsDataNodeAllocateString(dsRef, kDSNAttrGroupMembership ); - groupMember = ::dsDataNodeAllocateString(dsRef, kDSNAttrGroupMembership ); - searchValue = ::dsDataNodeAllocateString(dsRef, inUsername ); - - dirStatus = ::dsBuildListFromStringsAlloc ( dsRef, &searchAttrs, kDSNAttrRecordName, NULL ); - - if ( attrType != NULL ) - { - dirStatus = ::dsDoAttributeValueSearchWithData(groupNodeRef, dataBuffer, recTypeList, attrType, eDSExact, searchValue, &searchAttrs, attrInfoOnly, &recordCount, currentContextData); - if (dirStatus == eDSNoErr) - { - ::qtss_printf( "Records found %lu\n", recordCount); - } - - for (recordIndex = 1; recordIndex <= recordCount; recordIndex++) - { - dirStatus = ::dsGetRecordEntry(groupNodeRef, dataBuffer, recordIndex, &attributeList, &recordEntry); - if (dirStatus != eDSNoErr) - { - ::qtss_printf( "dsGetRecordEntry error (%ld)",dirStatus); - break; - } - for (attributeIndex = 1; attributeIndex <= recordEntry->fRecordAttributeCount; attributeIndex++) - { - dirStatus = ::dsGetAttributeEntry(groupNodeRef, dataBuffer, attributeList, attributeIndex, &valueList, &attributeEntry); - if (dirStatus != eDSNoErr) - { - ::qtss_printf( "dsGetAttributeEntry error (%ld)",dirStatus); - break; - } - for (valueIndex = 1; valueIndex <= attributeEntry->fAttributeValueCount; valueIndex++) - { - dirStatus = ::dsGetAttributeValue(groupNodeRef, dataBuffer, valueIndex, valueList, &valueEntry); - if (dirStatus != eDSNoErr) - { - ::qtss_printf( "dsGetAttributeValue error (%ld)",dirStatus); - break; - } - if (valueEntry->fAttributeValueData.fBufferLength != 0) - { - if( std::strcmp(inGroupName, (const char*)valueEntry->fAttributeValueData.fBufferData) == 0 ) - { - ::qtss_printf( "Found it! The user is a member of %s\n", (const char*)valueEntry->fAttributeValueData.fBufferData); - retVal = true; - goto done; - } - else - { - ::qtss_printf( "Failed! The user is not a member of %s\n", inGroupName); - retVal = false; - } - } - - } - } - } - ::dsDeallocAttributeValueEntry(groupNodeRef, valueEntry); - valueEntry = NULL; - } - dirStatus = ::dsDataNodeDeAllocate( dsRef, attrType ); - attrType = NULL; - } - } - dirStatus = ::dsDataNodeDeAllocate( dsRef, recType ); - recType = NULL; - } - - dirStatus = ::dsDataNodeDeAllocate( dsRef, recName ); - recName = NULL; - -done: - if( valueEntry != NULL) - { - ::dsDeallocAttributeValueEntry(groupNodeRef, valueEntry); - valueEntry = NULL; - } - if( attrType != NULL) - { - ::dsDataNodeDeAllocate( dsRef, attrType ); - attrType = NULL; - } - if( recType != NULL) - { - ::dsDataNodeDeAllocate( dsRef, recType ); - recType = NULL; - } - if( recName != NULL) - { - dirStatus = ::dsDataNodeDeAllocate( dsRef, recName ); - recName = NULL; - } - if( valueList ) - { - ::dsCloseAttributeValueList(valueList); - valueList = 0; - } - if( dataBuffer != NULL) - { - std::memset(dataBuffer, 0, dataBuffer->fBufferSize); - ::dsDataBufferDeAllocate( dsRef, dataBuffer ); - dataBuffer = NULL; - } - if( nodePath != NULL) - { - ::dsDataListDeallocate( dsRef, nodePath ); - std::free( nodePath ); - nodePath = NULL; - } - if( recRef ) - { - //dsCloseRecord - } - if( attributeList ) - { - ::dsCloseAttributeList( attributeList ); - //free( attributeList); - attributeList = 0; - } - if( attributeEntry != NULL) - { - attributeEntry = NULL; - } - if( groupNodeRef != 0) - { - ::dsCloseDirNode(groupNodeRef); - nodeRef = 0; - } - if (dsRef != 0) - { - ::dsCloseDirService(dsRef); - dsRef = 0; - } - - return retVal; -} - -bool AccessChecker::GetAccessFile(const char* dirPath) -{ - char* currentDir= NULL; - char* lastSlash = NULL; - int movieRootDirLen = fMovieRootDir.length(); - - currentDir = new char[std::strlen(dirPath) + fQTAccessFileName.length()]; - - std::strcpy(currentDir, dirPath); - - //strip off filename - lastSlash = ::strrchr(currentDir, '/'); - if (lastSlash != NULL) - lastSlash[0] = '\0'; - - //check qtaccess files - - while ( true ) //walk backward up the dir tree? - { - std::strcat(currentDir, "/"); - std::strcat(currentDir, fQTAccessFileName.c_str()); - - fAccessFile = std::fopen(currentDir, "r"); - - //strip off the "/qtaccess" - lastSlash = std::strrchr(currentDir, '/'); - lastSlash[0] = '\0'; - - - if ( fAccessFile != NULL ) - { - ::qtss_printf("QTSSDemoODAuthModule: Found dsqtaccess file\n"); - this->GetAccessFileInfo(currentDir); - delete[] currentDir; - return true; - } - else - { - //strip of the tailing directory - lastSlash = std::strrchr(currentDir, '/'); - if (lastSlash == NULL) - break; - else - lastSlash[0] = '\0'; - } - - if ( (lastSlash-currentDir) < movieRootDirLen ) //bail if we start eating our way out of fMovieRootDir - break; - } - - delete[] currentDir; - return false; -} - -void AccessChecker::GetAccessFileInfo(const char* inQTAccessDir) -{ - Assert( fAccessFile != NULL); - - const int kBufLen = 2048; - char buf[kBufLen]; - StrPtrLen bufLine; - ::qtss_printf("QTSSDemoODAuthModule: File Info\n"); - while ( std::fgets(buf, kBufLen, fAccessFile) != NULL ) - { - bufLine.Set(buf, strlen(buf)); - StringParser bufParser(&bufLine); - - //skip over leading whitespace - bufParser.ConsumeUntil(NULL, StringParser::sWhitespaceMask); - - //skip over comments and blank lines... - - if ( (bufParser.GetDataRemaining() == 0) || (bufParser[0] == '#') || (bufParser[0] == '\0') ) - continue; - - StrPtrLen word; - bufParser.ConsumeWord(&word); - bufParser.ConsumeWhitespace(); - - if ( word.Equal("AuthName") ) //realm name - { - bufParser.GetThruEOL(&word); - fRealmHeader = word.Ptr; - } - else if ( word.Equal("AuthUserFile" ) ) //users name - { - char filePath[kBufLen]; - bufParser.GetThruEOL(&word); - if (word.Ptr[0] == '/') //absolute path - { - std::memcpy(filePath, word.Ptr, word.Len); - filePath[word.Len] = '\0'; - } - else - { - std::snprintf(filePath, sizeof(filePath), "%s/%s", inQTAccessDir, word.Ptr); - } - fUsersFile = std::fopen(filePath, "r"); - } - else if ( word.Equal("AuthGroupFile") ) //groups name - { - char filePath[kBufLen]; - bufParser.GetThruEOL(&word); - if (word.Ptr[0] == '/') //absolute path - { - std::memcpy(filePath, word.Ptr, word.Len); - filePath[word.Len] = '\0'; - } - else - { - std::snprintf(filePath, sizeof(filePath), "%s/%s", inQTAccessDir, word.Ptr); - } - fGroupsFile = std::fopen(filePath, "r"); - } - } - - if (fUsersFile == NULL) - { - fUsersFile = std::fopen(fUsersFilePath.c_str(), "r"); - } - - if (fGroupsFile == NULL) - { - fGroupsFile = std::fopen(fGroupsFilePath.c_str(), "r"); - } -} - - diff --git a/APIModules/QTSSODAuthModule/AccessCheck.h b/APIModules/QTSSODAuthModule/AccessCheck.h deleted file mode 100644 index cf885f7..0000000 --- a/APIModules/QTSSODAuthModule/AccessCheck.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2005 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ - /* - File: AccessCheck.h - - Contains: Class definition for access checking via Open Directory - - Created By: Dan Sinema - - Created: Jan 14, 2005 -*/ - -#ifndef _QTSSACCESSCHECK_H_ -#define _QTSSACCESSCHECK_H_ - -// STL Headers -#include // for struct FILE -#include - -class AccessChecker -{ -/* - Access check logic: - - If "modAccess_enabled" == "enabled, - Starting at URL dir, walk up directories to Movie Folder until a "qtaccess" file is found - If not found, - allow access - If found, - send a challenge to the client - verify user against QTSSPasswd - verify that user or member group is in the lowest ".qtacess" - walk up directories until a ".qtaccess" is found - If found, - allow access - If not found, - deny access - - ToDo: - would probably be a good idea to do some caching of ".qtaccess" data to avoid - multiple directory walks -*/ - -public: - AccessChecker(const char* inMovieRootDir, const char* inQTAccessFileName, const char* inDefaultUsersFilePath, const char* inDefaultGroupsFilePath); - virtual ~AccessChecker(); - bool CheckAccess(const char* inUsername, const char* inPassword); - bool CheckPassword(const char* inUsername, const char* inPassword); - void GetPassword(const char* inUsername, char* ioPassword); - bool CheckUserAccess(const char* inUsername); - bool CheckGroupMembership(const char* inUsername, const char* inGroupName); - bool GetAccessFile(const char* dirPath); - - inline const char* GetRealmHeaderPtr() {return fRealmHeader.c_str();} - - -protected: - std::string fRealmHeader; - std::string fMovieRootDir; - std::string fQTAccessFileName; - std::string fGroupsFilePath; - std::string fUsersFilePath; - FILE* fAccessFile; - FILE* fUsersFile; - FILE* fGroupsFile; - - static const char* kDefaultUsersFilePath; - static const char* kDefaultGroupsFilePath; - static const char* kDefaultAccessFileName; - static const char* kDefaultRealmHeader; - - void GetAccessFileInfo(const char* inQTAccessDir); -}; - -#endif //_QTSSACCESSCHECK_H_ diff --git a/APIModules/QTSSODAuthModule/QTSSODAuthModule.cpp b/APIModules/QTSSODAuthModule/QTSSODAuthModule.cpp deleted file mode 100644 index 52bb558..0000000 --- a/APIModules/QTSSODAuthModule/QTSSODAuthModule.cpp +++ /dev/null @@ -1,327 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2005 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ -/* - File: QTSSDemoODAuthModule.cpp - - Contains: Implementation of QTSSDemoODAuthModule, a modified version of the QTSSAccessModule - is sample code. - - - -*/ - -#include "QTSSODAuthModule.h" -#include "defaultPaths.h" -#include "AccessCheck.h" -#include "StrPtrLen.h" -#include "QTSSModuleUtils.h" -#include "OSArrayObjectDeleter.h" -#include "SafeStdLib.h" -#include "QTSSMemoryDeleter.h" - -// ATTRIBUTES - -// STATIC DATA - -const UInt32 kBuffLen = 512; - - -// FUNCTION PROTOTYPES - -static QTSS_Error QTSSDemoODAuthModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); -static QTSS_Error Register(); -static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); -static QTSS_Error Shutdown(); -static QTSS_Error RereadPrefs(); -static QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams); -static QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams); -static bool QTSSAccess(QTSS_StandardRTSP_Params* inParams, const char* pathBuff, const char* movieRootDir, char* ioRealmName); - - -// FUNCTION IMPLEMENTATIONS - -QTSS_Error QTSSDemoODAuthModule_Main(void* inPrivateArgs) -{ - return _stublibrary_main(inPrivateArgs, QTSSDemoODAuthModuleDispatch); -} - - -QTSS_Error QTSSDemoODAuthModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) -{ - switch (inRole) - { - case QTSS_Register_Role: - return Register(); - case QTSS_Initialize_Role: - return Initialize(&inParams->initParams); - case QTSS_RereadPrefs_Role: - return RereadPrefs(); - case QTSS_RTSPAuthenticate_Role: - return AuthenticateRTSPRequest(&inParams->rtspAthnParams); - case QTSS_RTSPAuthorize_Role: - return Authenticate(&inParams->rtspRequestParams); - case QTSS_Shutdown_Role: - return Shutdown(); - } - return QTSS_NoErr; -} - - -QTSS_Error Register() -{ - // Do role & attribute setup - (void)QTSS_AddRole(QTSS_Initialize_Role); - (void)QTSS_AddRole(QTSS_RereadPrefs_Role); - (void)QTSS_AddRole(QTSS_RTSPAuthenticate_Role); - (void)QTSS_AddRole(QTSS_RTSPAuthorize_Role); - - return QTSS_NoErr; -} - - -QTSS_Error Initialize(QTSS_Initialize_Params* inParams) -{ - qtss_printf("QTSSDemoODAuthModule was just called in the QTSS_Initialize_Role\n"); - // Setup module utils - QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); - - RereadPrefs(); - return QTSS_NoErr; -} - -QTSS_Error Shutdown() -{ - return QTSS_NoErr; -} - -QTSS_Error RereadPrefs() -{ - return QTSS_NoErr; -} - -bool QTSSAccess(QTSS_StandardRTSP_Params* inParams, - const char* pathBuff, - const char* movieRootDir, - char* ioRealmName) -{ - QTSS_Error theErr = QTSS_NoErr; - qtss_printf("QTSSDemoODAuthModule in QTSSAccess() - Pathbuff: %s. movierootdir: %s\n", pathBuff, movieRootDir); - - char passwordBuff[kBuffLen]; - StrPtrLen passwordStr(passwordBuff, kBuffLen); - - char nameBuff[kBuffLen]; - StrPtrLen nameStr(nameBuff, kBuffLen); - - char realmNameBuff[kBuffLen]; - StrPtrLen realmName(realmNameBuff, kBuffLen); - - // Look for a file called dsqtaccess for user and group access - AccessChecker accessChecker(movieRootDir, "dsqtaccess", DEFAULTPATHS_ETC_DIR "QTSSUsers", DEFAULTPATHS_ETC_DIR "QTSSGroups"); - - //If there are no access files, then allow world access - if ( !accessChecker.GetAccessFile(pathBuff) ) - { - qtss_printf("In QTSSDemoODAuthModule: Did not find access file\n"); - return true; - } - qtss_printf("In QTSSDemoODAuthModule: Found access file\n"); - ::strcpy(ioRealmName, accessChecker.GetRealmHeaderPtr()); - qtss_printf("In QTSSDemoODAuthModule: QTAccess() realm is %s\n", ioRealmName); - // - // If this RTSP request includes a user name and password, the server decodes - // that information and stores it in these attributes. - /* - QTSS_UserProfileObject theUserProfile = NULL; - UInt32 len = sizeof(QTSS_UserProfileObject); - theErr = QTSS_GetValue(inParams->inRTSPRequest, qtssRTSPReqUserProfile, 0, (void*)&theUserProfile, &len); - if ( (QTSS_NoErr != theErr)) - { - qtss_printf("In QTSSDemoODAuthModule: QTSSAccess() Userprofile Error - %ld\n", theErr); - - return false; - } - - char* usernameBuf = NULL; - theErr = QTSS_GetValueAsString(theUserProfile, qtssUserName, 0, &usernameBuf); - OSCharArrayDeleter usernameBufDeleter(usernameBuf); - qtss_printf("In QTSSDemoODAuthModule: Username from user profile - %s\n", usernameBuf); - */ - theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserName,0, (void *) nameStr.Ptr, &nameStr.Len); - if ( (QTSS_NoErr != theErr) || (nameStr.Len >= kBuffLen) ) - { - qtss_printf("In QTSSDemoODAuthModule: QTSSAccess() Username Error - %ld\n", theErr); - - return false; - } - theErr = QTSS_GetValue (inParams->inRTSPRequest,qtssRTSPReqUserPassword,0, (void *) passwordStr.Ptr, &passwordStr.Len); - if ( (QTSS_NoErr != theErr) || (passwordStr.Len >= kBuffLen) ) - { - qtss_printf("In QTSSDemoODAuthModule: QTSSAccess() Password Error - %ld\n", theErr); - return false; - } - nameBuff[nameStr.Len] = '\0'; - passwordBuff[passwordStr.Len] = '\0'; - - qtss_printf("In QTSSDemoODAuthModule - QTAccess(): Username is %s before CheckAccess\n", nameBuff); - - // - // Use the name and password to check access - if ( !accessChecker.CheckAccess(nameBuff, passwordBuff) ) - { - qtss_printf("Access fail\n"); - return false; - } - qtss_printf("In QTAccess(): Access success\n"); - return true; -} - -QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams) -{ - QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; - QTSS_AuthScheme authScheme = qtssAuthNone; - - // UInt32 fileErr; - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest start\n"); - //OSMutexLocker locker(sUserMutex); - - if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) - { - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest inParams NULL\n"); - return QTSS_RequestFailed; - } - - // Get the user profile object from the request object - QTSS_UserProfileObject theUserProfile = NULL; - UInt32 len = sizeof(QTSS_UserProfileObject); - QTSS_Error theErr = QTSS_GetValue(theRTSPRequest, qtssRTSPReqUserProfile, 0, (void*)&theUserProfile, &len); - Assert(len == sizeof(QTSS_UserProfileObject)); - if (theErr != QTSS_NoErr) - { - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest - username error is %ld\n", theErr); - return theErr; - } - // Get the username from the user profile object - authScheme = qtssAuthBasic; - //authScheme = qtssAuthDigest; - /*if (authScheme == qtssAuthNone) - { - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest - get authScheme"); - len = sizeof(authScheme); - theErr = QTSS_GetValue(theRTSPRequest, qtssRTSPReqAuthScheme, 0, (void*)&authScheme, &len); - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest - get authScheme"); - Assert(len == sizeof(authScheme)); - if (theErr != QTSS_NoErr) - return theErr; - } - else - {*/ - theErr = QTSS_SetValue(theRTSPRequest, qtssRTSPReqAuthScheme, 0, (void*)&authScheme, sizeof(authScheme)); - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest - set authScheme\n"); - if (theErr != QTSS_NoErr) - return theErr; - // } - - char* usernameBuf = NULL; - theErr = QTSS_GetValueAsString(theUserProfile, qtssUserName, 0, &usernameBuf); - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest - username is %s\n", usernameBuf); - OSCharArrayDeleter usernameBufDeleter(usernameBuf); - if (theErr != QTSS_NoErr) - { - qtss_printf("In QTSSDemoODAuthModule: AuthenticateRTSPRequest - usernameBuf error is %ld\n", theErr); - //return theErr; - } - - - return QTSS_NoErr; - -} - - -QTSS_Error Authenticate(QTSS_StandardRTSP_Params* inParams) -{ - QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; - qtss_printf("In QTSSDemoODAuthModule: Authenticate start\n"); - if ( (NULL == inParams) || (NULL == inParams->inRTSPRequest) ) - { - qtss_printf("In QTSSDemoODAuthModule - Authenticate inParams: Error"); - return QTSS_RequestFailed; - } - - //get the local file path - char* pathBuffStr = NULL; - QTSS_Error theErr = QTSS_GetValueAsString(theRTSPRequest, qtssRTSPReqLocalPath, 0, &pathBuffStr); - QTSSCharArrayDeleter pathBuffDeleter(pathBuffStr); - if (theErr != QTSS_NoErr) - { - qtss_printf("In QTSSDemoODAuthModule - Authenticate [QTSS_GetValueAsString]: Error %ld", theErr); - return QTSS_RequestFailed; - } - //get the root movie directory - char* movieRootDirStr = NULL; - theErr = QTSS_GetValueAsString(theRTSPRequest,qtssRTSPReqRootDir, 0, &movieRootDirStr); - OSCharArrayDeleter movieRootDeleter(movieRootDirStr); - if (theErr != QTSS_NoErr) - { - qtss_printf("In QTSSDemoODAuthModule - Authenticate [QTSS_GetValueAsString]: Error %ld", theErr); - return false; - } - //check if this user is allowed to see this movie - char realmName[kBuffLen] = { 0 }; - //StrPtrLen realmNameStr(realmName,kBuffLen -1); - qtss_printf("In QTSSDemoODAuthModule: QTSSAccess movieRootDir is %s\n", movieRootDirStr); - Bool16 allowRequest = ::QTSSAccess(inParams, pathBuffStr, movieRootDirStr, realmName); - qtss_printf("In QTSSDemoODAuthModule: QTSSAccess just happened\n"); - - if ( realmName[0] != '\0' ) //set the realm if we have one - { - (void) QTSS_SetValue(theRTSPRequest,qtssRTSPReqURLRealm, 0, realmName, strlen(realmName) ); - qtss_printf("QTSSDemoODAuthModule in Authenticate(): QTSSAccess realm name is %s\n", realmName); - } - - - if (allowRequest) - { - qtss_printf("In QTSSDemoODAuthModule: Should be no error.\n"); - return QTSS_NoErr; //everything's kosher - let the request continue - } - else //request denied - { - qtss_printf("In QTSSDemoODAuthModule: Auth error\n"); - // We are denying the request so pass false back to the server. - theErr = QTSS_SetValue(theRTSPRequest,qtssRTSPReqUserAllowed, 0, &allowRequest, sizeof(allowRequest)); - if (theErr != QTSS_NoErr) - { qtss_printf("In QTSSDemoODAuthModule: Error %ld\n", theErr); - return QTSS_RequestFailed; // Bail on the request. The Server will handle the error - } - } - - return QTSS_NoErr; -} - - - - - diff --git a/APIModules/QTSSODAuthModule/README b/APIModules/QTSSODAuthModule/README deleted file mode 100644 index a333932..0000000 --- a/APIModules/QTSSODAuthModule/README +++ /dev/null @@ -1,81 +0,0 @@ -///////////////////////////////////////////////////////////////////////// -// -// Open Directory Authorization Module for QuickTime Streaming Server // -// -//////////////////////////////////////////////////////////////////////// - -********************* -* About this module * -********************* - -The module was developed to allow QTSS to leverage Directory Services in Mac OS X Server for user and group information. Previously the user and group information for QTSS were stored in flat files, this would require the administrator to keep two separate user and group databases. This module still relies on qtacess-type file (this module looks for a file named dsqtaccess) for user and group access control lists. It should be noted that this module is for Mac OS X systems only. - -****************** -* How to Install * -****************** - -1. Copy the module file (QTSSDemoODAuthModule.bundle) into the Modules directory (/Library/QuickTimeStreaming/Modules) - -2. Create a dsqtaccess file in the directory you wish to control. You can use the attached template. - -4. Configure Directory Access to point to the directory you wish to gather user and group information. - -3. Restart QTSS. - -******************** -* dsqtaccess files * -******************** - -The dsqtaccess file is based on the qtaccess used by default installs of QTSS. There are some differences though, dsqtaccess files do not honor the following from qtaccess files: - -AuthScheme section -AuthUserFile section -AuthGroupFIle section - section - -dsqtaccess simply ignores these sections, it will not harm the module to keep these section intact, the module will just not honor any of the directives. The AuthScheme is always basic. The AuthUserFile and AuthGroupFile are ignored because user and group information is pulled from Directory Services. - -The sections that are honored are: - -AuthName section -require user section -require group section - ------------------------- -- require user section - ------------------------- - -The "require user" section behaves exactly the same as a standard qtaccess file. This section is configured the same and honors "valid-user" and "any-user". The format is exactly the same, for example if one wanted to restrict access to jdoe and jsmith the following would be entered in the "require user" section: - -require jdoe jsmith - -These users could reside in the local NetInfo database, an LDAPv3 directory, Active Directory, NIS, etc or any combination. - -If one wanted to allow any user that can be authenticated by Directory Service (NetInfo, LDAPv3, AD, etc.) the following would be entered in the "require user" section: - -require valid-user - -The "any-user" will allow all users without need of authentication. - -------------------------- -- require group section - -------------------------- - -The "require group" section behaves exactly as a standard qtacess file. If one wanted to restrict access to a group named "movie-watchers" one would enter the following the "require group" section: - -require group movie-watchers - -The group information can reside in the local NetInfo database, and LDAPv3 directory, Active Directory, NIS, etc or any combination. - -**************** -* Known Issues * -**************** - -- AuthScheme only supports basic authentication. Digest authentication is technically possible but would require quite a few changes not only to the module but also other modules. - - -*********** -* Version * -*********** - -0.1.0 - February 2005 - initial demonstration release diff --git a/APIModules/QTSSODAuthModule/dsqtaccess b/APIModules/QTSSODAuthModule/dsqtaccess deleted file mode 100644 index 2e19e54..0000000 --- a/APIModules/QTSSODAuthModule/dsqtaccess +++ /dev/null @@ -1,41 +0,0 @@ -# dsqtaccess -# A sample access file for Open Directory authentication for QTSS -# ---------------------------------- -# Note: -# For each keyword, the first sentence in the comment -# explains the keyword, and the usage: line explains -# how to use it. Anything not in angle brackets is a keyword -# and keywords are case-sensitive. -# The comment is followed by an example usage - -# AuthName: The authentication realm that will be -# presented to the client (for Basic Authentication only) -# usage: AuthName -# where realm can be a single word or a quoted multi-word string -AuthName "Test" - -# require user: The names next to this specify which user -# is allowed to access the media in this folder. -# -# NOTE: The Seach node in OD is used for looking up users, the module will -# query for users following the search path setup in Directory Access. -# The username should be the user's shortname (RecordName). -# Example: jdoe, johndoe -# -# below are two special cases: -# require any-user => implies any user is allowed without -# requiring authentication -# require valid-user => implies any user that is -# authenticated is allowed access -# usage: require user ... -#require user johndoe -#require valid-user - -# require group: The names of the groups that are allowed -# access to the media in this folder -# -# NOTE: The search node in OD is used for looking up groups, the module will -# follow the search path defined in Directory Access. It should also -# be noted that groups should have unique names across directories. -# usage: require group ... -#require group qtsstest wireless diff --git a/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.cpp b/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.cpp index df67ad9..05c22d5 100644 --- a/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.cpp +++ b/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.h b/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.h index 1b41ad1..f4d9999 100644 --- a/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.h +++ b/APIModules/QTSSPOSIXFileSysModule/QTSSPosixFileSysModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSProxyModule/QTSSProxyModule.cpp b/APIModules/QTSSProxyModule/QTSSProxyModule.cpp index 979e85b..61196ef 100644 --- a/APIModules/QTSSProxyModule/QTSSProxyModule.cpp +++ b/APIModules/QTSSProxyModule/QTSSProxyModule.cpp @@ -2,9 +2,9 @@ * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -670,7 +670,7 @@ UInt32 ReplaceSessionAndTransportHeaders(StrPtrLen* inResponse, iovec* outNewRes { // // Mark off the length of the last section of the header - outNewResponse[curVecIndex].iov_len = ((UInt32) theHeaderName.Ptr) - ((UInt32) outNewResponse[curVecIndex].iov_base ); + outNewResponse[curVecIndex].iov_len = (UInt32) ((PointerSizedUInt) theHeaderName.Ptr) - ((PointerSizedUInt) outNewResponse[curVecIndex].iov_base ); *outNewResponseLen += outNewResponse[curVecIndex].iov_len; // @@ -694,7 +694,7 @@ UInt32 ReplaceSessionAndTransportHeaders(StrPtrLen* inResponse, iovec* outNewRes // // Mark off the length of the last section of the header - outNewResponse[curVecIndex].iov_len = ((UInt32) reqParser.GetCurrentPosition()) - ((UInt32) outNewResponse[curVecIndex].iov_base); + outNewResponse[curVecIndex].iov_len = (UInt32) ((PointerSizedUInt) reqParser.GetCurrentPosition()) - ((PointerSizedUInt) outNewResponse[curVecIndex].iov_base); *outNewResponseLen += outNewResponse[curVecIndex].iov_len; // @@ -731,7 +731,7 @@ UInt32 ReplaceSessionAndTransportHeaders(StrPtrLen* inResponse, iovec* outNewRes // // Finish off the vec by marking the len of the last section - outNewResponse[curVecIndex].iov_len = ((UInt32) reqParser.GetCurrentPosition()) - ((UInt32) outNewResponse[curVecIndex].iov_base ); + outNewResponse[curVecIndex].iov_len = (UInt32) ((PointerSizedUInt) reqParser.GetCurrentPosition()) - ((PointerSizedUInt) outNewResponse[curVecIndex].iov_base ); // // And finish off the total length diff --git a/APIModules/QTSSProxyModule/QTSSProxyModule.h b/APIModules/QTSSProxyModule/QTSSProxyModule.h index 065cbdc..1477464 100644 --- a/APIModules/QTSSProxyModule/QTSSProxyModule.h +++ b/APIModules/QTSSProxyModule/QTSSProxyModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.cpp b/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.cpp index b58c985..f9f0948 100644 --- a/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.cpp +++ b/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.h b/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.h index 28c8000..b3a08f4 100644 --- a/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.h +++ b/APIModules/QTSSRTPFileModule/QTSSRTPFileModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSRTPFileModule/RTPFileSession.cpp b/APIModules/QTSSRTPFileModule/RTPFileSession.cpp index dc292c1..121aa44 100644 --- a/APIModules/QTSSRTPFileModule/RTPFileSession.cpp +++ b/APIModules/QTSSRTPFileModule/RTPFileSession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -31,6 +31,8 @@ */ +#define RTPFILESESSIONDEBUG 0 + #include "RTPFileSession.h" #include "OSMemory.h" @@ -299,6 +301,10 @@ Float64 RTPFileSession::GetNextPacket(UInt8** outPacket, UInt32* outPacketLength { if (fCurrentPosition == fFileLength) { + +#if RTPFILESESSIONDEBUG + qtss_printf("RTPFileSession::GetNextPacket fCurrentPosition == fFileLength quit\n"); +#endif *outPacket = NULL; return -1; } @@ -383,7 +389,7 @@ void RTPFileSession::ReadAndAdvise() // Read the next block. There should always be at least one packet // here, as we have a valid block in the block table. #if RTPFILESESSIONDEBUG - qtss_printf("Moving onto next block. File loc: %qd\n",fFileSource.GetCurOffset()); + //qtss_printf("Moving onto next block. File loc: %qd\n",fFileSource.GetCurOffset()); #endif fDataBufferLen = 0; //(void)fFileSource.Read(fDataBuffer, fDataBufferSize, &fDataBufferLen); diff --git a/APIModules/QTSSRTPFileModule/RTPFileSession.h b/APIModules/QTSSRTPFileModule/RTPFileSession.h index c71af9a..8964844 100644 --- a/APIModules/QTSSRTPFileModule/RTPFileSession.h +++ b/APIModules/QTSSRTPFileModule/RTPFileSession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.cpp b/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.cpp index a337e1d..f5a6c3e 100644 --- a/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.cpp +++ b/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -273,7 +273,7 @@ QTSS_Error Preprocess(QTSS_StandardRTSP_Params* inParams) theReadOffset += theRecvLen; theOffset += theRecvLen; #if RAW_FILE_DEBUGGING - qtss_printf("Got %lu bytes back from file read. Now at: %"_64BITARG_"u\n", theRecvLen, theOffset); + qtss_printf("Got %"_U32BITARG_" bytes back from file read. Now at: %"_64BITARG_"u\n", theRecvLen, theOffset); #endif if (theReadOffset < theBufferSize) { @@ -314,7 +314,7 @@ QTSS_Error Preprocess(QTSS_StandardRTSP_Params* inParams) &theWrittenLen); theWriteOffset += theWrittenLen; #if RAW_FILE_DEBUGGING - qtss_printf("Got %lu bytes back from socket write.\n", theWrittenLen); + qtss_printf("Got %"_U32BITARG_" bytes back from socket write.\n", theWrittenLen); #endif if (theWriteOffset < theBufferSize) { diff --git a/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.h b/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.h index 77bc964..54f040c 100644 --- a/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.h +++ b/APIModules/QTSSRawFileModule.bproj/QTSSRawFileModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.cpp b/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.cpp index 2f1c90e..75c58b4 100644 --- a/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.cpp +++ b/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.h b/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.h index 06b10a9..eee1127 100644 --- a/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.h +++ b/APIModules/QTSSRefMovieModule/QTSSRefMovieModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/QTSSReflectorModule.cpp b/APIModules/QTSSReflectorModule/QTSSReflectorModule.cpp index db3d086..780feba 100644 --- a/APIModules/QTSSReflectorModule/QTSSReflectorModule.cpp +++ b/APIModules/QTSSReflectorModule/QTSSReflectorModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -49,6 +49,7 @@ #include "StringParser.h" #include "QTAccessFile.h" #include "QTSSModuleUtils.h" +#include "QTSS3GPPModuleUtils.h" //ReflectorOutput objects #include "RTPSessionOutput.h" @@ -378,6 +379,7 @@ QTSS_Error Initialize(QTSS_Initialize_Params* inParams) { // Setup module utils QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); + QTSS3GPPModuleUtils::Initialize(inParams); QTAccessFile::Initialize(); sSessionMap = NEW OSRefTable(); sServerPrefs = inParams->inPrefs; @@ -588,6 +590,8 @@ QTSS_Error RereadPrefs() KillCommandPathInList(); + QTSS3GPPModuleUtils::ReadPrefs(); + return QTSS_NoErr; } @@ -613,11 +617,11 @@ QTSS_Error ProcessRTPData(QTSS_IncomingData_Params* inParams) if (!sBroadcastPushEnabled) return QTSS_NoErr; - //qtss_printf("QTSSReflectorModule:ProcessRTPData inRTSPSession=%lu inClientSession=%lu\n",inParams->inRTSPSession, inParams->inClientSession); + //qtss_printf("QTSSReflectorModule:ProcessRTPData inRTSPSession=%"_U32BITARG_" inClientSession=%"_U32BITARG_"\n",inParams->inRTSPSession, inParams->inClientSession); ReflectorSession* theSession = NULL; UInt32 theLen = sizeof(theSession); QTSS_Error theErr = QTSS_GetValue(inParams->inRTSPSession, sRTSPBroadcastSessionAttr, 0, &theSession, &theLen); - //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData sClientBroadcastSessionAttr=%lu theSession=%lu err=%ld \n",sClientBroadcastSessionAttr, theSession,theErr); + //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData sClientBroadcastSessionAttr=%"_U32BITARG_" theSession=%"_U32BITARG_" err=%"_S32BITARG_" \n",sClientBroadcastSessionAttr, theSession,theErr); if (theSession == NULL || theErr != QTSS_NoErr) return QTSS_NoErr; @@ -631,7 +635,7 @@ QTSS_Error ProcessRTPData(QTSS_IncomingData_Params* inParams) UInt32 numStreams = theSession->GetNumStreams(); - //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData numStreams=%lu\n",numStreams); + //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData numStreams=%"_U32BITARG_"\n",numStreams); { /* @@ -655,7 +659,7 @@ QTSS_Error ProcessRTPData(QTSS_IncomingData_Params* inParams) char* rtpPacket = &packetData[4]; //UInt32 packetLen = inParams->inPacketLen; - //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData channel=%u theSoureInfo=%lu packetLen=%lu packetDatalen=%u\n",(UInt16) packetChannel,theSoureInfo,inParams->inPacketLen,packetDataLen); + //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData channel=%u theSoureInfo=%"_U32BITARG_" packetLen=%"_U32BITARG_" packetDatalen=%u\n",(UInt16) packetChannel,theSoureInfo,inParams->inPacketLen,packetDataLen); if (1) { @@ -674,7 +678,7 @@ QTSS_Error ProcessRTPData(QTSS_IncomingData_Params* inParams) isRTCP = true; } theStream->PushPacket(rtpPacket,packetDataLen, isRTCP); - //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData Send RTSP packet channel=%u to UDP localServerAddr=%lu serverReceivePort=%lu packetDataLen=%u \n", (UInt16) packetChannel, localServerAddr, serverReceivePort,packetDataLen); + //qtss_printf("QTSSReflectorModule.cpp:ProcessRTPData Send RTSP packet channel=%u to UDP localServerAddr=%"_U32BITARG_" serverReceivePort=%"_U32BITARG_" packetDataLen=%u \n", (UInt16) packetChannel, localServerAddr, serverReceivePort,packetDataLen); } } } @@ -685,8 +689,10 @@ QTSS_Error ProcessRTPData(QTSS_IncomingData_Params* inParams) QTSS_Error ProcessRTSPRequest(QTSS_StandardRTSP_Params* inParams) { + OSMutexLocker locker (sSessionMap->GetMutex()); //operating on sOutputAttr + QTSS_RTSPMethod* theMethod = NULL; - //qtss_printf("QTSSReflectorModule:ProcessRTSPRequest inClientSession=%lu\n", (UInt32) inParams->inClientSession); + //qtss_printf("QTSSReflectorModule:ProcessRTSPRequest inClientSession=%"_U32BITARG_"\n", (UInt32) inParams->inClientSession); UInt32 theLen = 0; if ((QTSS_GetValuePtr(inParams->inRTSPRequest, qtssRTSPReqMethod, 0, (void**)&theMethod, &theLen) != QTSS_NoErr) || (theLen != sizeof(QTSS_RTSPMethod))) @@ -801,6 +807,7 @@ ReflectorSession* DoSessionSetup(QTSS_StandardRTSP_Params* inParams, QTSS_Attrib } return NULL; } + return NULL; } void DoAnnounceAddRequiredSDPLines(QTSS_StandardRTSP_Params* inParams, ResizeableStringFormatter *editedSDP, char* theSDPPtr) @@ -844,7 +851,7 @@ void DoAnnounceAddRequiredSDPLines(QTSS_StandardRTSP_Params* inParams, Resizeabl (void)QTSS_GetValue(inParams->inClientSession, qtssCliSesFirstUserAgent, 0, nameStr, &buffLen); for (UInt32 c = 0; c < buffLen; c++) { - if (StringParser::sEOLWhitespaceMask[nameStr[c]]) + if (StringParser::sEOLWhitespaceMask[ (UInt8) nameStr[c]]) { nameStr[c] = 0; break; } @@ -1114,7 +1121,7 @@ void DoDescribeAddRequiredSDPLines(QTSS_StandardRTSP_Params* inParams, Reflector editedSDP->Put("o=broadcast_sdp "); char tempBuff[256]= ""; tempBuff[255] = 0; - qtss_snprintf(tempBuff,sizeof(tempBuff) - 1, "%lu", (UInt32) theSession); + qtss_snprintf(tempBuff,sizeof(tempBuff) - 1, "%"_U32BITARG_"", *(UInt32 *) &theSession); editedSDP->Put(tempBuff); editedSDP->Put(" "); @@ -1150,19 +1157,12 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParams) // If there already was an RTPSessionOutput attached to this Client Session, // destroy it. - if (theErr == QTSS_NoErr) - RemoveOutput(*theOutput, (*theOutput)->GetReflectorSession(), false); + if (theErr == QTSS_NoErr && theOutput != NULL) + { RemoveOutput(*theOutput, (*theOutput)->GetReflectorSession(), false); + RTPSessionOutput* theOutput = NULL; + (void)QTSS_SetValue(inParams->inClientSession, sOutputAttr, 0, &theOutput, sizeof(theOutput)); -#if 0 - // we should not be messing with the output until we setup the streams see below in DoSetup - // enabling this code means packets could be sent to the output (the client) when the client has even't setup yet. - RTPSessionOutput* theNewOutput = NEW RTPSessionOutput(inParams->inClientSession, theSession, sServerPrefs, sStreamCookieAttr ); - theSession->AddOutput(theNewOutput,true); - - // And vice-versa, store this reflector session in the RTP session. - (void)QTSS_SetValue(inParams->inClientSession, sOutputAttr, 0, &theNewOutput, sizeof(theNewOutput)); -#endif - + } // send the DESCRIBE response //above function has signalled that this request belongs to us, so let's respond @@ -1217,8 +1217,11 @@ QTSS_Error DoDescribe(QTSS_StandardRTSP_Params* inParams) if (adjustMediaBandwidth) adjustMediaBandwidthPercent = (Float32) sAdjustMediaBandwidthPercent / 100.0; - SDPLineSorter sortedSDP(&checkedSDPContainer,adjustMediaBandwidthPercent); - + ResizeableStringFormatter buffer; + SDPContainer* insertMediaLines = QTSS3GPPModuleUtils::Get3GPPSDPFeatureListCopy(buffer); + SDPLineSorter sortedSDP(&checkedSDPContainer,adjustMediaBandwidthPercent,insertMediaLines); + delete insertMediaLines; + // ------------ Write the SDP UInt32 sessLen = sortedSDP.GetSessionHeaders()->Len; @@ -1355,7 +1358,7 @@ ReflectorSession* FindOrCreateSession(StrPtrLen* inPath, QTSS_StandardRTSP_Param return NULL; } - //qtss_printf("Created reflector session = %lu theInfo=%lu \n", (UInt32) theSession,(UInt32)theInfo); + //qtss_printf("Created reflector session = %"_U32BITARG_" theInfo=%"_U32BITARG_" \n", (UInt32) theSession,(UInt32)theInfo); //put the session's ID into the session map. theErr = sSessionMap->Register(theSession->GetRef()); Assert(theErr == QTSS_NoErr); @@ -1379,9 +1382,6 @@ ReflectorSession* FindOrCreateSession(StrPtrLen* inPath, QTSS_StandardRTSP_Param return NULL; } - if (isPush) - sSessionMap->Release(theSessionRef); // don't need if a push;// don't need if a push; A Release is necessary or we will leak ReflectorSessions. - if (foundSessionPtr) *foundSessionPtr = true; @@ -1475,7 +1475,7 @@ ReflectorSession* FindOrCreateSession(StrPtrLen* inPath, QTSS_StandardRTSP_Param return NULL; } - //printf("Created reflector session = %lu theInfo=%lu \n", (UInt32) theSession,(UInt32)theInfo); + //printf("Created reflector session = %"_U32BITARG_" theInfo=%"_U32BITARG_" \n", (UInt32) theSession,(UInt32)theInfo); //put the session's ID into the session map. theErr = sSessionMap->Register(theSession->GetRef()); Assert(theErr == QTSS_NoErr); @@ -1630,7 +1630,7 @@ QTSS_Error DoSetup(QTSS_StandardRTSP_Params* inParams) // This is an incoming data session. Set the Reflector Session in the ClientSession theErr = QTSS_SetValue(inParams->inClientSession, sClientBroadcastSessionAttr, 0, &theSession, sizeof(theSession)); Assert(theErr == QTSS_NoErr); - //qtss_printf("QTSSReflectorModule.cpp:SETsession sClientBroadcastSessionAttr=%lu theSession=%lu err=%ld \n",(UInt32)sClientBroadcastSessionAttr, (UInt32) theSession,theErr); + //qtss_printf("QTSSReflectorModule.cpp:SETsession sClientBroadcastSessionAttr=%"_U32BITARG_" theSession=%"_U32BITARG_" err=%"_S32BITARG_" \n",(UInt32)sClientBroadcastSessionAttr, (UInt32) theSession,theErr); (void) QTSS_SetValue(inParams->inClientSession, qtssCliSesTimeoutMsec, 0, &sBroadcasterSessionTimeoutMilliSecs, sizeof(sBroadcasterSessionTimeoutMilliSecs)); } } @@ -1815,10 +1815,10 @@ Bool16 HaveStreamBuffers(QTSS_StandardRTSP_Params* inParams, ReflectorSession* i theReflectorStream = inSession->GetStreamByIndex(theStreamIndex); // if (!theReflectorStream->HasFirstRTCP()) - // printf("theStreamIndex =%lu no rtcp\n", theStreamIndex); + // printf("theStreamIndex =%"_U32BITARG_" no rtcp\n", theStreamIndex); // if (!theReflectorStream->HasFirstRTP()) - // printf("theStreamIndex = %lu no rtp\n", theStreamIndex); + // printf("theStreamIndex = %"_U32BITARG_" no rtp\n", theStreamIndex); if ((theReflectorStream == NULL) || (false == theReflectorStream->HasFirstRTP()) ) { @@ -1829,7 +1829,7 @@ Bool16 HaveStreamBuffers(QTSS_StandardRTSP_Params* inParams, ReflectorSession* i theSender = theReflectorStream->GetRTPSender(); haveBufferedStreams = theSender->GetFirstPacketInfo(&firstSeqNum, &firstTimeStamp, &packetArrivalTime); - //printf("theStreamIndex= %lu haveBufferedStreams=%d, seqnum=%d, timestamp=%lu\n", theStreamIndex, haveBufferedStreams, firstSeqNum, firstTimeStamp); + //printf("theStreamIndex= %"_U32BITARG_" haveBufferedStreams=%d, seqnum=%d, timestamp=%"_U32BITARG_"\n", theStreamIndex, haveBufferedStreams, firstSeqNum, firstTimeStamp); if (!haveBufferedStreams) { @@ -1880,7 +1880,7 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParams, ReflectorSession* inSessio - //qtss_printf("QTSSReflectorModule:SET for att err=%ld id=%ld\n",theErr,inParams->inRTSPSession); + //qtss_printf("QTSSReflectorModule:SET for att err=%"_S32BITARG_" id=%"_S32BITARG_"\n",theErr,inParams->inRTSPSession); // this code needs to be cleaned up // Check and see if the full path to this file matches an existing ReflectorSession @@ -1923,10 +1923,20 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParams, ReflectorSession* inSessio KeepSession(inParams->inRTSPRequest,true); - //qtss_printf("QTSSReflectorModule.cpp:DoPlay (PUSH) inRTSPSession=%lu inClientSession=%lu\n",(UInt32)inParams->inRTSPSession,(UInt32)inParams->inClientSession); + //qtss_printf("QTSSReflectorModule.cpp:DoPlay (PUSH) inRTSPSession=%"_U32BITARG_" inClientSession=%"_U32BITARG_"\n",(UInt32)inParams->inRTSPSession,(UInt32)inParams->inClientSession); } else// it is NOT a broadcaster session - { + { + + RTPSessionOutput** theOutput = NULL; + theLen = 0; + theErr = QTSS_GetValuePtr(inParams->inClientSession, sOutputAttr, 0, (void**)&theOutput, &theLen); + if ((theErr != QTSS_NoErr) || (theLen != sizeof(RTPSessionOutput*)) || (theOutput == NULL)) + return QTSS_RequestFailed; + (*theOutput)->InitializeStreams(); + + + // Tell the session what the bitrate of this reflection is. This is nice for logging, // it also allows the server to scale the TCP buffer size appropriately if we are // interleaving the data over TCP. This must be set before calling QTSS_Play so the @@ -1983,7 +1993,9 @@ QTSS_Error DoPlay(QTSS_StandardRTSP_Params* inParams, ReflectorSession* inSessio } - SInt64 interval = 1 * 1000; // 1 second + //qtss_printf("QTSSReflectorModule:DoPlay wait 100ms waitTimeLoopCount=%ld\n", waitTimeLoopCount); + + SInt64 interval = 1 * 100; // 100 millisecond QTSS_SetIdleTimer( interval ); return QTSS_NoErr; } @@ -2056,9 +2068,11 @@ QTSS_Error DestroySession(QTSS_ClientSessionClosing_Params* inParams) ReflectorOutput* outputPtr = NULL; ReflectorSession* theSession = NULL; + OSMutexLocker locker (sSessionMap->GetMutex()); + UInt32 theLen = sizeof(theSession); QTSS_Error theErr = QTSS_GetValue(inParams->inClientSession, sClientBroadcastSessionAttr, 0, &theSession, &theLen); - //qtss_printf("QTSSReflectorModule.cpp:DestroySession sClientBroadcastSessionAttr=%lu theSession=%lu err=%ld \n",(UInt32)sClientBroadcastSessionAttr, (UInt32)theSession,theErr); + //qtss_printf("QTSSReflectorModule.cpp:DestroySession sClientBroadcastSessionAttr=%"_U32BITARG_" theSession=%"_U32BITARG_" err=%"_S32BITARG_" \n",(UInt32)sClientBroadcastSessionAttr, (UInt32)theSession,theErr); if (theSession != NULL) // it is a broadcaster session { ReflectorSession* deletedSession = NULL; @@ -2082,7 +2096,7 @@ QTSS_Error DestroySession(QTSS_ClientSessionClosing_Params* inParams) (void) QTSS_GetValue(inParams->inClientSession, sKillClientsEnabledAttr, 0, &killClients, &theLen); - //qtss_printf("QTSSReflectorModule.cpp:DestroySession broadcaster theSession=%lu\n", (UInt32) theSession); + //qtss_printf("QTSSReflectorModule.cpp:DestroySession broadcaster theSession=%"_U32BITARG_"\n", (UInt32) theSession); theSession->RemoveSessionFromOutput(inParams->inClientSession); RemoveOutput(NULL, theSession, killClients); } @@ -2090,7 +2104,7 @@ QTSS_Error DestroySession(QTSS_ClientSessionClosing_Params* inParams) { theLen = 0; theErr = QTSS_GetValuePtr(inParams->inClientSession, sOutputAttr, 0, (void**)&theOutput, &theLen); - if ((theErr != QTSS_NoErr) || (theLen != sizeof(RTPSessionOutput*)) || (theOutput == NULL)) + if ((theErr != QTSS_NoErr) || (theLen != sizeof(RTPSessionOutput*)) || (theOutput == NULL) || (*theOutput == NULL)) return QTSS_RequestFailed; theSession = (*theOutput)->GetReflectorSession(); @@ -2098,7 +2112,12 @@ QTSS_Error DestroySession(QTSS_ClientSessionClosing_Params* inParams) outputPtr = (ReflectorOutput*) *theOutput; if (outputPtr != NULL) + { RemoveOutput(outputPtr, theSession, false); + RTPSessionOutput* theOutput = NULL; + (void)QTSS_SetValue(inParams->inClientSession, sOutputAttr, 0, &theOutput, sizeof(theOutput)); + + } } @@ -2108,13 +2127,13 @@ QTSS_Error DestroySession(QTSS_ClientSessionClosing_Params* inParams) void RemoveOutput(ReflectorOutput* inOutput, ReflectorSession* inSession, Bool16 killClients) { //qtss_printf("QTSSReflectorModule.cpp:RemoveOutput\n"); - // This function removes the output from the ReflectorSession, then + //This function removes the output from the ReflectorSession, then Assert(inSession); if (inSession != NULL) { if (inOutput != NULL) - { inSession->RemoveOutput(inOutput,true); - //qtss_printf("QTSSReflectorModule.cpp:RemoveOutput it is a client session\n"); + { + inSession->RemoveOutput(inOutput,true); } else { // it is a Broadcaster session @@ -2127,42 +2146,42 @@ void RemoveOutput(ReflectorOutput* inOutput, ReflectorSession* inSession, Bool16 FileDeleter(inSession->GetSourcePath()); } - + if (killClients || sTearDownClientsOnDisconnect) - { inSession->TearDownAllOutputs(); + { + inSession->TearDownAllOutputs(); } } - - //qtss_printf("QTSSReflectorModule.cpp:RemoveOutput refcount =%lu\n", inSession->GetRef()->GetRefCount() ); - - //check if the ReflectorSession should be deleted - //(it should if its ref count has dropped to 0) - OSMutexLocker locker (sSessionMap->GetMutex()); - //decrement the ref count + //qtss_printf("QTSSReflectorModule.cpp:RemoveOutput refcount =%"_U32BITARG_"\n", inSession->GetRef()->GetRefCount() ); + + //check if the ReflectorSession should be deleted + //it should if its ref count has dropped to 0 OSRef* theSessionRef = inSession->GetRef(); if (theSessionRef != NULL) { - if (theSessionRef->GetRefCount() == 0) - { sSessionMap->UnRegister(theSessionRef);// we had an error while setting up - delete inSession; + //qtss_printf("QTSSReflectorModule.cpp:RemoveOutput UnRegister session =%p refcount=%"_U32BITARG_"\n", theSessionRef, theSessionRef->GetRefCount() ) ; + + for (UInt32 x = 0; x < inSession->GetNumStreams(); x++) + { + if (inSession->GetStreamByIndex(x) == NULL) + continue; + + Assert(theSessionRef->GetRefCount() > 0) //this shouldn't happen. + if (theSessionRef->GetRefCount() > 0) + sSessionMap->Release(theSessionRef); // one of the sessions on the ref is ending so decrement the count for each valid stream } - else if (theSessionRef->GetRefCount() == 1) - { - //qtss_printf("QTSSReflector.cpp:RemoveOutput Delete SESSION=%lu\n",(UInt32)inSession); - sSessionMap->Release(theSessionRef); - sSessionMap->UnRegister(theSessionRef); // the last session so get rid of the ref + + if (theSessionRef->GetRefCount() == 0) + { + //qtss_printf("QTSSReflectorModule.cpp:RemoveOutput UnRegister and delete session =%p refcount=%"_U32BITARG_"\n", theSessionRef, theSessionRef->GetRefCount() ) ; + sSessionMap->UnRegister(theSessionRef); delete inSession; } - else - { - //qtss_printf("QTSSReflector.cpp:RemoveOutput Release SESSION=%lu\n",(UInt32)inSession); - sSessionMap->Release(theSessionRef); // one of the sessions on the ref is ending just decrement the count - } - + } } - + delete inOutput; } @@ -2172,6 +2191,10 @@ Bool16 AcceptSession(QTSS_StandardRTSP_Params* inParams) QTSS_RTSPSessionObject inRTSPSession = inParams->inRTSPSession; QTSS_RTSPRequestObject theRTSPRequest = inParams->inRTSPRequest; + QTSS_ActionFlags action = QTSSModuleUtils::GetRequestActions(theRTSPRequest); + if(action != qtssActionFlagsWrite) + return false; + if (QTSSModuleUtils::UserInGroup(QTSSModuleUtils::GetUserProfileObject(theRTSPRequest), sBroadcasterGroup.Ptr, sBroadcasterGroup.Len)) return true; // ok we are allowing this broadcaster user @@ -2198,13 +2221,29 @@ Bool16 AcceptSession(QTSS_StandardRTSP_Params* inParams) QTSS_Error ReflectorAuthorizeRTSPRequest(QTSS_StandardRTSP_Params* inParams) { if ( AcceptSession(inParams) ) + { + Bool16 allowed = true; + QTSS_RTSPRequestObject request = inParams->inRTSPRequest; + (void) QTSSModuleUtils::AuthorizeRequest(request, &allowed, &allowed, &allowed); return QTSS_NoErr; + } Bool16 allowNoAccessFiles = false; - QTSS_ActionFlags noAction = qtssActionFlagsRead; - QTSS_ActionFlags authorizeAction = qtssActionFlagsWrite; - - return QTAccessFile::AuthorizeRequest(inParams,allowNoAccessFiles, noAction, authorizeAction); + QTSS_ActionFlags noAction = ~qtssActionFlagsWrite; //no action anything but a write + QTSS_ActionFlags authorizeAction = QTSSModuleUtils::GetRequestActions(inParams->inRTSPRequest); + //printf("ReflectorAuthorizeRTSPRequest authorizeAction=%d qtssActionFlagsWrite=%d\n", authorizeAction, qtssActionFlagsWrite); + Bool16 outAllowAnyUser = false; + Bool16 outAuthorized = false; + QTAccessFile accessFile; + accessFile.AuthorizeRequest(inParams,allowNoAccessFiles, noAction, authorizeAction, &outAuthorized, &outAllowAnyUser); + + if( (outAuthorized == false) && (authorizeAction & qtssActionFlagsWrite) ) //handle it + { + //printf("ReflectorAuthorizeRTSPRequest SET not allowed\n"); + Bool16 allowed = false; + (void) QTSSModuleUtils::AuthorizeRequest(inParams->inRTSPRequest, &allowed, &allowed, &allowed); + } + return QTSS_NoErr; } QTSS_Error RedirectBroadcast(QTSS_StandardRTSP_Params* inParams) @@ -2264,7 +2303,7 @@ Bool16 InBroadcastDirList(QTSS_RTSPRequestObject inRTSPRequest) char* theLocalPathStr; (void)QTSS_GetValueAsString(inRTSPRequest, qtssRTSPReqLocalPath, 0, &theLocalPathStr); - StrPtrLen requestPath(theLocalPathStr); + StrPtrLenDel requestPath(theLocalPathStr); char* theRequestPathStr = NULL; char* theBroadcastDirStr = NULL; diff --git a/APIModules/QTSSReflectorModule/QTSSReflectorModule.h b/APIModules/QTSSReflectorModule/QTSSReflectorModule.h index bf8ba5d..17478ec 100644 --- a/APIModules/QTSSReflectorModule/QTSSReflectorModule.h +++ b/APIModules/QTSSReflectorModule/QTSSReflectorModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/QTSSRelayModule.cpp b/APIModules/QTSSReflectorModule/QTSSRelayModule.cpp index 88850a3..f14a897 100644 --- a/APIModules/QTSSReflectorModule/QTSSRelayModule.cpp +++ b/APIModules/QTSSReflectorModule/QTSSRelayModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -502,7 +502,7 @@ QTSS_Error Filter(QTSS_StandardRTSP_Params* inParams) // Write current stats for this output char theStatsBuf[1024]; - qtss_sprintf(theStatsBuf, "Current stats for this relay: %lu packets per second. %lu bits per second. %"_64BITARG_"d packets since it started. %"_64BITARG_"d bits since it started

", theOutput->GetCurPacketsPerSecond(), theOutput->GetCurBitsPerSecond(), theOutput->GetTotalPacketsSent(), theOutput->GetTotalBytesSent()); + qtss_sprintf(theStatsBuf, "Current stats for this relay: %"_U32BITARG_" packets per second. %"_U32BITARG_" bits per second. %"_64BITARG_"d packets since it started. %"_64BITARG_"d bits since it started

", theOutput->GetCurPacketsPerSecond(), theOutput->GetCurBitsPerSecond(), theOutput->GetTotalPacketsSent(), theOutput->GetTotalBytesSent()); (void)QTSS_Write(inParams->inRTSPRequest, &theStatsBuf[0], ::strlen(theStatsBuf), NULL, 0); } } @@ -608,7 +608,7 @@ QTSS_Error SetupAnnouncedSessions(QTSS_StandardRTSP_Params* inParams) OSMutexLocker locker(RelayOutput::GetQueueMutex()); - RTSPSessionIDQueueElem* theElem = FindRTSPSessionIDQueueElem(*theSessionID); + RTSPSessionIDQueueElem* theElem = FindRTSPSessionIDQueueElem(*theSessionID); // If the RTSPSessionID is not in the queue if (theElem == NULL) @@ -632,7 +632,9 @@ QTSS_Error SetupAnnouncedSessions(QTSS_StandardRTSP_Params* inParams) // Remove the session ID from the queue sRTSPSessionIDQueue->Remove(&theElem->fElem); - + delete theElem; + theElem = 0; + // Get the Remote IP address UInt32* theIP = 0; theLen = 0; diff --git a/APIModules/QTSSReflectorModule/QTSSRelayModule.h b/APIModules/QTSSReflectorModule/QTSSRelayModule.h index c30db7f..a2dcd94 100644 --- a/APIModules/QTSSReflectorModule/QTSSRelayModule.h +++ b/APIModules/QTSSReflectorModule/QTSSRelayModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/QTSSSplitterModule.cpp b/APIModules/QTSSReflectorModule/QTSSSplitterModule.cpp index 20a415f..8c0d555 100644 --- a/APIModules/QTSSReflectorModule/QTSSSplitterModule.cpp +++ b/APIModules/QTSSReflectorModule/QTSSSplitterModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -457,7 +457,7 @@ QTSS_Error HandleSourceInfoErr(QTSS_Error rtspSourceInfoErr, QTSS_StandardRTSP_P { // This happens if the remote host responded with an error. char tempBuf[20]; - qtss_sprintf(tempBuf, "%lu", inClient->GetStatus()); + qtss_sprintf(tempBuf, "%"_U32BITARG_"", inClient->GetStatus()); StrPtrLen tempBufPtr(&tempBuf[0]); return QTSSModuleUtils::SendErrorResponse(inParams->inRTSPRequest, qtssServerGatewayTimeout, sRemoteHostRespondedWithAnErrorErr, &tempBufPtr); diff --git a/APIModules/QTSSReflectorModule/QTSSSplitterModule.h b/APIModules/QTSSReflectorModule/QTSSSplitterModule.h index 9b17efe..34e2e52 100644 --- a/APIModules/QTSSReflectorModule/QTSSSplitterModule.h +++ b/APIModules/QTSSReflectorModule/QTSSSplitterModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RCFSourceInfo.cpp b/APIModules/QTSSReflectorModule/RCFSourceInfo.cpp index 50cbe59..cc4d245 100644 --- a/APIModules/QTSSReflectorModule/RCFSourceInfo.cpp +++ b/APIModules/QTSSReflectorModule/RCFSourceInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RCFSourceInfo.h b/APIModules/QTSSReflectorModule/RCFSourceInfo.h index 462d62d..f2b1ba9 100644 --- a/APIModules/QTSSReflectorModule/RCFSourceInfo.h +++ b/APIModules/QTSSReflectorModule/RCFSourceInfo.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RTPSessionOutput.cpp b/APIModules/QTSSReflectorModule/RTPSessionOutput.cpp index fefd642..91aaa71 100644 --- a/APIModules/QTSSReflectorModule/RTPSessionOutput.cpp +++ b/APIModules/QTSSReflectorModule/RTPSessionOutput.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -44,6 +44,8 @@ #endif // ATTRIBUTES +static QTSS_AttributeID sStreamPacketCountAttr = qtssIllegalAttrID; + static QTSS_AttributeID sNextSeqNumAttr = qtssIllegalAttrID; static QTSS_AttributeID sSeqNumOffsetAttr = qtssIllegalAttrID; @@ -65,7 +67,6 @@ static QTSS_AttributeID sBaseArrivalTimeStampAttr = qtssIllegalAttrID; static QTSS_AttributeID sStreamSSRCAttr = qtssIllegalAttrID; static QTSS_AttributeID sStreamByteCountAttr = qtssIllegalAttrID; -static QTSS_AttributeID sStreamPacketCountAttr = qtssIllegalAttrID; static QTSS_AttributeID sLastRTPTimeStampAttr = qtssIllegalAttrID; @@ -191,9 +192,26 @@ Bool16 RTPSessionOutput::IsPlaying() if (theLen == 0 || theState == NULL || *theState != qtssPlayingState) return false; + return true; } +void RTPSessionOutput::InitializeStreams() +{ + + UInt32 theLen = 0; + QTSS_RTPStreamObject* theStreamPtr = NULL; + UInt32 packetCountInitValue = 0; + + for (SInt16 z = 0; QTSS_GetValuePtr(fClientSession, qtssCliSesStreamObjects, z, (void**)&theStreamPtr, &theLen) == QTSS_NoErr; z++) + { + (void) QTSS_SetValue(*theStreamPtr, sStreamPacketCountAttr, 0, &packetCountInitValue, sizeof(UInt32)); + } + +} + + + Bool16 RTPSessionOutput::IsUDP() { if (fTransportInitialized) @@ -230,10 +248,15 @@ Bool16 RTPSessionOutput::IsUDP() } - Bool16 RTPSessionOutput::FilterPacket(QTSS_RTPStreamObject *theStreamPtr, StrPtrLen* inPacket) { - if (fPreFilter == false) + + UInt32* packetCountPtr = NULL; + UInt32 theLen = 0; + + //see if we started sending and if so then just keep sending (reset on a play) + QTSS_Error writeErr = QTSS_GetValuePtr(*theStreamPtr, sStreamPacketCountAttr, 0,(void**) &packetCountPtr,&theLen); + if (writeErr == QTSS_NoErr && theLen > 0 && *packetCountPtr > 0) return false; Assert(theStreamPtr); @@ -241,14 +264,19 @@ Bool16 RTPSessionOutput::FilterPacket(QTSS_RTPStreamObject *theStreamPtr, StrPt UInt16 seqnum = this->GetPacketSeqNumber(inPacket); UInt16 firstSeqNum = 0; - UInt32 theLen = sizeof(firstSeqNum); - + theLen = sizeof(firstSeqNum); + if ( QTSS_NoErr != QTSS_GetValue(*theStreamPtr, qtssRTPStrFirstSeqNumber, 0, &firstSeqNum, &theLen) ) - return true; + return true; if ( seqnum < firstSeqNum ) + { + //printf("RTPSessionOutput::FilterPacket don't send packet = %u < first=%lu\n", seqnum, firstSeqNum); return true; - + } + + //printf("RTPSessionOutput::FilterPacket found first packet = %u \n", firstSeqNum); + fPreFilter = false; return fPreFilter; } @@ -365,7 +393,7 @@ QTSS_Error RTPSessionOutput::TrackRTCPBaseTime(QTSS_RTPStreamObject *theStreamP (void) QTSS_SetValue(*theStreamPtr, qtssRTPStrFirstTimestamp, 0, &baseTimeStamp, sizeof(baseTimeStamp)); fMustSynch = false; - //printf("fBaseArrivalTime =%qd baseTimeStamp %lu streamStartTime=%qd diff =%qd\n", fBaseArrivalTime, baseTimeStamp, firstStreamArrivalTime, arrivalTimeDiffMSecs); + //printf("fBaseArrivalTime =%qd baseTimeStamp %"_U32BITARG_" streamStartTime=%qd diff =%qd\n", fBaseArrivalTime, baseTimeStamp, firstStreamArrivalTime, arrivalTimeDiffMSecs); } } @@ -411,7 +439,7 @@ QTSS_Error RTPSessionOutput::RewriteRTCP(QTSS_RTPStreamObject *theStreamPtr, St Float64 rtpTimeFromStart = (Float64) packetOffset / (Float64) 1000.0; UInt32 rtpTimeFromStartInScale = (UInt32) (Float64) ((Float64) streamTimeScale * rtpTimeFromStart); - //printf("rtptime offset time =%f in scale =%lu\n", rtpTimeFromStart, rtpTimeFromStartInScale ); + //printf("rtptime offset time =%f in scale =%"_U32BITARG_"\n", rtpTimeFromStart, rtpTimeFromStartInScale ); theReport += 2; // point to the rtp time stamp of "now" synched and scaled in stream time *theReport = htonl(baseTimeStamp + rtpTimeFromStartInScale); @@ -478,13 +506,10 @@ QTSS_Error RTPSessionOutput::TrackRTPPackets(QTSS_RTPStreamObject *theStreamPtr Assert(writeErr == QTSS_NoErr); UInt32 initValue = 0; - writeErr = QTSS_SetValue(*theStreamPtr, sStreamPacketCountAttr, 0, &initValue, sizeof(UInt32)); - Assert(writeErr == QTSS_NoErr); - writeErr = QTSS_SetValue(*theStreamPtr, sStreamByteCountAttr, 0, &initValue, sizeof(UInt32)); Assert(writeErr == QTSS_NoErr); - //printf("first rtp on stream stream=%lu ssrc=%lu rtpTime=%lu arrivalTimeMSecPtr=%qd currentTime=%qd\n",(UInt32) theStreamPtr, theSSRC, rtpTime, *arrivalTimeMSecPtr, *currentTimePtr); + //printf("first rtp on stream stream=%"_U32BITARG_" ssrc=%"_U32BITARG_" rtpTime=%"_U32BITARG_" arrivalTimeMSecPtr=%qd currentTime=%qd\n",(UInt32) theStreamPtr, theSSRC, rtpTime, *arrivalTimeMSecPtr, *currentTimePtr); } else @@ -492,11 +517,7 @@ QTSS_Error RTPSessionOutput::TrackRTPPackets(QTSS_RTPStreamObject *theStreamPtr UInt32* packetCountPtr = NULL; UInt32* byteCountPtr = NULL; UInt32 theLen = 0; - - writeErr = QTSS_GetValuePtr(*theStreamPtr, sStreamPacketCountAttr, 0,(void**) &packetCountPtr,&theLen); - if (writeErr == QTSS_NoErr && theLen > 0) - *packetCountPtr += 1; - + writeErr = QTSS_GetValuePtr(*theStreamPtr, sStreamByteCountAttr, 0, (void**) &byteCountPtr,&theLen); if (writeErr == QTSS_NoErr && theLen > 0) *byteCountPtr += inPacketStrPtr->Len - 12;// 12 header bytes @@ -515,7 +536,7 @@ QTSS_Error RTPSessionOutput::TrackRTPPackets(QTSS_RTPStreamObject *theStreamPtr (void) QTSS_RemoveValue(*theStreamPtr,sStreamByteCountAttr,0); fMustSynch = true; - //printf("found different ssrc =%lu packetssrc=%lu\n",*theSSRCPtr, packetContainer.GetSSRC(packetContainer.fIsRTCP)); + //printf("found different ssrc =%"_U32BITARG_" packetssrc=%"_U32BITARG_"\n",*theSSRCPtr, packetContainer.GetSSRC(packetContainer.fIsRTCP)); } @@ -541,7 +562,7 @@ QTSS_Error RTPSessionOutput::TrackPackets(QTSS_RTPStreamObject *theStreamPtr, S } -QTSS_Error RTPSessionOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTimeMSecPtr) +QTSS_Error RTPSessionOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTimeMSecPtr, Bool16 firstPacket) { QTSS_RTPSessionState* theState = NULL; UInt32 theLen = 0; @@ -554,8 +575,10 @@ QTSS_Error RTPSessionOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCoo (void)QTSS_GetValuePtr(fClientSession, qtssCliSesState, 0, (void**)&theState, &theLen); if (theLen == 0 || theState == NULL || *theState != qtssPlayingState) - return QTSS_WouldBlock; - + { //qtss_printf("QTSS_WouldBlock *theState=%d qtssPlayingState=%d\n", *theState , qtssPlayingState); + return QTSS_WouldBlock; + } + //make sure all RTP streams with this ID see this packet QTSS_RTPStreamObject *theStreamPtr = NULL; @@ -563,14 +586,16 @@ QTSS_Error RTPSessionOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCoo { if (this->PacketMatchesStream(inStreamCookie, theStreamPtr)) { - if ( this->FilterPacket(theStreamPtr, inPacket) ) + if ( (inFlags & qtssWriteFlagsIsRTP) && this->FilterPacket(theStreamPtr, inPacket) ) return QTSS_NoErr; // keep looking at packets if (this->PacketAlreadySent(theStreamPtr,inFlags, packetIDPtr)) return QTSS_NoErr; // keep looking at packets if (!this->PacketReadyToSend(theStreamPtr,¤tTime, inFlags, packetIDPtr, timeToSendThisPacketAgain)) + { //qtss_printf("QTSS_WouldBlock\n"); return QTSS_WouldBlock; // stop not ready to send packets now + } // TrackPackets below is for re-writing the rtcps we don't use it right now-- shouldn't need to @@ -578,18 +603,28 @@ QTSS_Error RTPSessionOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCoo QTSS_PacketStruct thePacket; thePacket.packetData = inPacket->Ptr; - thePacket.packetTransmitTime = (currentTime - packetLatenessInMSec) + (fBufferDelayMSecs - (currentTime - *arrivalTimeMSecPtr)); // add buffer time where oldest buffered packet as now == 0 and newest is entire buffer time in the future. + SInt64 delayMSecs = fBufferDelayMSecs - (currentTime - *arrivalTimeMSecPtr); + thePacket.packetTransmitTime = (currentTime - packetLatenessInMSec); + if (fBufferDelayMSecs > 0 ) + thePacket.packetTransmitTime += delayMSecs; // add buffer time where oldest buffered packet as now == 0 and newest is entire buffer time in the future. + writeErr = QTSS_Write(*theStreamPtr, &thePacket, inPacket->Len, NULL, inFlags | qtssWriteFlagsWriteBurstBegin); if (writeErr == QTSS_WouldBlock) { + //qtss_printf("QTSS_Write == QTSS_WouldBlock\n"); // // We are flow controlled. See if we know when flow control will be lifted and report that *timeToSendThisPacketAgain = thePacket.suggestedWakeupTime; + + if (firstPacket) + { fBufferDelayMSecs = (currentTime - *arrivalTimeMSecPtr); + //qtss_printf("firstPacket fBufferDelayMSecs =%lu \n", fBufferDelayMSecs); + } } else { fLastIntervalMilliSec = currentTime - fLastPacketTransmitTime; - if (fLastIntervalMilliSec > 1000) //reset interval maybe first packet or it has been blocked for awhile + if (fLastIntervalMilliSec > 100) //reset interval maybe first packet or it has been blocked for awhile fLastIntervalMilliSec = 5; fLastPacketTransmitTime = currentTime; @@ -600,10 +635,22 @@ QTSS_Error RTPSessionOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCoo else if (inFlags & qtssWriteFlagsIsRTCP) { (void) QTSS_SetValue (*theStreamPtr, sLastRTCPPacketIDAttr, 0, packetIDPtr, sizeof(UInt64)); - (void) QTSS_SetValue (*theStreamPtr, sLastRTCPTransmitAttr, 0, ¤tTime, sizeof(UInt64)); + (void) QTSS_SetValue (*theStreamPtr, sLastRTCPTransmitAttr, 0, ¤tTime, sizeof(UInt64)); } - - } + + + + { // increment packet counts + UInt32* packetCountPtr = NULL; + UInt32 theLen = 0; + + (void) QTSS_GetValuePtr(*theStreamPtr, sStreamPacketCountAttr, 0,(void**) &packetCountPtr,&theLen); + if (theLen > 0) + { *packetCountPtr += 1; + //printf("SET sStreamPacketCountAttr =%lu\n", *packetCountPtr); + } + } + } } if ( writeErr != QTSS_NoErr ) @@ -683,16 +730,16 @@ Bool16 RTPSessionOutput::PacketShouldBeThinned(QTSS_RTPStreamObject inStream, St if (*curQualityLevel > 0 && ((*lastChangeTime + 30000) < timeNow) ) // 30 seconds between reductions { *curQualityLevel -= 1; // reduce quality value. If we quality doesn't change then we may have hit some steady state which we can't get out of without thinning or increasing the quality *lastChangeTime =timeNow; - //qtss_printf("RTPSessionOutput set quality to %lu\n",*curQualityLevel); + //qtss_printf("RTPSessionOutput set quality to %"_U32BITARG_"\n",*curQualityLevel); } //Check to see if we need to drop to audio only if ((*curQualityLevel >= ReflectorSession::kAudioOnlyQuality) && (*nextSeqNum == 0)) { -//#if REFLECTOR_THINNING_DEBUGGING || RTP_SESSION_DEBUGGING +#if REFLECTOR_THINNING_DEBUGGING || RTP_SESSION_DEBUGGING qtss_printf(" *** Reflector Dropping to audio only *** \n"); -//#endif +#endif //All we need to do in this case is mark the sequence number of the first dropped packet (void)QTSS_SetValue(inStream, sNextSeqNumAttr, 0, &curSeqNum, sizeof(UInt16)); *lastChangeTime =timeNow; diff --git a/APIModules/QTSSReflectorModule/RTPSessionOutput.h b/APIModules/QTSSReflectorModule/RTPSessionOutput.h index 544bf63..1124fee 100644 --- a/APIModules/QTSSReflectorModule/RTPSessionOutput.h +++ b/APIModules/QTSSReflectorModule/RTPSessionOutput.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -52,11 +52,12 @@ class RTPSessionOutput : public ReflectorOutput virtual ~RTPSessionOutput() {} ReflectorSession* GetReflectorSession() { return fReflectorSession; } - + void InitializeStreams(); + // This writes the packet out to the proper QTSS_RTPStreamObject. // If this function returns QTSS_WouldBlock, timeToSendThisPacketAgain will // be set to # of msec in which the packet can be sent, or -1 if unknown - virtual QTSS_Error WritePacket(StrPtrLen* inPacketData, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTimeMSec ); + virtual QTSS_Error WritePacket(StrPtrLen* inPacketData, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTimeMSec,Bool16 firstPacket ); virtual void TearDown(); SInt64 GetReflectorSessionInitTime() { return fReflectorSession->GetInitTimeMS(); } @@ -65,6 +66,8 @@ class RTPSessionOutput : public ReflectorOutput virtual Bool16 IsPlaying(); + void SetBufferDelay (UInt32 delay) { fBufferDelayMSecs = delay; } + private: QTSS_ClientSessionObject fClientSession; diff --git a/APIModules/QTSSReflectorModule/RTSPSourceInfo.cpp b/APIModules/QTSSReflectorModule/RTSPSourceInfo.cpp index c0858d1..ed086b4 100644 --- a/APIModules/QTSSReflectorModule/RTSPSourceInfo.cpp +++ b/APIModules/QTSSReflectorModule/RTSPSourceInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RTSPSourceInfo.h b/APIModules/QTSSReflectorModule/RTSPSourceInfo.h index 113cf8d..5748e1f 100644 --- a/APIModules/QTSSReflectorModule/RTSPSourceInfo.h +++ b/APIModules/QTSSReflectorModule/RTSPSourceInfo.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/ReflectorOutput.h b/APIModules/QTSSReflectorModule/ReflectorOutput.h index 874f51e..20d5e6e 100644 --- a/APIModules/QTSSReflectorModule/ReflectorOutput.h +++ b/APIModules/QTSSReflectorModule/ReflectorOutput.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -78,7 +78,7 @@ inline Bool16 SetBookMarkPacket(OSQueueElem* thePacketElemPtr); // packetLateness is how many MSec's late this packet is in being delivered ( will be < 0 if its early ) // If this function returns QTSS_WouldBlock, timeToSendThisPacketAgain will // be set to # of msec in which the packet can be sent, or -1 if unknown - virtual QTSS_Error WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTimeMSec ) = 0; + virtual QTSS_Error WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTimeMSec, Bool16 firstPacket ) = 0; virtual void TearDown() = 0; virtual Bool16 IsUDP() = 0; diff --git a/APIModules/QTSSReflectorModule/ReflectorSession.cpp b/APIModules/QTSSReflectorModule/ReflectorSession.cpp index 5d067e2..f7ff13f 100644 --- a/APIModules/QTSSReflectorModule/ReflectorSession.cpp +++ b/APIModules/QTSSReflectorModule/ReflectorSession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -100,7 +100,8 @@ ReflectorSession::ReflectorSession(StrPtrLen* inSourceID, SourceInfo* inInfo) fBroadcasterSession(NULL), fInitTimeMS(OS::Milliseconds()), fHasBufferedStreams(false) -{ +{ + fQueueElem.SetEnclosingObject(this); if (inSourceID != NULL) { @@ -128,7 +129,7 @@ ReflectorSession::~ReflectorSession() UInt32 refCount = fStreamArray[x]->GetRef()->GetRefCount(); Bool16 unregisterNow = (refCount == 1) ? true : false; - //qtss_printf("ReflectorSession::~ReflectorSession stream index=%lu refcount=%lu\n",x,refCount); + //qtss_printf("ReflectorSession::~ReflectorSession stream index=%"_U32BITARG_" refcount=%"_U32BITARG_"\n",x,refCount); //decrement the ref count if (refCount > 0) // Refcount may be 0 if there was some error setting up the stream @@ -139,7 +140,7 @@ ReflectorSession::~ReflectorSession() { // Delete this stream if the refcount has dropped to 0 if (unregisterNow) sStreamMap->UnRegister(fStreamArray[x]->GetRef()); // Refcount may be 0 if there was some error setting up the stream - //qtss_printf("delete stream index=%lu refcount=%lu\n",x,refCount); + //qtss_printf("delete stream index=%"_U32BITARG_" refcount=%"_U32BITARG_"\n",x,refCount); delete fStreamArray[x]; fStreamArray[x] = NULL; } @@ -200,7 +201,7 @@ QTSS_Error ReflectorSession::SetupReflectorSession(SourceInfo* inInfo, QTSS_Stan { ReflectorStream* theRef = (ReflectorStream*)theStreamRef->GetObject(); UInt32 refCount = theRef->GetRef()->GetRefCount(); - qtss_printf("stream has port stream index=%lu refcount=%lu\n",x,refCount); + qtss_printf("stream has port stream index=%"_U32BITARG_" refcount=%"_U32BITARG_"\n",x,refCount); } #endif } @@ -235,7 +236,7 @@ QTSS_Error ReflectorSession::SetupReflectorSession(SourceInfo* inInfo, QTSS_Stan Assert(debug == fStreamArray[x]->GetRef()); //UInt32 refCount = fStreamArray[x]->GetRef()->GetRefCount(); - //qtss_printf("stream index=%lu refcount=%lu\n",x,refCount); + //qtss_printf("stream index=%"_U32BITARG_" refcount=%"_U32BITARG_"\n",x,refCount); } else @@ -258,7 +259,7 @@ void ReflectorSession::AddBroadcasterClientSession(QTSS_StandardRTSP_Params* inP for (UInt32 x = 0; x < fSourceInfo->GetNumStreams(); x++) { if (fStreamArray[x] != NULL) - { //qtss_printf("AddBroadcasterSession=%lu\n",inParams->inClientSession); + { //qtss_printf("AddBroadcasterSession=%"_U32BITARG_"\n",inParams->inClientSession); ((ReflectorSocket*)fStreamArray[x]->GetSocketPair()->GetSocketA())->AddBroadcasterSession(inParams->inClientSession); ((ReflectorSocket*)fStreamArray[x]->GetSocketPair()->GetSocketB())->AddBroadcasterSession(inParams->inClientSession); } diff --git a/APIModules/QTSSReflectorModule/ReflectorSession.h b/APIModules/QTSSReflectorModule/ReflectorSession.h index 61037c8..69a14a4 100644 --- a/APIModules/QTSSReflectorModule/ReflectorSession.h +++ b/APIModules/QTSSReflectorModule/ReflectorSession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/ReflectorStream.cpp b/APIModules/QTSSReflectorModule/ReflectorStream.cpp index 22f0d38..705074b 100644 --- a/APIModules/QTSSReflectorModule/ReflectorStream.cpp +++ b/APIModules/QTSSReflectorModule/ReflectorStream.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -106,7 +106,8 @@ void ReflectorStream::Initialize(QTSS_ModulePrefsObject inPrefs) ReflectorStream::sOverBufferInMsec = sOverBufferInSec * 1000; ReflectorStream::sMaxFuturePacketMSec = sMaxFuturePacketSec * 1000; - ReflectorStream::sMaxPacketAgeMSec = sOverBufferInMsec; + ReflectorStream::sMaxPacketAgeMSec = (UInt32) (sOverBufferInMsec * 1.5); //allow a little time before deleting. + } void ReflectorStream::GenerateSourceID(SourceInfo::StreamInfo* inInfo, char* ioBuffer) @@ -284,7 +285,7 @@ SInt32 ReflectorStream::AddOutput(ReflectorOutput* inOutput, SInt32 putInThisBuc { fOutputArray[putInThisBucket][y] = inOutput; #if REFLECTOR_STREAM_DEBUGGING - qtss_printf("Adding new output (0x%lx) to bucket %ld, index %ld,\nnum buckets %li bucketSize: %li \n",(long)inOutput, putInThisBucket, y, (long)fNumBuckets, (long)sBucketSize); + qtss_printf("Adding new output (0x%lx) to bucket %"_S32BITARG_", index %"_S32BITARG_",\nnum buckets %li bucketSize: %li \n",(SInt32)inOutput, putInThisBucket, y, (SInt32)fNumBuckets, (SInt32)sBucketSize); #endif fNumElements++; return putInThisBucket; @@ -327,7 +328,7 @@ void ReflectorStream::RemoveOutput(ReflectorOutput* inOutput) fOutputArray[x][y] = NULL;//just clear out the pointer #if REFLECTOR_STREAM_DEBUGGING - qtss_printf("Removing output %x from bucket %ld, index %ld\n",inOutput,x,y); + qtss_printf("Removing output %x from bucket %"_S32BITARG_", index %"_S32BITARG_"\n",inOutput,x,y); #endif fNumElements--; return; @@ -351,7 +352,7 @@ void ReflectorStream::TearDownAllOutputs() if (theOutputPtr != NULL) { theOutputPtr->TearDown(); #if REFLECTOR_STREAM_DEBUGGING - qtss_printf("TearDownAllOutputs Removing output from bucket %ld, index %ld\n",x,y); + qtss_printf("TearDownAllOutputs Removing output from bucket %"_S32BITARG_", index %"_S32BITARG_"\n",x,y); #endif } } @@ -368,7 +369,7 @@ QTSS_Error ReflectorStream::BindSockets(QTSS_StandardRTSP_Params* inParams, UInt QTSS_RTSPRequestObject inRequest = NULL; if (inParams != NULL) inRequest = inParams->inRTSPRequest; - + // Set the transport Type a Broadcaster QTSS_RTPTransportType transportType = qtssRTPTransportTypeUDP; if (inParams != NULL) @@ -381,24 +382,24 @@ QTSS_Error ReflectorStream::BindSockets(QTSS_StandardRTSP_Params* inParams, UInt // specified by the source info, we can use that to demultiplex separate broadcasts on // the same port. If the src IP addr is 0, we cannot do this and must dedicate 1 port per // broadcast - - // changing INADDR_ANY to fStreamInfo.fDestIPAddr to deal with NATs (need to track this change though) - // change submitted by denis@berlin.ccc.de - Bool16 isMulticastDest = (SocketUtils::IsMulticastIPAddr(fStreamInfo.fDestIPAddr)); - if (isMulticastDest) { - fSockets = sSocketPool.GetUDPSocketPair(INADDR_ANY, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); - } else { - fSockets = sSocketPool.GetUDPSocketPair(fStreamInfo.fDestIPAddr, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); - } - + + // changing INADDR_ANY to fStreamInfo.fDestIPAddr to deal with NATs (need to track this change though) + // change submitted by denis@berlin.ccc.de + Bool16 isMulticastDest = (SocketUtils::IsMulticastIPAddr(fStreamInfo.fDestIPAddr)); + if (isMulticastDest) { + fSockets = sSocketPool.GetUDPSocketPair(INADDR_ANY, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); + } else { + fSockets = sSocketPool.GetUDPSocketPair(fStreamInfo.fDestIPAddr, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); + } + if ((fSockets == NULL) && fStreamInfo.fSetupToReceive) { fStreamInfo.fPort = 0; - if (isMulticastDest) { - fSockets = sSocketPool.GetUDPSocketPair(INADDR_ANY, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); - } else { - fSockets = sSocketPool.GetUDPSocketPair(fStreamInfo.fDestIPAddr, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); - } + if (isMulticastDest) { + fSockets = sSocketPool.GetUDPSocketPair(INADDR_ANY, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); + } else { + fSockets = sSocketPool.GetUDPSocketPair(fStreamInfo.fDestIPAddr, fStreamInfo.fPort, fStreamInfo.fSrcIPAddr, 0); + } } if (fSockets == NULL) return QTSSModuleUtils::SendErrorResponse(inRequest, qtssServerInternal, @@ -434,7 +435,7 @@ QTSS_Error ReflectorStream::BindSockets(QTSS_StandardRTSP_Params* inParams, UInt //If the broadcaster is sending RTP directly to us, we don't //need to join a multicast group because we're not using multicast - if (isMulticastDest) + if (isMulticastDest) { QTSS_Error err = fSockets->GetSocketA()->JoinMulticast(fStreamInfo.fDestIPAddr); if (err == QTSS_NoErr) @@ -490,7 +491,7 @@ void ReflectorStream::PushPacket(char *packet, UInt32 packetLen, Bool16 isRTCP) { ReflectorPacket* thePacket = NULL; if (isRTCP) - { //qtss_printf("ReflectorStream::PushPacket RTCP packetlen = %lu\n",packetLen); + { //qtss_printf("ReflectorStream::PushPacket RTCP packetlen = %"_U32BITARG_"\n",packetLen); thePacket = ((ReflectorSocket*)fSockets->GetSocketB())->GetPacket(); if (thePacket == NULL) { //qtss_printf("ReflectorStream::PushPacket RTCP GetPacket() is NULL\n"); @@ -503,7 +504,7 @@ void ReflectorStream::PushPacket(char *packet, UInt32 packetLen, Bool16 isRTCP) ((ReflectorSocket*)fSockets->GetSocketB())->Signal(Task::kIdleEvent); } else - { //qtss_printf("ReflectorStream::PushPacket RTP packetlen = %lu\n",packetLen); + { //qtss_printf("ReflectorStream::PushPacket RTP packetlen = %"_U32BITARG_"\n",packetLen); thePacket = ((ReflectorSocket*)fSockets->GetSocketA())->GetPacket(); if (thePacket == NULL) { //qtss_printf("ReflectorStream::PushPacket GetPacket() is NULL\n"); @@ -553,7 +554,8 @@ Bool16 ReflectorSender::ShouldReflectNow(const SInt64& inCurrentTime, SInt64* io { //We don't need to do work right now, but //this stream must still communicate when it needs to be woken up next - SInt64 theWakeupTime = fNextTimeToRun - inCurrentTime; + SInt64 theWakeupTime = fNextTimeToRun + inCurrentTime; + //qtss_printf("ReflectorSender::ShouldReflectNow theWakeupTime=%qd newWakeUpTime=%qd ioWakepTime=%qd\n", theWakeupTime, fNextTimeToRun + inCurrentTime,*ioWakeupTime); if ((fNextTimeToRun > 0) && (theWakeupTime < *ioWakeupTime)) *ioWakeupTime = theWakeupTime; return false; @@ -691,6 +693,8 @@ Bool16 ReflectorSender::GetFirstPacketInfo(UInt16* outSeqNumPtr, UInt32* outRTPT if (outArrivalTimePtr) *outArrivalTimePtr = thePacket->fTimeArrived; + thePacket->fNeededByOutput = true; + return true; } @@ -727,7 +731,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ //make sure to reset these state variables fHasNewPackets = false; - fNextTimeToRun = 10000; // init to 10 secs + fNextTimeToRun = 1000; // init to 1 secs //determine if we need to send a receiver report to the multicast source if ((fWriteFlag == qtssWriteFlagsIsRTCP) && (currentTime > (fLastRRTime + kRRInterval))) @@ -736,7 +740,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ fStream->SendReceiverReport(); #if REFLECTOR_STREAM_DEBUGGING > 2 printQueueLenOnExit = true; - printf( "fPacketQueue len %li\n", (long)fPacketQueue.GetLength() ); + printf( "fPacketQueue len %li\n", (SInt32)fPacketQueue.GetLength() ); #endif } @@ -807,7 +811,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ #if REFLECTOR_STREAM_DEBUGGING > 1 if ( packetElem ) // show 'em what we got johnny { ReflectorPacket* thePacket = (ReflectorPacket*)packetElem->GetEnclosingObject(); - printf("Bookmarked packet time: %li, packetSeq %i\n", (long)thePacket->fTimeArrived, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); + printf("Bookmarked packet time: %li, packetSeq %i\n", (SInt32)thePacket->fTimeArrived, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); } #endif @@ -823,7 +827,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ if ( packetElem ) // show 'em what we got johnny { ReflectorPacket* thePacket = (ReflectorPacket*)packetElem->GetEnclosingObject(); - printf("1st NEW packet from Sender sess 0x%lx time: %li, packetSeq %i\n", (long)theOutput, (long)thePacket->fTimeArrived, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); + printf("1st NEW packet from Sender sess 0x%lx time: %li, packetSeq %i\n", (SInt32)theOutput, (SInt32)thePacket->fTimeArrived, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); } else printf("no new packets\n" ); @@ -842,7 +846,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ QTSS_Error err = QTSS_NoErr; #if REFLECTOR_STREAM_DEBUGGING > 2 - printf("packet time: %li, packetSeq %i\n", (long)thePacket->fTimeArrived, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); + printf("packet time: %li, packetSeq %i\n", (SInt32)thePacket->fTimeArrived, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); #endif // once we see a packet we cant' send, we need to stop trying @@ -853,16 +857,16 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ // packetLateness measures how late this packet it after being corrected for the bucket delay #if REFLECTOR_STREAM_DEBUGGING > 2 - printf("packetLateness %li, seq# %li\n", (long)packetLateness, (long) DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); + printf("packetLateness %li, seq# %li\n", (SInt32)packetLateness, (SInt32) DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); #endif SInt64 timeToSendPacket = -1; - err = theOutput->WritePacket(&thePacket->fPacketPtr, fStream, fWriteFlag, packetLateness, &timeToSendPacket, NULL, NULL); + err = theOutput->WritePacket(&thePacket->fPacketPtr, fStream, fWriteFlag, packetLateness, &timeToSendPacket, NULL, NULL, false); if ( err == QTSS_WouldBlock ) { #if REFLECTOR_STREAM_DEBUGGING > 2 - printf("EAGAIN bookmark: %li, packetSeq %i\n", (long)packetLateness, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); + printf("EAGAIN bookmark: %li, packetSeq %i\n", (SInt32)packetLateness, DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); #endif // tag it and bookmark it thePacket->fNeededByOutput = true; @@ -877,7 +881,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ if ((timeToSendPacket > 0) && (fNextTimeToRun > timeToSendPacket )) fNextTimeToRun = timeToSendPacket; if ( timeToSendPacket == -1 ) - fNextTimeToRun = 5; // keep in synch with delay on would block for on-demand lower is better for high-bit rate movies. + this->SetNextTimeToRun(5); // keep in synch with delay on would block for on-demand lower is better for high-bit rate movies. } } @@ -936,7 +940,7 @@ void ReflectorSender::ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQ #if REFLECTOR_STREAM_DEBUGGING > 2 if ( printQueueLenOnExit ) - printf( "EXIT fPacketQueue len %li\n", (long)fPacketQueue.GetLength() ); + printf( "EXIT fPacketQueue len %li\n", (SInt32)fPacketQueue.GetLength() ); #endif } @@ -974,7 +978,8 @@ void ReflectorSender::ReflectPackets(SInt64* ioWakeupTime, OSQueue* inFreeQueue) //make sure to reset these state variables fHasNewPackets = false; - fNextTimeToRun = 10000; // init to 10 secs + + fNextTimeToRun = 1000; // init to 1 secs if (fWriteFlag == qtssWriteFlagsIsRTCP) fNextTimeToRun = 1000; @@ -994,18 +999,23 @@ void ReflectorSender::ReflectPackets(SInt64* ioWakeupTime, OSQueue* inFreeQueue) fStream->UpdateBitRate(currentTime); // where to start new clients in the q - fFirstPacketInQueueForNewOutput = this->GetClientBufferStartPacketOffset(ReflectorStream::sFirstPacketOffsetMsec); - -/* -ReflectorPacket* thePacket = NULL; -if (fFirstPacketInQueueForNewOutput != NULL) - thePacket = fFirstPacketInQueueForNewOutput->GetEnclosingObject(); -if (thePacket == NULL) - return; - - - fFirstPacketInQueueForNewOutput = GetClientBufferNextPacketTime(thePacket->GetPacketRTPTime()); -*/ + fFirstPacketInQueueForNewOutput = this->GetClientBufferStartPacketOffset(0); + +#if (0) //test code + if (NULL != fFirstPacketInQueueForNewOutput) + printf("ReflectorSender::ReflectPackets SET first packet fFirstPacketInQueueForNewOutput %d \n", DGetPacketSeqNumber( &( (ReflectorPacket*) ( fFirstPacketInQueueForNewOutput->GetEnclosingObject()))->fPacketPtr )); + + ReflectorPacket* thePacket = NULL; + if (fFirstPacketInQueueForNewOutput != NULL) + thePacket = (ReflectorPacket*) fFirstPacketInQueueForNewOutput->GetEnclosingObject(); + if (thePacket == NULL) + { printf("fFirstPacketInQueueForNewOutput is NULL \n"); + + } + +#endif + + Bool16 firstPacket =false; for (UInt32 bucketIndex = 0; bucketIndex < fStream->fNumBuckets; bucketIndex++) { @@ -1021,11 +1031,14 @@ if (thePacket == NULL) if ( packetElem == NULL ) // should only be a new output { packetElem = fFirstPacketInQueueForNewOutput; // everybody starts at the oldest packet in the buffer delay or uses a bookmark - theOutput->fNewOutput = false; + firstPacket = true; + theOutput->fNewOutput = false; + //if (packetElem) printf("ReflectorSender::ReflectPackets Sending first packet in Queue packetElem=fFirstPacketInQueueForNewOutput %d \n", ( (ReflectorPacket*) (packetElem->GetEnclosingObject() ) )->GetPacketRTPSeqNum()); + } SInt64 bucketDelay = ReflectorStream::sBucketDelayInMsec * (SInt64)bucketIndex; - packetElem = this->SendPacketsToOutput(theOutput, packetElem,currentTime, bucketDelay); + packetElem = this->SendPacketsToOutput(theOutput, packetElem,currentTime, bucketDelay, firstPacket); if (packetElem) { ReflectorPacket* thePacket = (ReflectorPacket*)packetElem->GetEnclosingObject(); @@ -1046,10 +1059,13 @@ if (thePacket == NULL) *ioWakeupTime = fNextTimeToRun; // exit with fNextTimeToRun in real time, not relative time. fNextTimeToRun += currentTime; - + + // qtss_printf("SetNextTimeToRun fNextTimeToRun=%qd + currentTime=%qd\n", fNextTimeToRun, currentTime); + // qtss_printf("ReflectorSender::ReflectPackets *ioWakeupTime = %qd\n", *ioWakeupTime); + } -OSQueueElem* ReflectorSender::SendPacketsToOutput(ReflectorOutput* theOutput, OSQueueElem* currentPacket, SInt64 currentTime, SInt64 bucketDelay) +OSQueueElem* ReflectorSender::SendPacketsToOutput(ReflectorOutput* theOutput, OSQueueElem* currentPacket, SInt64 currentTime, SInt64 bucketDelay, Bool16 firstPacket) { OSQueueElem* lastPacket = currentPacket; OSQueueIter qIter(&fPacketQueue, currentPacket); // starts from beginning if currentPacket == NULL, else from currentPacket @@ -1065,9 +1081,9 @@ OSQueueElem* ReflectorSender::SendPacketsToOutput(ReflectorOutput* theOutput, SInt64 packetLateness = bucketDelay; SInt64 timeToSendPacket = -1; - //printf("packetLateness %qd, seq# %li\n", packetLateness, (long) DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); + //printf("packetLateness %qd, seq# %li\n", packetLateness, (SInt32) DGetPacketSeqNumber( &thePacket->fPacketPtr ) ); - err = theOutput->WritePacket(&thePacket->fPacketPtr, fStream, fWriteFlag, packetLateness, &timeToSendPacket,&thePacket->fStreamCountID,&thePacket->fTimeArrived ); + err = theOutput->WritePacket(&thePacket->fPacketPtr, fStream, fWriteFlag, packetLateness, &timeToSendPacket,&thePacket->fStreamCountID,&thePacket->fTimeArrived, firstPacket ); if (err == QTSS_WouldBlock) { // call us again in # ms to retry on an EAGAIN @@ -1079,16 +1095,22 @@ OSQueueElem* ReflectorSender::SendPacketsToOutput(ReflectorOutput* theOutput, theOutput->fLastIntervalMilliSec = 5; if ( timeToSendPacket < 0 ) // blocked and we are behind - fNextTimeToRun = theOutput->fLastIntervalMilliSec; // Use the last packet interval + { //qtss_printf("fNextTimeToRun = theOutput->fLastIntervalMilliSec=%qd;\n", theOutput->fLastIntervalMilliSec); // Use the last packet interval + this->SetNextTimeToRun(theOutput->fLastIntervalMilliSec); + } - if (fNextTimeToRun > 1000) //don't wait that long - fNextTimeToRun = 1000; + if (fNextTimeToRun > 100) //don't wait that long + { //qtss_printf("fNextTimeToRun = %qd now 100;\n", fNextTimeToRun); + this->SetNextTimeToRun(100); + } if (fNextTimeToRun < 5) //wait longer - fNextTimeToRun = 5; + { //qtss_printf("fNextTimeToRun = 5;\n"); + this->SetNextTimeToRun(5); + } - if (theOutput->fLastIntervalMilliSec >= 1000) // allow up to 1 second max -- allow some time for the socket to clear and don't go into a tight loop if the client is gone. - theOutput->fLastIntervalMilliSec = 1000; + if (theOutput->fLastIntervalMilliSec >= 100) // allow up to 1 second max -- allow some time for the socket to clear and don't go into a tight loop if the client is gone. + theOutput->fLastIntervalMilliSec = 100; else theOutput->fLastIntervalMilliSec *= 2; // scale upwards over time @@ -1186,22 +1208,49 @@ void ReflectorSender::RemoveOldPackets(OSQueue* inFreeQueue) } +void ReflectorSocketPool::SetUDPSocketOptions(UDPSocketPair* inPair) +{ + // Fix add ReuseAddr for compatibility with MPEG4IP broadcaster which likes to use the same + //sockets. + + //Make sure this works with PlaylistBroadcaster + //inPair->GetSocketA()->ReuseAddr(); + //inPair->GetSocketA()->ReuseAddr(); + +} + + UDPSocketPair* ReflectorSocketPool::ConstructUDPSocketPair() { return NEW UDPSocketPair (NEW ReflectorSocket(), NEW ReflectorSocket()); } -void ReflectorSocketPool::DestructUDPSocketPair(UDPSocketPair *inPair) +void ReflectorSocketPool::DestructUDPSocket(ReflectorSocket* socket) { - //The socket's run function may be executing RIGHT NOW! So we can't - //just delete the thing, we need to send the sockets kill events. - //Assert(inPair->GetSocketA()->GetLocalPort() > 0); - if (inPair->GetSocketA()->GetLocalPort() > 0) + if (socket) // allocated { - ((ReflectorSocket*)inPair->GetSocketA())->Signal(Task::kKillEvent); - ((ReflectorSocket*)inPair->GetSocketB())->Signal(Task::kKillEvent); + if (socket->GetLocalPort() > 0) // bound and active + { //The socket's run function may be executing RIGHT NOW! So we can't + //just delete the thing, we need to send the sockets kill events. + //qtss_printf("ReflectorSocketPool::DestructUDPSocketPair Signal kKillEvent socket=%p\n",socket); + socket->Signal(Task::kKillEvent); + } + else // not bound ok to delete + { //qtss_printf("ReflectorSocketPool::DestructUDPSocketPair delete socket=%p\n",socket); + delete socket; + } } +} + +void ReflectorSocketPool::DestructUDPSocketPair(UDPSocketPair *inPair) +{ + //qtss_printf("ReflectorSocketPool::DestructUDPSocketPair inPair=%p socketA=%p\n", inPair,(ReflectorSocket*)inPair->GetSocketA()); + this->DestructUDPSocket((ReflectorSocket*)inPair->GetSocketA()); + + //qtss_printf("ReflectorSocketPool::DestructUDPSocketPair inPair=%p socketB=%p\n", inPair,(ReflectorSocket*)inPair->GetSocketB()); + this->DestructUDPSocket((ReflectorSocket*)inPair->GetSocketB()); + delete inPair; } @@ -1286,7 +1335,7 @@ SInt64 ReflectorSocket::Run() { SInt32 temp = (SInt32)(fSleepTime - theMilliseconds); char tempBuf[20]; - qtss_sprintf(tempBuf,"%ld",temp); + qtss_sprintf(tempBuf,"%"_S32BITARG_"",temp); WarnV(fSleepTime <= theMilliseconds, tempBuf); } #endif @@ -1324,7 +1373,7 @@ void ReflectorSocket::FilterInvalidSSRCs(ReflectorPacket* thePacket,Bool16 isRTC if (0 == fValidSSRC) { fValidSSRC = thePacket->GetSSRC(isRTCP); // SSRC of 0 is allowed fLastValidSSRCTime = currentTime; - //qtss_printf("socket=%lu FIRST PACKET fValidSSRC=%lu \n", (long unsigned) this,fValidSSRC); + //qtss_printf("socket=%"_U32BITARG_" FIRST PACKET fValidSSRC=%"_U32BITARG_" \n", (UInt32) this,fValidSSRC); break; } @@ -1333,11 +1382,11 @@ void ReflectorSocket::FilterInvalidSSRCs(ReflectorPacket* thePacket,Bool16 isRTC { if (packetSSRC == fValidSSRC) { fLastValidSSRCTime = currentTime; - //qtss_printf("socket=%lu good packet\n", (long unsigned) this ); + //qtss_printf("socket=%"_U32BITARG_" good packet\n", (UInt32) this ); break; } - //qtss_printf("socket=%lu bad packet packetSSRC= %lu fValidSSRC=%lu \n", (long unsigned) this,packetSSRC,fValidSSRC); + //qtss_printf("socket=%"_U32BITARG_" bad packet packetSSRC= %"_U32BITARG_" fValidSSRC=%"_U32BITARG_" \n", (UInt32) this,packetSSRC,fValidSSRC); thePacket->fPacketPtr.Len = 0; // ignore this packet wrong SSRC } @@ -1421,109 +1470,110 @@ Bool16 ReflectorSocket::ProcessPacket(const SInt64& inMilliseconds,ReflectorPack const UInt32 maxQSize = 4000; - // Check to see if we need to set the remote RTCP address - // for this stream. This will be necessary if the source is unicast. + // Check to see if we need to set the remote RTCP address + // for this stream. This will be necessary if the source is unicast. #ifdef NAT_WORKAROUND - if ((theRemoteAddr != 0) && ((theSender->fStream->fDestRTCPAddr == 0) || (thePacket->IsRTCP()))) // Submitted fix from denis@berlin.ccc.de - { - Assert(!SocketUtils::IsMulticastIPAddr(theSender->fStream->fStreamInfo.fDestIPAddr)); - Assert(theRemotePort != 0); - theSender->fStream->fDestRTCPAddr = theRemoteAddr; - theSender->fStream->fDestRTCPPort = theRemotePort; - - // RTCPs are always on odd ports, so check to see if this port is an - // RTP port, and if so, just add 1. - if (!(thePacket->IsRTCP()) && !(theRemotePort & 1)) - theSender->fStream->fDestRTCPPort++; - } + if ((theRemoteAddr != 0) && ((theSender->fStream->fDestRTCPAddr == 0) || (thePacket->IsRTCP()))) // Submitted fix from denis@berlin.ccc.de + { + Assert(!SocketUtils::IsMulticastIPAddr(theSender->fStream->fStreamInfo.fDestIPAddr)); + Assert(theRemotePort != 0); + theSender->fStream->fDestRTCPAddr = theRemoteAddr; + theSender->fStream->fDestRTCPPort = theRemotePort; + + // RTCPs are always on odd ports, so check to see if this port is an + // RTP port, and if so, just add 1. + if (!(thePacket->IsRTCP()) && !(theRemotePort & 1)) + theSender->fStream->fDestRTCPPort++; + } #else - if ((theRemoteAddr != 0) && (theSender->fStream->fDestRTCPAddr == 0)) - { - // If the source is multicast, this shouldn't be necessary - Assert(!SocketUtils::IsMulticastIPAddr(theSender->fStream->fStreamInfo.fDestIPAddr)); - Assert(theRemotePort != 0); - theSender->fStream->fDestRTCPAddr = theRemoteAddr; - theSender->fStream->fDestRTCPPort = theRemotePort; - - // RTCPs are always on odd ports, so check to see if this port is an - // RTP port, and if so, just add 1. - if (!(theRemotePort & 1)) - theSender->fStream->fDestRTCPPort++; - } + if ((theRemoteAddr != 0) && (theSender->fStream->fDestRTCPAddr == 0)) + { + // If the source is multicast, this shouldn't be necessary + Assert(!SocketUtils::IsMulticastIPAddr(theSender->fStream->fStreamInfo.fDestIPAddr)); + Assert(theRemotePort != 0); + theSender->fStream->fDestRTCPAddr = theRemoteAddr; + theSender->fStream->fDestRTCPPort = theRemotePort; + + // RTCPs are always on odd ports, so check to see if this port is an + // RTP port, and if so, just add 1. + if (!(theRemotePort & 1)) + theSender->fStream->fDestRTCPPort++; + } #endif //NAT_WORKAROUND + thePacket->fStreamCountID = ++(theSender->fStream->fPacketCount); + thePacket->fBucketsSeenThisPacket = 0; + thePacket->fTimeArrived = inMilliseconds; + theSender->fPacketQueue.EnQueue(&thePacket->fQueueElem); + if ( theSender->fFirstNewPacketInQueue == NULL ) + theSender->fFirstNewPacketInQueue = &thePacket->fQueueElem; + theSender->fHasNewPackets = true; + + + if (!(thePacket->IsRTCP())) + { + // don't check for duplicate packets, they may be needed to keep in sync. + // Because this is an RTP packet make sure to atomic add this because + // multiple sockets can be adding to this variable simultaneously + (void)atomic_add(&theSender->fStream->fBytesSentInThisInterval, thePacket->fPacketPtr.Len); + //printf("ReflectorSocket::ProcessPacket received RTP id=%qu\n", thePacket->fStreamCountID); + theSender->fStream->SetHasFirstRTP(true); + } + else + { + //printf("ReflectorSocket::ProcessPacket received RTCP id=%qu\n", thePacket->fStreamCountID); + theSender->fStream->SetHasFirstRTCP(true); + theSender->fStream->SetFirst_RTCP_RTP_Time(thePacket->GetPacketRTPTime()); + theSender->fStream->SetFirst_RTCP_Arrival_Time(thePacket->fTimeArrived); + } + + + if (ReflectorStream::sUsePacketReceiveTime && thePacket->fPacketPtr.Len > 12) + { + UInt32 offset = thePacket->fPacketPtr.Len; + char* theTag = ((char*) thePacket->fPacketPtr.Ptr + offset) - 12; + UInt64* theValue = (UInt64*) ((char*) ( (char*) thePacket->fPacketPtr.Ptr + offset) - 8); + + if (0 == ::strncmp(theTag,"aktt",4)) + { + UInt64 theReceiveTime = OS::NetworkToHostSInt64(*theValue); + UInt32 theSSRC = thePacket->GetSSRC(theRemotePort & 1); // use to check if broadcast has restarted so we can reset + + if ( !this->fHasReceiveTime || (this->fCurrentSSRC != theSSRC) ) + { + this->fCurrentSSRC = theSSRC; + this->fFirstArrivalTime = thePacket->fTimeArrived; + this->fFirstReceiveTime = theReceiveTime; + this->fHasReceiveTime = true; + } + + + SInt64 packetOffsetFromStart = theReceiveTime - this->fFirstReceiveTime; // packets arrive at time 0 and fill forward into the future + thePacket->fTimeArrived = this->fFirstArrivalTime + packetOffsetFromStart; // offset starts negative by over buffer amount + thePacket->fPacketPtr.Len -= 12; + + SInt64 arrivalTimeOffset = thePacket->fTimeArrived - inMilliseconds; + if ( arrivalTimeOffset > ReflectorStream::sMaxFuturePacketMSec ) // way out in the future. + thePacket->fTimeArrived = inMilliseconds + ReflectorStream::sMaxFuturePacketMSec; //keep it but only for sMaxFuturePacketMSec = (sMaxPacketAgeMSec <-- current --> sMaxFuturePacketMSec) + + // if it was in the past we leave it alone because it will be deleted after processing. + + + //printf("ReflectorSocket::ProcessPacket packetOffsetFromStart=%f\n", (Float32) packetOffsetFromStart / 1000); + } + + } + + //printf("ReflectorSocket::GetIncomingData has packet from time=%qd src addr=%"_U32BITARG_" src port=%u packetlen=%"_U32BITARG_"\n",inMilliseconds, theRemoteAddr,theRemotePort,thePacket->fPacketPtr.Len); + if (0) //turn on / off buffer size checking -- pref can go here if we find we need to adjust this + if (theSender->fPacketQueue.GetLength() > maxQSize) //don't grow memory too big + { + char outMessage[256]; + sprintf(outMessage,"Packet Queue for port=%d qsize = %"_S32BITARG_" hit max qSize=%"_U32BITARG_"", theRemotePort,theSender->fPacketQueue.GetLength(), maxQSize); + WarnV(false, outMessage); + } + - thePacket->fStreamCountID = ++(theSender->fStream->fPacketCount); - thePacket->fBucketsSeenThisPacket = 0; - thePacket->fTimeArrived = inMilliseconds; - theSender->fPacketQueue.EnQueue(&thePacket->fQueueElem); - if ( theSender->fFirstNewPacketInQueue == NULL ) - theSender->fFirstNewPacketInQueue = &thePacket->fQueueElem; - theSender->fHasNewPackets = true; - - - if (!(thePacket->IsRTCP())) - { - // don't check for duplicate packets, they may be needed to keep in sync. - // Because this is an RTP packet make sure to atomic add this because - // multiple sockets can be adding to this variable simultaneously - (void)atomic_add(&theSender->fStream->fBytesSentInThisInterval, thePacket->fPacketPtr.Len); - //printf("ReflectorSocket::ProcessPacket received RTP id=%qu\n", thePacket->fStreamCountID); - theSender->fStream->SetHasFirstRTP(true); - } - else - { - //printf("ReflectorSocket::ProcessPacket received RTCP id=%qu\n", thePacket->fStreamCountID); - theSender->fStream->SetHasFirstRTCP(true); - theSender->fStream->SetFirst_RTCP_RTP_Time(thePacket->GetPacketRTPTime()); - theSender->fStream->SetFirst_RTCP_Arrival_Time(thePacket->fTimeArrived); - } - - if (ReflectorStream::sUsePacketReceiveTime && thePacket->fPacketPtr.Len > 12) - { - UInt32 offset = thePacket->fPacketPtr.Len; - char* theTag = ((char*) thePacket->fPacketPtr.Ptr + offset) - 12; - UInt64* theValue = (UInt64*) ((char*) ( (char*) thePacket->fPacketPtr.Ptr + offset) - 8); - - if (0 == ::strncmp(theTag,"aktt",4)) - { - UInt64 theReceiveTime = OS::NetworkToHostSInt64(*theValue); - UInt32 theSSRC = thePacket->GetSSRC(theRemotePort & 1); // use to check if broadcast has restarted so we can reset - - if ( !this->fHasReceiveTime || (this->fCurrentSSRC != theSSRC) ) - { - this->fCurrentSSRC = theSSRC; - this->fFirstArrivalTime = thePacket->fTimeArrived; - this->fFirstReceiveTime = theReceiveTime; - this->fHasReceiveTime = true; - } - - - SInt64 packetOffsetFromStart = theReceiveTime - this->fFirstReceiveTime; // packets arrive at time 0 and fill forward into the future - thePacket->fTimeArrived = this->fFirstArrivalTime + packetOffsetFromStart; // offset starts negative by over buffer amount - thePacket->fPacketPtr.Len -= 12; - - SInt64 arrivalTimeOffset = thePacket->fTimeArrived - inMilliseconds; - if ( arrivalTimeOffset > ReflectorStream::sMaxFuturePacketMSec ) // way out in the future. - thePacket->fTimeArrived = inMilliseconds + ReflectorStream::sMaxFuturePacketMSec; //keep it but only for sMaxFuturePacketMSec = (sMaxPacketAgeMSec <-- current --> sMaxFuturePacketMSec) - - // if it was in the past we leave it alone because it will be deleted after processing. - - - //printf("ReflectorSocket::ProcessPacket packetOffsetFromStart=%f\n", (Float32) packetOffsetFromStart / 1000); - } - - } - - //printf("ReflectorSocket::GetIncomingData has packet from time=%qd src addr=%lu src port=%u packetlen=%lu\n",inMilliseconds, theRemoteAddr,theRemotePort,thePacket->fPacketPtr.Len); - if (0) //turn on / off buffer size checking -- pref can go here if we find we need to adjust this - if (theSender->fPacketQueue.GetLength() > maxQSize) //don't grow memory too big - { - char outMessage[256]; - sprintf(outMessage,"Packet Queue for port=%d qsize = %ld hit max qSize=%lu", theRemotePort,theSender->fPacketQueue.GetLength(), maxQSize); - WarnV(false, outMessage); - } - } while(false); return done; diff --git a/APIModules/QTSSReflectorModule/ReflectorStream.h b/APIModules/QTSSReflectorModule/ReflectorStream.h index c713cd0..0313cd1 100644 --- a/APIModules/QTSSReflectorModule/ReflectorStream.h +++ b/APIModules/QTSSReflectorModule/ReflectorStream.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -237,6 +237,10 @@ class ReflectorSocketPool : public UDPSocketPool virtual UDPSocketPair* ConstructUDPSocketPair(); virtual void DestructUDPSocketPair(UDPSocketPair *inPair); + virtual void SetUDPSocketOptions(UDPSocketPair* inPair); + void DestructUDPSocket( ReflectorSocket* socket); + + }; class ReflectorSender : public UDPDemuxerTask @@ -264,7 +268,7 @@ class ReflectorSender : public UDPDemuxerTask //this is the old way of doing reflect packets. It is only here until the relay code can be cleaned up. void ReflectRelayPackets(SInt64* ioWakeupTime, OSQueue* inFreeQueue); - OSQueueElem* SendPacketsToOutput(ReflectorOutput* theOutput, OSQueueElem* currentPacket, SInt64 currentTime, SInt64 bucketDelay); + OSQueueElem* SendPacketsToOutput(ReflectorOutput* theOutput, OSQueueElem* currentPacket, SInt64 currentTime, SInt64 bucketDelay, Bool16 firstPacket); UInt32 GetOldestPacketRTPTime(Bool16 *foundPtr); UInt16 GetFirstPacketRTPSeqNum(Bool16 *foundPtr); @@ -286,6 +290,11 @@ class ReflectorSender : public UDPDemuxerTask //these serve as an optimization, keeping track of when this //sender needs to run so it doesn't run unnecessarily + + inline void SetNextTimeToRun(SInt64 nextTime) { fNextTimeToRun = nextTime; + //qtss_printf("SetNextTimeToRun =%"_64BITARG_"d\n", fNextTimeToRun); + } + Bool16 fHasNewPackets; SInt64 fNextTimeToRun; @@ -454,7 +463,7 @@ inline void UpdateBitRate(SInt64 currentTime); // Used for calculating average bit rate UInt32 fCurrentBitRate; SInt64 fLastBitRateSample; - unsigned int fBytesSentInThisInterval;// unsigned long because we need to atomic_add it + unsigned int fBytesSentInThisInterval;// unsigned int because we need to atomic_add // If incoming data is RTSP interleaved SInt16 fRTPChannel; //These will be -1 if not set to anything diff --git a/APIModules/QTSSReflectorModule/RelayOutput.cpp b/APIModules/QTSSReflectorModule/RelayOutput.cpp index 68a5aa1..fc45878 100644 --- a/APIModules/QTSSReflectorModule/RelayOutput.cpp +++ b/APIModules/QTSSReflectorModule/RelayOutput.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -356,7 +356,7 @@ Bool16 RelayOutput::Equal(SourceInfo* inInfo) return false; } -QTSS_Error RelayOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 /*packetLatenessInMSec*/, SInt64* /*timeToSendThisPacketAgain*/, UInt64* packetIDPtr, SInt64* /*arrivalTimeMSec*/ ) +QTSS_Error RelayOutput::WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 /*packetLatenessInMSec*/, SInt64* /*timeToSendThisPacketAgain*/, UInt64* packetIDPtr, SInt64* /*arrivalTimeMSec*/, Bool16 /*firstPacket */ ) { if (!fValid || fDoingAnnounce) diff --git a/APIModules/QTSSReflectorModule/RelayOutput.h b/APIModules/QTSSReflectorModule/RelayOutput.h index bf93fe4..f7c5046 100644 --- a/APIModules/QTSSReflectorModule/RelayOutput.h +++ b/APIModules/QTSSReflectorModule/RelayOutput.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -62,7 +62,7 @@ class RelayOutput : public ReflectorOutput OS_Error BindSocket(); // Writes the packet directly to a UDP socket - virtual QTSS_Error WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTime); + virtual QTSS_Error WritePacket(StrPtrLen* inPacket, void* inStreamCookie, UInt32 inFlags, SInt64 packetLatenessInMSec, SInt64* timeToSendThisPacketAgain, UInt64* packetIDPtr, SInt64* arrivalTime, Bool16 firstPacket); virtual Bool16 IsUDP() { return true; } diff --git a/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.cpp b/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.cpp index 71c9eef..9ce32d3 100644 --- a/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.cpp +++ b/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.h b/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.h index 425f891..12d9481 100644 --- a/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.h +++ b/APIModules/QTSSReflectorModule/RelaySDPSourceInfo.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RelaySession.cpp b/APIModules/QTSSReflectorModule/RelaySession.cpp index a288c52..86e145f 100644 --- a/APIModules/QTSSReflectorModule/RelaySession.cpp +++ b/APIModules/QTSSReflectorModule/RelaySession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/RelaySession.h b/APIModules/QTSSReflectorModule/RelaySession.h index 39719fa..3b7e092 100644 --- a/APIModules/QTSSReflectorModule/RelaySession.h +++ b/APIModules/QTSSReflectorModule/RelaySession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/SequenceNumberMap.cpp b/APIModules/QTSSReflectorModule/SequenceNumberMap.cpp index 300056c..04275f9 100644 --- a/APIModules/QTSSReflectorModule/SequenceNumberMap.cpp +++ b/APIModules/QTSSReflectorModule/SequenceNumberMap.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSReflectorModule/SequenceNumberMap.h b/APIModules/QTSSReflectorModule/SequenceNumberMap.h index 10cee80..0f206f0 100644 --- a/APIModules/QTSSReflectorModule/SequenceNumberMap.h +++ b/APIModules/QTSSReflectorModule/SequenceNumberMap.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.cpp b/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.cpp index a90d8d6..47a1683 100644 --- a/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.cpp +++ b/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -38,6 +38,7 @@ #include "OSMemory.h" static QTSS_ModulePrefsObject sPrefs = NULL; +static QTSS_StreamRef sErrorLogStream = NULL; class IPAddrTableKey; @@ -172,6 +173,7 @@ QTSS_Error Initialize(QTSS_Initialize_Params* inParams) { // Setup module utils QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); + sErrorLogStream = inParams->inErrorLogStream; sPrefs = QTSSModuleUtils::GetModulePrefsObject(inParams->inModule); sMutex = NEW OSMutex(); sHashTable = NEW IPAddrHashTable(277);//277 is prime, I think... @@ -203,7 +205,6 @@ QTSS_Error Authorize(QTSS_StandardRTSP_Params* inParams) (void)QTSS_GetValuePtr(inParams->inRTSPSession, qtssRTSPSesRemoteAddr, 0, (void**)&theIPAddr, &theLen); if ((theIPAddr == NULL) || (theLen != sizeof(UInt32))) { - Assert(0); return QTSS_NoErr; } @@ -225,10 +226,11 @@ QTSS_Error Authorize(QTSS_StandardRTSP_Params* inParams) // Check to see if this client has too many connections open. If it does, // return an error, otherwise, allow the connection and increment the // refcount. - if (theElem->GetRefCount() >= sNumConnsPerIP) + if (theElem->GetRefCount() >= sNumConnsPerIP) { + QTSSModuleUtils::LogErrorStr(qtssMessageVerbosity, "Blocking connection from IP address"); return QTSSModuleUtils::SendErrorResponse(inParams->inRTSPRequest, qtssClientForbidden, sTooManyConnectionsErr); - else + } else theElem->IncrementRefCount(); // Mark the request so we'll know subsequent ones aren't the first. @@ -254,7 +256,6 @@ QTSS_Error SessionClosing(QTSS_RTSPSession_Params* inParams) (void)QTSS_GetValuePtr(inParams->inRTSPSession, qtssRTSPSesRemoteAddr, 0, (void**)&theIPAddr, &theLen); if ((theIPAddr == NULL) || (theLen != sizeof(UInt32))) { - Assert(0); return QTSS_NoErr; } diff --git a/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.h b/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.h index fe89b14..d6d09d3 100644 --- a/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.h +++ b/APIModules/QTSSSpamDefenseModule.bproj/QTSSSpamDefenseModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSSvrControlModule/QTSCRPI.defs b/APIModules/QTSSSvrControlModule/QTSCRPI.defs deleted file mode 100644 index ec3f9b1..0000000 --- a/APIModules/QTSSSvrControlModule/QTSCRPI.defs +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ - -subsystem QTSCRPI 0; - -#include -import "ServerControlAPI.h"; -import "SCRPITypes.h"; - - -type AttributeValue = ^ array[] of char; -type AttributeType = struct[3] of int; - - -//because AttributeValue is out of line, another length parameter gets automatically added -//immediately after "buffer" -routine _SCRPIGetServerAttribute( server: port_t; in attr: AttributeType; in bufSize: int; - out buffer: AttributeValue); - -routine _SCRPISetServerAttribute( server: port_t; in attr: AttributeType; - in buffer: AttributeValue); - -routine _SCRPIStopServer(server: port_t; in numMinutes: int); - -routine _SCRPICancelStopServer(server: port_t); diff --git a/APIModules/QTSSSvrControlModule/QTSSvrControlModule.cpp b/APIModules/QTSSSvrControlModule/QTSSvrControlModule.cpp deleted file mode 100644 index c51c4a0..0000000 --- a/APIModules/QTSSSvrControlModule/QTSSvrControlModule.cpp +++ /dev/null @@ -1,860 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ -/* - File: QTSSvrControlModule.cpp - - Contains: Implementation of module described in QTSSvrControlModule.h - - -*/ - -#include -#include "SafeStdLib.h" -#include -#include -#include - -extern "C" { -#import -#import -#import -#import -#import -#include -#include -#include -#include -#import "QTSCRPI.h" -} - -#include "ServerControlAPI.h" -#include "QTSSvrControlModule.h" -#include "QTSSModuleUtils.h" - -#include "SCRPITypes.h" -#include "OSMutex.h" -#include "OSMemory.h" -#include "MyAssert.h" -#include "StrPtrLen.h" -#include "StringParser.h" - -// SERVER CONTROL THREAD CLASS DEFINITION - -class QTSSvrControlThread -{ - public: - - QTSSvrControlThread(); - virtual ~QTSSvrControlThread(); - - //This thread can encounter errors as it starts up. - //Check this after calling the constructor - Bool16 HasErrorOccurred() { return fErrorOccurred; } - - private: - - void Entry(); - void HistoryEntry(); - static void _Entry(QTSSvrControlThread *thread); - static void _HistoryEntry(QTSSvrControlThread *thread); - - port_t fMessagePort; - - //thread related - cthread_t fThreadID; - cthread_t fHistoryThreadID; - Bool16 fDone; - Bool16 fErrorOccurred; - Bool16 fDoneStartingUp; - Bool16 fThreadsAllocated; -}; - - -// STATIC DATA - -static OSMutex* sHistoryMutex = NULL; -static QTSSvrControlThread* sThread = NULL; -static UInt32 sCursor = 0;//where do we write next into the history array? - -//for Server History stuff. -static long sBandwidthLo = -1; -static long sBandwidthHi = 0; -static long sBandwidthAvg = 0; -static long sConnectionLo = -1; -static long sConnectionHi = 0; -static long sConnectionAvg = 0; -static long sSampleIndex = 0; -static QTSServerHistoryRec sHistoryArray = {}; - -static time_t sStartupTime = 0; -static Bool16 sGracefulShutdownInProgress = false; - -static UInt32 sHistoryIntervalInSecs = 0; -static UInt32 sDefaultHistoryIntervalInSecs = 120; - -static char* sAttributeBuffer = NULL; - -// DICTIONARIES -static QTSS_ServerObject sServer = NULL; -static QTSS_ModulePrefsObject sPrefs = NULL; - -// SERVICES -static QTSS_ServiceID sRereadPreferences = qtssIllegalServiceID; -static QTSS_ServiceID sRollAccessLog = qtssIllegalServiceID; -static QTSS_ServiceID sRollErrorLog = qtssIllegalServiceID; - -// ATTRIBUTES -static QTSS_AttributeID sCantRegisterErr = qtssIllegalAttrID; -static QTSS_AttributeID sCantAllocateErr = qtssIllegalAttrID; -static QTSS_AttributeID sFatalErr = qtssIllegalAttrID; - -static const UInt32 kNumSamplesPerEntry = 30; - - -// FUNCTIONS -static QTSS_Error QTSSvrControlModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); -static QTSS_Error Register(QTSS_Register_Params* inParams); -static QTSS_Error Initialize(QTSS_Initialize_Params* inParams); -static QTSS_Error Shutdown(); -static kern_return_t StopServer(int inMinutes); -static kern_return_t CancelStopServer(); -static void CheckShutdown(); -static kern_return_t SetServerAttribute(AttributeType attrib, UInt32 /*tagSize*/, - void* /*tags*/, unsigned int bufSize, void* buffer); -static kern_return_t GetServerAttribute(AttributeType attrib, UInt32 /*tagSize*/, - void* /*tags*/, unsigned int bufSize, - unsigned int* attribSize, void** buffer); -static kern_return_t RereadPreferences(); -static kern_return_t RollLogNow(QTSLogRollRec* theRollLogRec); -static kern_return_t GetProcessInfo(QTSProcessInfoRec* inProcessInfo); -static kern_return_t GetServerName(QTSServerDNSName* outServerName); -static kern_return_t GetServerVersion(QTSServerVersionRec* outServerVersion); -static kern_return_t GetServerStatusRec(QTSServerStatusRec* outServerStatus); -static kern_return_t GetRefuseConnections(QTSRefuseConnectionsRec* outRefuseConnections); -static kern_return_t SetRefuseConnections(QTSRefuseConnectionsRec* inRefuseConnections); -static kern_return_t GetHistory(QTSServerHistoryRec* outHistory); -static void AddHistorySample(); -static void UpdateHistoryArray(); - - -// FUNCTION IMPLEMENTATIONS - -QTSS_Error QTSSvrControlModule_Main(void* inPrivateArgs) -{ - return _stublibrary_main(inPrivateArgs, QTSSvrControlModuleDispatch); -} - -QTSS_Error QTSSvrControlModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) -{ - switch (inRole) - { - case QTSS_Register_Role: - return Register(&inParams->regParams); - case QTSS_Initialize_Role: - return Initialize(&inParams->initParams); - case QTSS_Shutdown_Role: - return Shutdown(); - } - return QTSS_NoErr; -} - -QTSS_Error Register(QTSS_Register_Params* inParams) -{ - // Do attribute setup - static char* sCantRegisterName = "QTSSvrControlModuleCantRegisterMachPort"; - static char* sCantAllocateName = "QTSSvrControlModuleCantAllocateMachPort"; - static char* sFatalName = "QTSSvrControlModuleServerControlFatalErr"; - - (void)QTSS_AddStaticAttribute(qtssTextMessagesObjectType, sCantRegisterName, NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe); - (void)QTSS_IDForAttr(qtssTextMessagesObjectType, sCantRegisterName, &sCantRegisterErr); - - (void)QTSS_AddStaticAttribute(qtssTextMessagesObjectType, sCantAllocateName, NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe); - (void)QTSS_IDForAttr(qtssTextMessagesObjectType, sCantAllocateName, &sCantAllocateErr); - - (void)QTSS_AddStaticAttribute(qtssTextMessagesObjectType, sFatalName, NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe); - (void)QTSS_IDForAttr(qtssTextMessagesObjectType, sFatalName, &sFatalErr); - - // Add roles - (void)QTSS_AddRole(QTSS_Initialize_Role); - (void)QTSS_AddRole(QTSS_Shutdown_Role); - - // Tell the server our name! - static char* sModuleName = "QTSSvrControlModule"; - ::strcpy(inParams->outModuleName, sModuleName); - - return QTSS_NoErr; -} - -QTSS_Error Initialize(QTSS_Initialize_Params* inParams) -{ - // Get global dictionaries - sServer = inParams->inServer; - sPrefs = QTSSModuleUtils::GetModulePrefsObject(inParams->inModule); - - // Setup module utils - QTSSModuleUtils::Initialize(inParams->inMessages, inParams->inServer, inParams->inErrorLogStream); - - // Get service IDs - (void)QTSS_IDForService(QTSS_REREAD_PREFS_SERVICE, &sRereadPreferences); - (void)QTSS_IDForService("RollAccessLog", &sRollAccessLog); - (void)QTSS_IDForService("RollErrorLog", &sRollErrorLog); - - sHistoryMutex = NEW OSMutex(); - sStartupTime = ::time(NULL);//store time_t value for startup of the server - - //allocate enough space to store the largest attribute possible - sAttributeBuffer = NEW char[sizeof(QTSServerHistoryRec)]; - sThread = NEW QTSSvrControlThread(); - if (sThread->HasErrorOccurred()) - { - delete sThread; - sThread = NULL; - return QTSS_RequestFailed; - } - return QTSS_NoErr; - -} - -QTSS_Error Shutdown() -{ - if (sThread != NULL) - delete sThread; - return QTSS_NoErr; -} - - - -kern_return_t StopServer(int inMinutes) -{ - //if time is -1, we're supposed to wait until all clients have disconnected - if (inMinutes == -1) - { - QTSS_ServerState theState = qtssRefusingConnectionsState; - (void)QTSS_SetValue(sServer, qtssSvrState, 0, &theState, sizeof(theState)); - sGracefulShutdownInProgress = true; - } - else - { - //just set the server state to shutting down - QTSS_ServerState theShutDownState = qtssShuttingDownState; - (void)QTSS_SetValue(sServer, qtssSvrState, 0, &theShutDownState, sizeof(theShutDownState)); - } - return SCNoError; -} - -kern_return_t CancelStopServer() -{ - //Not yet implemented - return SCNoError; -} - -void CheckShutdown() -{ - if (sGracefulShutdownInProgress) - { - QTSServerStatusRec theServerStatus; - kern_return_t theErr = GetServerStatusRec(&theServerStatus); - if ((theErr == SCNoError) && (theServerStatus.numCurrentConnections == 0)) - theErr = StopServer(0); - } -} - -kern_return_t SetServerAttribute(AttributeType attrib, UInt32 /*tagSize*/, - void* /*tags*/, unsigned int bufSize, void* buffer) -{ - if ((attrib.attribClass != kServerAttr) || (attrib.version != kCurrentVersion)) - { - //because the buffer is being passed out of line, make sure to free it up - vm_deallocate(task_self(), (unsigned int)buffer, bufSize); - return SCNoError; - } - - kern_return_t theError = SCNoError; - - switch (attrib.attribKind) - { - case kRefuseConnectionsAttr: - { - if ((buffer != NULL) && (bufSize == sizeof(QTSRefuseConnectionsRec))) - theError = SetRefuseConnections((QTSRefuseConnectionsRec*)buffer); - else - theError = SCBufferToSmall; - break; - } - case kRereadPreferencesAttr: - { - theError = RereadPreferences(); - break; - } - case kLogRollAttr: - { - if ((buffer != NULL) && (bufSize == sizeof(QTSLogRollRec))) - theError = RollLogNow((QTSLogRollRec*)buffer); - else - theError = SCBufferToSmall; - break; - } - default: - theError = SCUnsupportedAttrib; - } - - vm_deallocate(task_self(), (unsigned int)buffer, bufSize); - return theError; -} - -kern_return_t GetServerAttribute(AttributeType attrib, UInt32 /*tagSize*/, - void* /*tags*/, unsigned int bufSize, - unsigned int* attribSize, void** buffer) -{ - Assert(buffer != NULL); - Assert(sAttributeBuffer != NULL); - - if ((attribSize == NULL) || (buffer == NULL)) - return SCParamErr; - - *attribSize = 0; - //use the sAttributeBuffer memory to store the attribute. This buffer - //should be big enough to store the largest attribute - *buffer = sAttributeBuffer; - - if ((attrib.attribClass != kServerAttr) || (attrib.version != kCurrentVersion)) - return SCUnsupportedAttrib; - - kern_return_t theError = SCNoError; - - switch (attrib.attribKind) - { - case kDNSNameAttr: - { - if (bufSize >= sizeof(QTSServerDNSName)) - { - *attribSize = sizeof(QTSServerDNSName); - theError = GetServerName((QTSServerDNSName*)sAttributeBuffer); - } - else - theError = SCBufferToSmall; - break; - } - case kProcessInfoAttr: - { - if (bufSize >= sizeof(QTSProcessInfoRec)) - { - *attribSize = sizeof(QTSProcessInfoRec); - theError = GetProcessInfo((QTSProcessInfoRec*)sAttributeBuffer); - } - else - theError = SCBufferToSmall; - break; - } - case kVersionAttr: - { - if (bufSize >= sizeof(QTSServerVersionRec)) - { - *attribSize = sizeof(QTSServerVersionRec); - theError = GetServerVersion((QTSServerVersionRec*)sAttributeBuffer); - } - else - theError = SCBufferToSmall; - break; - } - case kStatusAttr: - { - if (bufSize >= sizeof(QTSServerStatusRec)) - { - *attribSize = sizeof(QTSServerStatusRec); - theError = GetServerStatusRec((QTSServerStatusRec*)sAttributeBuffer); - } - else - theError = SCBufferToSmall; - break; - } - case kRefuseConnectionsAttr: - { - if (bufSize >= sizeof(QTSRefuseConnectionsRec)) - { - *attribSize = sizeof(QTSRefuseConnectionsRec); - theError = GetRefuseConnections((QTSRefuseConnectionsRec*)sAttributeBuffer); - } - else - theError = SCBufferToSmall; - break; - } - case kHistoryAttr: - { - if (bufSize >= sizeof(QTSServerHistoryRec)) - { - *attribSize = sizeof(QTSServerHistoryRec); - theError = GetHistory((QTSServerHistoryRec*)sAttributeBuffer); - } - else - theError = SCBufferToSmall; - break; - } - default: - theError = SCUnsupportedAttrib; - } - return theError; -} - -kern_return_t RereadPreferences() -{ - //Just tell the prefs object to reread. This is totally thread safe. - (void)QTSS_DoService(sRereadPreferences, NULL); - return SCNoError; -} - -kern_return_t RollLogNow(QTSLogRollRec* theRollLogRec) -{ - if (theRollLogRec->rollTransferLog) - (void)QTSS_DoService(sRollAccessLog, NULL); - if (theRollLogRec->rollErrorLog) - (void)QTSS_DoService(sRollErrorLog, NULL); - return SCNoError; -} - -kern_return_t GetProcessInfo(QTSProcessInfoRec* inProcessInfo) -{ - Assert(NULL != inProcessInfo); - inProcessInfo->processID = getpid(); - inProcessInfo->startupTime = sStartupTime; - return SCNoError; -} - -kern_return_t GetServerName(QTSServerDNSName* outServerName) -{ - StrPtrLen theDNSName; - (void)QTSS_GetValuePtr(sServer, qtssSvrDefaultDNSName, 0, (void**)&theDNSName.Ptr, &theDNSName.Len); - if (theDNSName.Ptr != NULL) - ::strncpy(outServerName->dnsName, theDNSName.Ptr, kDNSNameSize); - outServerName->dnsName[kDNSNameSize-1] = '\0'; - - return SCNoError; -} - -kern_return_t GetServerVersion(QTSServerVersionRec* outServerVersion) -{ - Assert(outServerVersion != NULL); - - outServerVersion->serverVersion = 0x00000000; - outServerVersion->serverControlAPIVersion = 0x00000000; - - StrPtrLen theServerVersion; - - (void)QTSS_GetValuePtr(sServer, qtssSvrServerVersion, 0, (void**)&theServerVersion.Ptr, &theServerVersion.Len); - - Assert(theServerVersion.Ptr != NULL); - Assert(theServerVersion.Len > 0); - - if ((theServerVersion.Ptr != NULL) && (theServerVersion.Len > 0)) - { - // - // Convert the server version string to a long. Look for and extract major, minor, very minor - // revision number - StringParser theVersionParser(&theServerVersion); - outServerVersion->serverVersion = theVersionParser.ConsumeInteger(NULL); - outServerVersion->serverVersion <<= 8; - - theVersionParser.ConsumeUntil(NULL, StringParser::sDigitMask); - outServerVersion->serverVersion += theVersionParser.ConsumeInteger(NULL); - outServerVersion->serverVersion <<= 8; - - theVersionParser.ConsumeUntil(NULL, StringParser::sDigitMask); - outServerVersion->serverVersion += theVersionParser.ConsumeInteger(NULL); - } - - // Get the API version out of the server as well - UInt32 theVersionLen = sizeof(outServerVersion->serverControlAPIVersion); - (void)QTSS_GetValue(sServer, qtssServerAPIVersion, 0, &outServerVersion->serverControlAPIVersion, &theVersionLen); - - return SCNoError; -} - -kern_return_t GetServerStatusRec(QTSServerStatusRec* outServerStatus) -{ - Assert(outServerStatus != NULL); - ::memset(outServerStatus, 0, sizeof(QTSServerStatusRec)); - - QTSS_ServerState theState = qtssRunningState; - UInt32 theSize = sizeof(theState); - - (void)QTSS_GetValue(sServer, qtssSvrState, 0, &theState, &theSize); - - //Convert the RTPServerInterface state to the server control's state - if (sGracefulShutdownInProgress) - outServerStatus->serverState = kSCGoingToShutDown; - else if (theState == qtssRefusingConnectionsState) - outServerStatus->serverState = kSCRefusingConnections; - else if (theState == qtssStartingUpState) - outServerStatus->serverState = kSCStartingUp; - else if (theState == qtssShuttingDownState) - outServerStatus->serverState = kSCShuttingDown; - else - outServerStatus->serverState = kSCRunning; - - outServerStatus->numCurrentConnections = 0; - outServerStatus->connectionsSinceStartup = 0; - outServerStatus->currentBandwidth = 0; - outServerStatus->bytesSinceStartup = 0; - - //get the 4 key stats out of the RTP server - theSize = sizeof(outServerStatus->numCurrentConnections); - (void)QTSS_GetValue(sServer, qtssRTPSvrCurConn, 0, &outServerStatus->numCurrentConnections, &theSize); - - theSize = sizeof(outServerStatus->connectionsSinceStartup); - (void)QTSS_GetValue(sServer, qtssRTPSvrTotalConn, 0, &outServerStatus->connectionsSinceStartup, &theSize); - - theSize = sizeof(outServerStatus->currentBandwidth); - (void)QTSS_GetValue(sServer, qtssRTPSvrCurBandwidth, 0, &outServerStatus->currentBandwidth, &theSize); - - theSize = sizeof(outServerStatus->bytesSinceStartup); - (void)QTSS_GetValue(sServer, qtssRTPSvrTotalBytes, 0, &outServerStatus->bytesSinceStartup, &theSize); - return SCNoError; -} - -kern_return_t GetRefuseConnections(QTSRefuseConnectionsRec* outRefuseConnections) -{ - QTSS_ServerState theState = qtssRunningState; - UInt32 theSize = sizeof(theState); - - (void)QTSS_GetValue(sServer, qtssSvrState, 0, &theState, &theSize); - - if (theState == qtssRefusingConnectionsState) - outRefuseConnections->refuseConnections = true; - else - outRefuseConnections->refuseConnections = false; - return SCNoError; -} - -kern_return_t SetRefuseConnections(QTSRefuseConnectionsRec* inRefuseConnections) -{ - //make sure not to allow people to stop the server from refusing connections when it - //is in the process of a graceful shutdown. The only way to stop this is to call - //CancelStopServer - if (sGracefulShutdownInProgress) - return SCServerShuttingDown; - - QTSS_ServerState theState = qtssRunningState; - UInt32 theSize = sizeof(theState); - - if (inRefuseConnections->refuseConnections != 0) - theState = qtssRefusingConnectionsState; - - (void)QTSS_SetValue(sServer, qtssSvrState, 0, &theState, theSize); - return SCNoError; -} - -kern_return_t GetHistory(QTSServerHistoryRec* outHistory) -{ - OSMutexLocker locker(sHistoryMutex); - Assert(outHistory != NULL); - //copy the current state of the array into this parameter - -#if DEBUG - //if we haven't filled up the array yet, make sure that the cursor is - //one ahead of the size - if (sHistoryArray.numEntries < kQTSHistoryArraySize) - Assert(sCursor == (UInt32)sHistoryArray.numEntries); -#endif - - UInt32 theDestinationIndex = 0;//marker for where to write into the array next - - //if we have filled up the array, we will have to do 2 separate copies to fill outHistory. - //Start by copying from fCursor to kMaxArraySize - if (sHistoryArray.numEntries == kQTSHistoryArraySize) - { - ::memcpy(outHistory->historyArray, &sHistoryArray.historyArray[sCursor], - (kQTSHistoryArraySize - sCursor) * sizeof(QTSHistoryEntryRec)); - theDestinationIndex += kQTSHistoryArraySize - sCursor; - } - - //There is ALWAYS valid data between 0 -> fCursor - 1. So copy that now - ::memcpy(&outHistory->historyArray[theDestinationIndex], sHistoryArray.historyArray, - sCursor * sizeof(QTSHistoryEntryRec)); - -#if DEBUG - //we should always write out the same number of entries as is in the fHistoryArray! - theDestinationIndex += sCursor; - Assert(theDestinationIndex == (UInt32)sHistoryArray.numEntries); -#endif - - //ok, now set the size of the output array - outHistory->numEntries = sHistoryArray.numEntries; - outHistory->entryInterval = sHistoryIntervalInSecs; - - return SCNoError; -} - -void AddHistorySample() -{ - // Retrieve the bandwidth & session count parameters from the server - UInt32 theCurrentSessions = 0; - UInt32 theSize = sizeof(theCurrentSessions); - (void)QTSS_GetValue(sServer, qtssRTPSvrCurConn, 0, &theCurrentSessions, &theSize); - - UInt32 theCurrentBandwidth = 0; - theSize = sizeof(theCurrentBandwidth); - (void)QTSS_GetValue(sServer, qtssRTPSvrCurBandwidth, 0, &theCurrentBandwidth, &theSize); - - OSMutexLocker locker(sHistoryMutex); - - //keep track of maximums. - if ((long)theCurrentBandwidth > sBandwidthHi) - sBandwidthHi = theCurrentBandwidth; - if ((long)theCurrentSessions > sConnectionHi) - sConnectionHi = theCurrentSessions; - - //keep track of minimums. - if (((long)theCurrentBandwidth < sBandwidthLo) || (sBandwidthLo == -1)) - sBandwidthLo = theCurrentBandwidth; - if (((long)theCurrentSessions < sConnectionLo) || (sConnectionLo == -1)) - sConnectionLo = theCurrentSessions; - - //keep track of sum for eventual average - //fBandwidthAvg += theCurrentBandwidth; <---this was overflowing at high bitrates - //fConnectionAvg += theCurrentSessions; - - // fBandwidthAvg was overflowing, - // so now we do it the ugly way - sBandwidthAvg =(theCurrentBandwidth+(sBandwidthAvg*sSampleIndex))/(sSampleIndex+1); - sConnectionAvg =(theCurrentSessions+(sConnectionAvg*sSampleIndex))/(sSampleIndex+1); - - sSampleIndex++; -} - -void UpdateHistoryArray() -{ - OSMutexLocker locker(sHistoryMutex); - - if (sSampleIndex == 0) - { - Assert(false); - return; - } - - //figure out min, max, average over this period - sHistoryArray.historyArray[sCursor].bandwidthAvg = sBandwidthAvg; - sHistoryArray.historyArray[sCursor].numClientsAvg = sConnectionAvg; - - sHistoryArray.historyArray[sCursor].bandwidthHi = sBandwidthHi; - sHistoryArray.historyArray[sCursor].numClientsHi = sConnectionHi; - - sHistoryArray.historyArray[sCursor].bandwidthLo = sBandwidthLo; - sHistoryArray.historyArray[sCursor].numClientsLo = sConnectionLo; - - //ok, increment the cursor for the next write (make sure to reset it if we've hit - //the array boundary) - sCursor++; - if (sCursor == kQTSHistoryArraySize) - sCursor = 0; - - //also update the array size. This only increments until the array is full, of course. - if (sHistoryArray.numEntries < kQTSHistoryArraySize) - sHistoryArray.numEntries++; - - //reset the sample index & related variables. We're moving onto a new entry now. - sBandwidthLo = -1; - sConnectionLo = -1; - sBandwidthHi = 0; - sConnectionHi = 0; - sBandwidthAvg = 0; - sConnectionAvg = 0; - - sSampleIndex = 0; -} - - -QTSSvrControlThread::QTSSvrControlThread() -: fMessagePort(0), - fDone(false), fErrorOccurred(false), fDoneStartingUp(false), fThreadsAllocated(false) -{ - kern_return_t r; - - r = ::port_allocate(task_self(), &fMessagePort); - if (r != SCNoError) - { - QTSSModuleUtils::LogError(qtssFatalVerbosity, sCantAllocateErr, 0); - fErrorOccurred = true; - fDoneStartingUp = true; - return; - } - - for (int x = 0; x < 5; x++) - { - r = ::bootstrap_register(bootstrap_port, "QuickTimeStreamingServer", fMessagePort); - //sometimes when restarting the server right after the server has gone away, - //this can fail... so let's retry a couple of times - if (r != SCNoError) - thread_switch(THREAD_NULL, SWITCH_OPTION_WAIT, 1000); - else - break; - } - - if (r != SCNoError) - { - QTSSModuleUtils::LogError(qtssFatalVerbosity, sCantRegisterErr, 0); - fErrorOccurred = true; - fDoneStartingUp = true; - return; - } - - //I'm just assuming this always succeeds cause the mach documentation doesn't say - //anything about it failing! - fThreadID = ::cthread_fork((cthread_fn_t)_Entry, (any_t)this); - fHistoryThreadID = ::cthread_fork((cthread_fn_t)_HistoryEntry, (any_t)this); - fThreadsAllocated = true; - - while (!fDoneStartingUp) - ::cthread_yield(); -} - -QTSSvrControlThread::~QTSSvrControlThread() -{ - fDone = true; - port_deallocate(task_self(), fMessagePort);//force SC thread to wakeup - fMessagePort = 0; - //wait for thread to terminate... these mach prototypes are very strange... - //why, for instance, does thread_resume take an INT???? - if (fThreadsAllocated) - { - thread_resume((unsigned int)fThreadID);//force a wakeup. - cthread_join(fThreadID); - thread_resume((unsigned int)fHistoryThreadID); - cthread_join(fHistoryThreadID); - } -} - -void QTSSvrControlThread::_Entry(QTSSvrControlThread *thread) //static -{ - thread->Entry(); -} -void QTSSvrControlThread::_HistoryEntry(QTSSvrControlThread *thread) //static -{ - thread->HistoryEntry(); -} - -void QTSSvrControlThread::HistoryEntry() -{ - //compute how often to run this thread. - QTSSModuleUtils::GetAttribute(sPrefs, "history_update_interval", qtssAttrDataTypeUInt32, - &sHistoryIntervalInSecs, &sDefaultHistoryIntervalInSecs, sizeof(sHistoryIntervalInSecs)); - UInt32 theSampleInterval = (sHistoryIntervalInSecs * 1000) / kNumSamplesPerEntry; - UInt32 theEntryInterval = sHistoryIntervalInSecs * 1000; - - //use local time to figure out when we need move onto a new entry. This - //will eliminate the possibility that we drift off time. - - SInt64 theStartTime = QTSS_Milliseconds(); - Assert(theStartTime > 0); - - while (!fDone) - { - //sleep for the kHistoryUpdateInterval - //kHistoryUpdateInterval is in minutes. Convert to msec. - thread_switch(THREAD_NULL, SWITCH_OPTION_WAIT, theSampleInterval); - - //if server is doing a graceful shutdown, this thread is used to periodically - //poll, checking if all connections are complete - CheckShutdown(); - - //every time we wake up, first thing we want to do is sample the - //current state of the server for the history - AddHistorySample(); - - SInt64 theCurrentTime = QTSS_Milliseconds(); - Assert(theCurrentTime > 0); - - if ((theCurrentTime - theStartTime) > theEntryInterval) - { - UpdateHistoryArray(); - theStartTime += theEntryInterval; - } - } -} - -void QTSSvrControlThread::Entry() -{ - kern_return_t r; - - msg_header_t* msg = (msg_header_t*)new char[100]; - msg_header_t* reply = (msg_header_t*)new char[1000]; - //signal - fDoneStartingUp = true; - - while(!fDone) - { - msg->msg_local_port = fMessagePort; - msg->msg_size = 100; - - r = msg_receive(msg, MSG_OPTION_NONE, 0); - - if (r == RCV_INVALID_PORT) - break; //break because there's no more port to receive from - if (r != SCNoError) - { - QTSSModuleUtils::LogError(qtssFatalVerbosity, sFatalErr, 0); - - //attempt to stop the server - StopServer(0); - break; - } - - QTSCRPI_server(msg, reply); - - reply->msg_local_port = fMessagePort; - r = msg_send(reply, MSG_OPTION_NONE, 0); - } - - if (fMessagePort != 0) - port_deallocate(task_self(), fMessagePort); -} - - - -//The following are the "modern" server control RPCs that map directly to server -//control interface calls. - -kern_return_t _SCRPIStopServer(port_t /*server*/, int numMinutes) -{ - return StopServer(numMinutes); -} - -kern_return_t _SCRPICancelStopServer(port_t /*server*/) -{ - return CancelStopServer(); -} - - -kern_return_t _SCRPIGetServerAttribute( port_t /*server*/, AttributeType attr, int bufSize, - AttributeValue* buffer, unsigned int* actualSize) -{ - return GetServerAttribute(attr, 0, NULL, (unsigned int)bufSize, actualSize, buffer); -} - -kern_return_t _SCRPISetServerAttribute( port_t /*server*/, AttributeType attr, - AttributeValue buffer, unsigned int size) -{ - return SetServerAttribute(attr, 0, NULL, size, buffer); -} - diff --git a/APIModules/QTSSSvrControlModule/ServerControlAPI.h b/APIModules/QTSSSvrControlModule/ServerControlAPI.h deleted file mode 100644 index 3aa59d4..0000000 --- a/APIModules/QTSSSvrControlModule/ServerControlAPI.h +++ /dev/null @@ -1,379 +0,0 @@ -/* - * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - * - */ - -#ifndef SERVERCONTROLAPI_H -#define SERVERCONTROLAPI_H - -#include -#include -#include "SafeStdLib.h" -#ifndef MAC -#include -#include -#include -//#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef long SCErr; - - - -enum // errors (?? What kind of values should these have ??) should fit SCRef type - CNR 4/20 -{ - SCNoError = 0, - SCWrongLibraryVersion = -10000, - SCBufferToSmall = -10001, - SCUnsupportedAttrib = -10002, - SCNoMoreItems = -10003, - SCObjectNotFound = -10004, - SCServerRunning = -10005, - SCTagParamError = -10006, - SCVolumeBusy = -10007, - SCBadServerRef = -10008, - SCUnsupportedCall = -10009, //this server doesn't support this SC call - SCServerNotRunning = -10010, - SCParamErr = -10011, - SCParameterUnavailable = -10012, - SCMemAllocFailed = -10013, - SCServerShuttingDown = -10014, - SCObjectAlreadyExists = -10015, - - SCOSError = -10050, - SCRegisterationError = -10051, - SCNoServerName = -10052, - SCNoHFSVolumes = -10053, - SCGeneralAgentError = -10054, - SCGeneralNetWorkError = -10055 -}; - - -enum // warnings (?? What kind of values should these have ??) -{ - kNumStartUpWarnings = 10, - SCNoSharePoints = -10100, - SharePointInfoError = -10101 -}; - -enum // ServerTypes -{ - kAFPServer = 'afps', - kQTSServer = 'qtss', - kAllServers = 'alls' -}; - -enum // Attribute classes -{ - kServerAttr = 'srva', - kConnectionAttr = 'cona', - kSharePointAttr = 'shpa' -}; - -enum // server attribute types -{ - kNameAttr = 'name', - kStatusAttr = 'stat', - kActivityHistory = 'hist', - kActivitySampleTime = 'samt', - kWarningAttr = 'warn', - kCancelShutdownAttr = 'csdn', - kRefuseConnectionsAttr = 'refc', - kHistoryAttr = 'hist', - kDNSNameAttr = 'dnsn', - kRereadPreferencesAttr = 'rprf', - kProcessInfoAttr = 'pinf', - kLogRollAttr = 'logr', - kVersionAttr = 'vers' -}; - -enum // connection attribute types -{ - kSCUserID = 'uid ', - kConnectTime = 'cinf' -}; - -enum -{ - kCurrentVersion = 1 -}; - -enum //Session States -{ - kConnected = 1, - kLoggedIn = 2, - kDisconnecting = 3, - kLoggedOut = 4, - kTerminated = 5 -}; - -enum //Server States -{ - kSCServerNotRunning = 0, - kSCStartingUp = 1, - kSCRunning = 2, - kSCGoingToShutDown = 3, - kSCShuttingDown = 4, - kSCRefusingConnections = 5 -}; - -/* - * AFP SERVER - */ - -enum { kMaxDataPoints = 1024}; - -enum -{ - kSharePointCountProp = 'info' -}; - -typedef struct SharePointInfo -{ - u_long volumeID; - u_char name[512]; - struct timespec creationDate; - u_long dirID; -}SharePointInfo; - -typedef struct SharePointSpec -{ - u_long volumeID; - u_long dirID; - char filename[512]; -}SharePointSpec; - -typedef struct HistoryData{ - u_int8_t dpMin; - u_int8_t dpMax; - u_int8_t dpAverage; - u_int8_t filler; -} HistoryData; - -typedef struct ServerHistoryRec{ - u_int32_t historySyncCount; - u_int32_t historyLastSample; - u_int16_t historySampleTime; - u_int16_t numDataPoints; - HistoryData dataPoint[kMaxDataPoints]; -} ServerHistoryRec; - - -typedef struct AttributeType -{ - u_int attribClass; - u_int attribKind; - int version; -}AttributeType; - -typedef struct ServerStatusRec -{ - long serverVersion; - long serverState; - long secondsToShutdown; - long currentActivity; -}ServerStatusRec; - -typedef struct UserAttributeRec -{ - unsigned long startTime; - unsigned long idleTime; - int connectionType; - unsigned long address; - unsigned long disconnectID; -}UserAttributeRec; - -enum // sharePointTypes -{ - kSCSuperUser = 0, - kSCNormalUser = 1, - kSCSharePointRec -}; - -/* - * QTS SERVER - */ - - enum //History attribute stuff -{ - kQTSHistoryArraySize = 720 -}; - -typedef struct QTSServerVersionRec -{ - long serverVersion; //public vershun of the server: 0x00010001 = 1.0.1 - long serverControlAPIVersion; //vershun of server control API supported by server -} QTSServerVersionRec; - -typedef struct QTSServerStatusRec -{ - long serverState; - long numCurrentConnections; - long currentBandwidth; - long connectionsSinceStartup; - long long bytesSinceStartup; -}QTSServerStatusRec; - -typedef struct QTSHistoryEntryRec -{ - long numClientsAvg; - long numClientsHi; - long numClientsLo; - long bandwidthAvg; - long bandwidthHi; - long bandwidthLo; -}QTSHistoryEntryRec; - -typedef struct QTSRefuseConnectionsRec -{ - long refuseConnections; -}QTSRefuseConnectionsRec; - - -typedef struct QTSServerHistoryRec -{ - QTSHistoryEntryRec historyArray[kQTSHistoryArraySize]; - long numEntries; - long entryInterval;//in seconds -}QTSServerHistoryRec; - -enum -{ - kDNSNameSize = 60 -}; - -typedef struct QTSServerDNSName -{ - char dnsName[kDNSNameSize]; -}QTSServerDNSName; - -typedef struct QTSProcessInfoRec -{ - time_t startupTime; - pid_t processID; -}QTSProcessInfoRec; - -typedef struct QTSLogRollRec -{ - long rollTransferLog; - long rollErrorLog; -}QTSLogRollRec; - - -typedef unsigned long SCRef; -typedef SCRef SessionRef; -typedef SCRef ConnectionIterRef; -typedef SCRef ConnectionRef; -typedef SCRef SharePointIterRef; -typedef SCRef SharePointRef; -typedef SCRef ServerRef; -typedef SCRef WarningsIterRef; -typedef SCRef WarningsRef; - -//Iterator IDs -enum -{ - kConnectionIterID = 1, - kSharePointIterID, - kWarningsIterID -}; - - -extern const AttributeType kServerNBPName; -extern const AttributeType kServerStatus; -extern const AttributeType kServerHistory; -extern const AttributeType kCancelShutdown; - -extern const AttributeType kConnectionName; -extern const AttributeType kConnectionID; -extern const AttributeType kConnectionInfo; - -extern const AttributeType kSharePointName; -extern const AttributeType kWarnings; - -//new attributes added for QTSS - -extern const AttributeType kServerRefuseConnections;//tells the server to stop accepting conn. -extern const AttributeType kServerRereadPreferences;//set: reread preferences now! -extern const AttributeType kServerDNSName;//get primary dns name of server -extern const AttributeType kServerProcessInfo;//info on the server process -extern const AttributeType kServerLogRoll;//set this: roll the log now -extern const AttributeType kServerVersion; - - -SCErr SCGetServer(u_int serverType, ServerRef* server); - -SCErr SCStartServer(ServerRef server); -SCErr SCStopServer(ServerRef server, int numMinutes, void* buffer, unsigned int bufferLength);//passing a -1 to QTSS (for numminutes) - //tells it to quit when all connections are done -SCErr SCCancelStopServer(ServerRef server); - -SCErr SCAddVolume(fsvolid_t hfsVolID); -SCErr SCForgetVolume(fsvolid_t hfsVolID); - -//SCErr GetSimpleServerAttribute(ServerRef server, AttributeType attrib, long* value); -SCErr GetServerAttribute(ServerRef server, AttributeType attrib, u_int32_t tagSize, void* tags, int bufSize, int* attribSize, void* buffer); - -//SCErr SetSimpleServerAttribute(ServerRef server, AttributeType attrib, long value); -//SCErr SetServerAttribute(ServerRef server, AttributeType attrib, int attribSize, void* buffer); -SCErr SetServerAttribute(ServerRef server, AttributeType attrib, u_int32_t tagSize, void* tags, int bufSize, void* buffer); - -SCErr CreateConnectionIter(ServerRef server, ConnectionIterRef* iter); -SCErr DeleteConnectionIter(ConnectionIterRef iter); -SCErr GetNextConnection(ConnectionIterRef iter, ConnectionRef* con); - -//SCErr GetSimpleConnectionAttribute(ConnectionRef con, AttributeType attrib, long* value); -SCErr GetConnectionAttribute(ConnectionRef con, AttributeType attrib, int bufSize, int* attribSize, void* buffer); - -SCErr CreateSharePointIter(ServerRef server, int sharePointType, SharePointIterRef* iter); -SCErr DeleteSharePointIter(SharePointIterRef iter); -SCErr GetNextSharePoint(SharePointIterRef iter, SharePointRef* con); - -//SCErr GetSimpleSharePointAttribute(SharePointRef con, AttributeType attrib, long* value); -SCErr GetSharePointAttribute(SharePointRef con, AttributeType attrib, int bufSize, int* attribSize, void* buffer); - -SCErr CreateWarningsIter(ServerRef server, WarningsIterRef* iter); -SCErr DeleteWarningsIter(WarningsIterRef iter); -SCErr GetNextWarning(WarningsIterRef iter, WarningsRef* warning); -SCErr GetWarningAttribute(WarningsRef warning, AttributeType attrib, int bufSize, int* attribSize, void* buffer); - -SCErr DisconnectSessions(ServerRef server, int numMinutes, unsigned int* buffer, unsigned int bufferLength, char* message, int* stopTaskID); -SCErr CancelStopTask(ServerRef server, int id); - -SCErr AddSharePoint(ServerRef server, SharePointSpec* spRecBuffer); -SCErr RemoveSharePoint(ServerRef server, SharePointSpec* spRecBuffer); - -SCErr SendMessage(ServerRef server, unsigned int* buffer, unsigned int bufferCnt, char* message); - -SCErr RegisterForEvents(ServerRef server, long events, long eventRecVersion, port_t receiverPort); - -#ifdef __cplusplus -} -#endif - -#endif /*SERVERCONTROLAPI_H*/ diff --git a/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.cpp b/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.cpp index 0d556f1..37157fc 100644 --- a/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.cpp +++ b/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -128,7 +128,7 @@ QTSS_Error Filter(QTSS_Filter_Params* inParams) //write out header and total allocated memory char buffer[1024]; - qtss_sprintf(buffer, "TimeShare Debug PageTotal dynamic memory allocated: %ld

List of objects:
", OSMemory::GetAllocatedMemory()); + qtss_sprintf(buffer, "TimeShare Debug PageTotal dynamic memory allocated: %"_S32BITARG_"

List of objects:
", OSMemory::GetAllocatedMemory()); (void)QTSS_Write(inParams->inRTSPRequest, buffer, ::strlen(buffer), &theLen, 0); //now report the list of tags: @@ -138,7 +138,7 @@ QTSS_Error Filter(QTSS_Filter_Params* inParams) Assert(elem != NULL); if (elem->numObjects > 0) { - qtss_sprintf(buffer, "Object allocated at: %s, %d. Number of currently allocated objects: %ld, Total size: %ld
", elem->fileName, elem->line, elem->numObjects, elem->totMemory); + qtss_sprintf(buffer, "Object allocated at: %s, %d. Number of currently allocated objects: %"_S32BITARG_", Total size: %"_S32BITARG_"
", elem->fileName, elem->line, elem->numObjects, elem->totMemory); (void)QTSS_Write(inParams->inRTSPRequest, buffer, ::strlen(buffer), &theLen, 0); } } diff --git a/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.h b/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.h index cba829d..efd3530 100644 --- a/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.h +++ b/APIModules/QTSSWebDebugModule/QTSSWebDebugModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.cpp b/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.cpp index 7be057d..4da7287 100644 --- a/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.cpp +++ b/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -58,6 +58,9 @@ static QTSS_PrefsObject sServerPrefs = NULL; static Bool16 sFalse = false; static time_t sStartupTime = 0; +static char* sDefaultURL = ""; +static StrPtrLen sDefaultURLStr; +static char* sDefaultURLPrefName = "web_stats_url"; static QTSS_Error QTSSWebStatsModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams); @@ -122,6 +125,10 @@ QTSS_Error Initialize(QTSS_Initialize_Params* inParams) sServerPrefs = inParams->inPrefs; sStartupTime = ::time(NULL); + + sDefaultURLStr.Delete(); + sDefaultURLStr.Set(QTSSModuleUtils::GetStringAttribute(sPrefs, sDefaultURLPrefName, sDefaultURL)); + return QTSS_NoErr; } @@ -157,6 +164,7 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) 0, 0, 0, 0, 0, 1 //250-255 }; + //check to see if we should handle this request. Invokation is triggered //by a "GET /" request @@ -181,14 +189,14 @@ QTSS_Error FilterRequest(QTSS_Filter_Params* inParams) Bool16 displayHelp = false; - OSCharArrayDeleter theWebStatsURL(GetPrefAsString(sPrefs, "web_stats_url")); + OSCharArrayDeleter theWebStatsURL(GetPrefAsString(sPrefs, sDefaultURLPrefName)); StrPtrLen theWebStatsURLPtr(theWebStatsURL.GetObject()); // If there isn't any web stats URL, we can just return at this point if (theWebStatsURLPtr.Len == 0) return QTSS_NoErr; - fullRequest.ConsumeUntil(&strPtr, StringParser::sEOLWhitespaceMask); + fullRequest.ConsumeUntil(&strPtr, StringParser::sEOLWhitespaceQueryMask); if ( strPtr.Len != 0 && strPtr.Equal(theWebStatsURLPtr) ) //it's a "stats" request { if ( fullRequest.Expect('?') ) @@ -289,9 +297,10 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH {"numudpsockets", 51}, {"apiversion", 52}, {"numreliableudpbuffers", 53}, - {"reliableudpwastedbytes", 54} + {"reliableudpwastedbytes", 54}, + {"numtaskthreads", 55} }; - const int kMaxFieldNum = 54; + const int kMaxFieldNum = 55; static char* kEmptyStr = "?"; char* thePrefStr = kEmptyStr; @@ -301,7 +310,7 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH if (refreshInterval > 0) { - qtss_sprintf(buffer, "\n", refreshInterval); + qtss_sprintf(buffer, "\n", refreshInterval); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); } @@ -330,7 +339,7 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH static StrPtrLen sHelpLine6("

The three possible parameters to stats are:

\n"); static StrPtrLen sHelpLine7("

\"help\" -- shows the help information you're reading right now.

\n"); static StrPtrLen sHelpLine8("

\"refresh=[n]\" -- tells the browser to automatically update the page every [n] seconds.

\n"); - static StrPtrLen sHelpLine9("

\"fields=[fieldList]\" -- show only the fields specified in [fieldList]

\n"); + static StrPtrLen sHelpLine9("

\"fields=[fieldList]\" -- show only the fields specified in comma delimited [fieldList]

\n"); static StrPtrLen sHelpLine10("
The following fields are available for use with the \"fields\" option:

\n"); (void)QTSS_Write(inStream, sHelpLine1.Ptr, sHelpLine1.Len, NULL, 0); @@ -430,10 +439,27 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH case 3: { + char uptimebuffer[1024]; time_t curTime = ::time(NULL); - char buffer[kTimeStrSize]; - qtss_sprintf(buffer, "Current Time: %s
\n", qtss_ctime(&curTime, buffer, sizeof(buffer))); - (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); + qtss_sprintf(uptimebuffer, "Current Time: %s
\n", qtss_ctime(&curTime, buffer, sizeof(buffer))); + (void)QTSS_Write(inStream, uptimebuffer, ::strlen(uptimebuffer), NULL, 0); + + time_t upTime = curTime - sStartupTime; + #define kDaySeconds (24 * 60 * 60) + #define kHourSeconds (60 * 60) + #define kMinuteSeconds 60 + + UInt32 upTimeDays = upTime / kDaySeconds; + UInt32 upTimeHours = (upTime % kDaySeconds) / kHourSeconds; + UInt32 upTimeMinutes = (upTime % kHourSeconds) / kMinuteSeconds; + UInt32 upTimeSeconds = (upTime % kMinuteSeconds); + qtss_snprintf(uptimebuffer,sizeof(uptimebuffer), "Up Time Total Seconds: %"_U32BITARG_"
\n", upTime); + uptimebuffer[sizeof(uptimebuffer) -1] = 0; + (void)QTSS_Write(inStream, uptimebuffer, ::strlen(uptimebuffer), NULL, 0); + + qtss_snprintf(uptimebuffer,sizeof(uptimebuffer), "Up Time: %"_U32BITARG_" days %"_U32BITARG_" hours %"_U32BITARG_" minutes %"_U32BITARG_" seconds
\n", upTimeDays, upTimeHours,upTimeMinutes, upTimeSeconds); + uptimebuffer[sizeof(uptimebuffer) -1] = 0; + (void)QTSS_Write(inStream, uptimebuffer, ::strlen(uptimebuffer), NULL, 0); } break; @@ -446,9 +472,11 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH case 5: { StrPtrLen theVersion; - (void)QTSS_GetValuePtr(sServer, qtssSvrServerVersion, 0, (void**)&theVersion.Ptr, &theVersion.Len); + (void)QTSS_GetValuePtr(sServer, qtssSvrRTSPServerHeader, 0, (void**)&theVersion.Ptr, &theVersion.Len); Assert(theVersion.Ptr != NULL); - qtss_sprintf(buffer, "Server Version: %s
\n", theVersion.Ptr); + if (theVersion.Len > 7) //Skip the "Server:" text + theVersion.Ptr += 7; + qtss_sprintf(buffer, "Server Version: %s
\n", theVersion.Ptr); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); } break; @@ -465,7 +493,7 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH case 7: { - + char statusBuffer[1024]; const char* states[] = { "Starting Up", "Running", "Refusing Connections", @@ -477,12 +505,11 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH (void)QTSS_GetValue(sServer, qtssSvrState, 0, &theState, &theLen); if (theState == qtssRunningState) - { char buffer[kTimeStrSize]; - qtss_sprintf(buffer, "Status: %s since %s
", states[theState], qtss_ctime(&sStartupTime,buffer,sizeof(buffer))); + { qtss_snprintf(statusBuffer, sizeof(statusBuffer), "Status: %s since %s
", states[theState], qtss_ctime(&sStartupTime,buffer,sizeof(buffer))); } else - qtss_sprintf(buffer, "Status: %s
", states[theState]); - (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); + qtss_snprintf(statusBuffer,sizeof(statusBuffer), "Status: %s
", states[theState]); + (void)QTSS_Write(inStream, statusBuffer, ::strlen(statusBuffer), NULL, 0); } break; @@ -565,7 +592,7 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH theLen = sizeof(curBandwidth); (void)QTSS_GetValue(sServer, qtssRTPSvrCurBandwidth, 0, &curBandwidth, &theLen); - qtss_sprintf(buffer, "Current Throughput: %lu kbits
\n", curBandwidth/1024); + qtss_sprintf(buffer, "Current Throughput: %"_U32BITARG_" kbits
\n", curBandwidth/1024); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); } break; @@ -612,7 +639,7 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH case 23: { (void)QTSS_GetValueAsString(sServerPrefs, qtssPrefsMaximumBandwidth, 0, &thePrefStr); - qtss_sprintf(buffer, "Maximum Throughput: %s
\n",thePrefStr); + qtss_sprintf(buffer, "Maximum Throughput: %s Kbits
\n",thePrefStr); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); } break; @@ -836,8 +863,8 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH case 48: { - if (sReflectorPrefs != NULL) - { + if (sReflectorPrefs != NULL) + { thePrefStr = GetPrefAsString(sReflectorPrefs, "reflector_bucket_size"); qtss_sprintf(buffer, "Reflector Bucket Size: %s
\n", thePrefStr); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); @@ -890,7 +917,7 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH UInt32 reliableUDPBuffers = 0; UInt32 blahSize = sizeof(reliableUDPBuffers); (void)QTSS_GetValue(sServer, qtssSvrNumReliableUDPBuffers, 0, &reliableUDPBuffers, &blahSize); - qtss_sprintf(buffer, "Num Reliable UDP Retransmit Buffers: %lu
\n", reliableUDPBuffers); + qtss_sprintf(buffer, "Num Reliable UDP Retransmit Buffers: %"_U32BITARG_"
\n", reliableUDPBuffers); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); } break; @@ -900,10 +927,20 @@ void SendStats(QTSS_StreamRef inStream, UInt32 refreshInterval, Bool16 displayH UInt32 wastedBufSpace = 0; UInt32 blahSize2 = sizeof(wastedBufSpace); (void)QTSS_GetValue(sServer, qtssSvrReliableUDPWastageInBytes, 0, &wastedBufSpace, &blahSize2); - qtss_sprintf(buffer, "Amount of buffer space being wasted in UDP Retrans buffers: %lu
\n", wastedBufSpace); + qtss_sprintf(buffer, "Amount of buffer space being wasted in UDP Retrans buffers: %"_U32BITARG_"
\n", wastedBufSpace); (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); } break; + + case 55: + { + (void)QTSS_GetValueAsString(sServer, qtssSvrNumThreads, 0, &thePrefStr); + qtss_sprintf(buffer, "Number of Task Threads: %s
\n", thePrefStr); + (void)QTSS_Write(inStream, buffer, ::strlen(buffer), NULL, 0); + } + break; + + default: break; diff --git a/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.h b/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.h index c2146cd..6d72179 100644 --- a/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.h +++ b/APIModules/QTSSWebStatsModule/QTSSWebStatsModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIStubLib/QTSS.h b/APIStubLib/QTSS.h index 6d0baee..963fc0b 100644 --- a/APIStubLib/QTSS.h +++ b/APIStubLib/QTSS.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -37,7 +37,7 @@ extern "C" { #include #endif -#define QTSS_API_VERSION 0x00040000 +#define QTSS_API_VERSION 0x00050000 #define QTSS_MAX_MODULE_NAME_LENGTH 64 #define QTSS_MAX_SESSION_ID_LENGTH 32 #define QTSS_MAX_ATTRIBUTE_NAME_SIZE 64 @@ -89,8 +89,8 @@ typedef UInt32 QTSS_AddStreamFlags; // QTSS_PlayFlags used in the QTSS_Play Callback function. enum { - qtssPlayFlagsSendRTCP = 0x00000001, // have the server generate RTCP Sender Reports - qtssPlayFlagsAppendServerInfo = 0x00000002 // have the server append the server info APP packet to your RTCP Sender Reports + qtssPlayFlagsSendRTCP = 0x00000010, // have the server generate RTCP Sender Reports + qtssPlayFlagsAppendServerInfo = 0x00000020 // have the server append the server info APP packet to your RTCP Sender Reports }; typedef UInt32 QTSS_PlayFlags; @@ -118,7 +118,10 @@ enum { qtssActionFlagsNoFlags = 0x00000000, qtssActionFlagsRead = 0x00000001, - qtssActionFlagsWrite = 0x00000002 + qtssActionFlagsWrite = 0x00000002, + qtssActionFlagsAdmin = 0x00000004, + qtssActionFlagsExtended = 0x40000000, + qtssActionQTSSExtended = 0x80000000, }; typedef UInt32 QTSS_ActionFlags; @@ -200,7 +203,8 @@ enum { qtssRTPTransportTypeUDP = 0, qtssRTPTransportTypeReliableUDP = 1, - qtssRTPTransportTypeTCP = 2 + qtssRTPTransportTypeTCP = 2, + qtssRTPTransportType3GPPUDP = 3 }; typedef UInt32 QTSS_RTPTransportType; @@ -261,7 +265,12 @@ enum qtssModulePrefsObjectType = FOUR_CHARS_TO_INT('m', 'o', 'd', 'p'), //modp qtssAttrInfoObjectType = FOUR_CHARS_TO_INT('a', 't', 't', 'r'), //attr qtssUserProfileObjectType = FOUR_CHARS_TO_INT('u', 's', 'p', 'o'), //uspo - qtssConnectedUserObjectType = FOUR_CHARS_TO_INT('c', 'u', 's', 'r') //cusr + qtssConnectedUserObjectType = FOUR_CHARS_TO_INT('c', 'u', 's', 'r'), //cusr + qtss3GPPStreamObjectType = FOUR_CHARS_TO_INT('3', 's', 't', 'r'), //3str + qtss3GPPClientSessionObjectType = FOUR_CHARS_TO_INT('3', 's', 'e', 's'), //3ses + qtss3GPPRTSPObjectType = FOUR_CHARS_TO_INT('3', 'r', 't', 's'), //3rts + qtss3GPPRequestObjectType = FOUR_CHARS_TO_INT('3', 'r', 'e', 'q') //3req + }; typedef UInt32 QTSS_ObjectType; @@ -363,12 +372,23 @@ enum qtssAttrModeWrite = 2, qtssAttrModePreempSafe = 4, qtssAttrModeInstanceAttrAllowed = 8, - qtssAttrModeCacheable = 16, + qtssAttrModeCacheable = 16, qtssAttrModeDelete = 32 }; typedef UInt32 QTSS_AttrPermission; +enum +{ + qtssAttrRightNone = 0, + qtssAttrRightRead = 1 << 0, + qtssAttrRightWrite = 1 << 1, + qtssAttrRightAdmin = 1 << 2, + qtssAttrRightExtended = 1 << 30, // Set this flag in the qtssUserRights when defining a new right. The right is a string i.e. "myauthmodule.myright" store the string in the QTSS_UserProfileObject attribute qtssUserExtendedRights + qtssAttrRightQTSSExtended = 1 << 31 // This flag is reserved for future use by the server. Additional rights are stored in qtssUserQTSSExtendedRights. +}; +typedef UInt32 QTSS_AttrRights; // see QTSS_UserProfileObject + /**********************************/ //BUILT IN SERVER ATTRIBUTES @@ -429,12 +449,24 @@ enum qtssRTPStrSvrRTPPort = 36, //read //UInt16 // Port the server is sending RTP packets from for this stream qtssRTPStrClientRTPPort = 37, //read //UInt16 // Port the server is sending RTP packets to for this stream qtssRTPStrNetworkMode = 38, //read //QTSS_RTPNetworkMode // unicast or multicast - - qtssRTPStrNumParams = 39 + qtssRTPStr3gppObject = 39, //read //QTSS_3GPPStreamObject // QTSS_ObjectType qtss3GPPStreamObjectType 3gpp data for the stream object + qtssRTPStrThinningDisabled = 40, //read //Bool16 //Stream thinning is disabled on this stream. + qtssRTPStrNumParams = 41 }; typedef UInt32 QTSS_RTPStreamAttributes; +enum +{ + //All text names are identical to the enumerated type names + qtss3GPPStreamEnabled = 0, + qtss3GPPStreamRateAdaptBufferBytes = 1, + qtss3GPPStreamRateAdaptTimeMilli = 2, + qtss3GPPStreamNumParams = 3 +}; +typedef UInt32 QTSS_RTPStream3GPPAttributes; //QTSS_3GPPStreamObject + + enum { //QTSS_ClientSessionObject parameters. All of these are preemptive safe @@ -475,18 +507,35 @@ enum qtssCliSesPacketLossPercent = 27, //read //Float32 //Current percent loss as a fraction. .5 = 50%. This is not an average. qtssCliSesTimeConnectedInMsec = 28, //read //SInt64 //Time in milliseconds that this client has been connected. qtssCliSesCounterID = 29, //read //UInt32 //A unique, non-repeating ID for this session. - qtssCliSesRTSPSessionID = 30, //read //char array //The RTSP session ID that refers to this client session + qtssCliSesRTSPSessionID = 30, //read //char array//The RTSP session ID that refers to this client session qtssCliSesFramesSkipped = 31, //r/w //UInt32 //Modules can set this to be the number of frames skipped for this client - qtssCliSesTimeoutMsec = 32, //r/w //UInt32 // client session timeout in milliseconds refreshed by RefreshTimeout API call or any rtcp or rtp packet on the session. - qtssCliSesOverBufferEnabled = 33, //read //Bool16 // client overbuffers using dynamic rate streams + qtssCliSesTimeoutMsec = 32, //r/w //UInt32 // client session timeout in milliseconds refreshed by RefreshTimeout API call or any rtcp or rtp packet on the session. + qtssCliSesOverBufferEnabled = 33, //read //Bool16 // client overbuffers using dynamic rate streams qtssCliSesRTCPPacketsRecv = 34, //read //UInt32 //Number of RTCP packets received so far on this session. qtssCliSesRTCPBytesRecv = 35, //read //UInt32 //Number of RTCP bytes received so far on this session. qtssCliSesStartedThinning = 36, //read //Bool16 // At least one of the streams in the session is thinned - qtssCliSesNumParams = 37 + qtssCliSes3GPPObject = 37, //read //QTSS_3GPPClientSessionObject //QTSS_ObjectType qtss3GPPClientSessionObjectType + qtssCliSessLastRTSPBandwidth = 38, //read //UInt32 // The last RTSP Bandwidth header value received from the client. + qtssCliSessIs3GPPSession = 39, //read //Bool16 // Client is using 3gpp RTSP headers + qtssCliSesNumParams = 40 }; typedef UInt32 QTSS_ClientSessionAttributes; +//QTSS_3GPPClientSessionObject //class RTPSession3GPP +enum +{ + //All text names are identical to the enumerated type names + qtss3GPPCliSesEnabled = 0, //read //Bool16 //initialized to preference setting + qtss3GPPCliSesLinkCharGuaranteedBitRate = 1, //read //UInt32 //The Received Link Characteristic rate. default = 0 + qtss3GPPCliSesLinkCharMaxBitRate = 2, //read //UInt32 //The Received Link Characteristic max. default = 0 + qtss3GPPCliSesLinkCharMaxTransferDelayMilliSec = 3, //read //UInt32 //The Received Link Characteristic transfer delay. default = 0 + qtss3GPPCliSesLinkCharURL = 4, //read //char array //The Received Link Characteristic URL. + + qtss3GPPCliSesNumParams = 5 +}; +typedef UInt32 QTSS_ClientSession3GPPAttributes; + enum { //QTSS_RTSPSessionObject parameters @@ -499,7 +548,7 @@ enum qtssRTSPSesRemoteAddr = 4, //read //UInt32 //IP address of client. qtssRTSPSesRemoteAddrStr= 5, //read //char array //IP address addr of client, in dotted-decimal format. qtssRTSPSesEventCntxt = 6, //read //QTSS_EventContextRef //An event context for the RTSP connection to the client. This should primarily be used to wait for EV_WR events if flow-controlled when responding to a client. - qtssRTSPSesType = 7, //read //QTSS_RTSPSessionType //Is this a normal RTSP session, or is it a HTTP tunnelled RTSP session? + qtssRTSPSesType = 7, //read //QTSS_RTSPSession //Is this a normal RTSP session, or is it a HTTP tunnelled RTSP session? qtssRTSPSesStreamRef = 8, //read //QTSS_RTSPSessionStream // A QTSS_StreamRef used for sending data to the RTSP client. qtssRTSPSesLastUserName = 9,//read //char array // Private @@ -509,10 +558,23 @@ enum qtssRTSPSesLocalPort = 12, //read //UInt16 // This is the local port for the connection qtssRTSPSesRemotePort = 13, //read //UInt16 // This is the client port for the connection - qtssRTSPSesNumParams = 14 + qtssRTSPSes3GPPObject = 14, //read //QTSS_3GPPRTSPSessionObject //QTSS_ObjectType qtss3GPPRTSPObjectType 3gpp data and state info + + qtssRTSPSesLastDigestChallenge = 15,//read //char array // Private + qtssRTSPSesNumParams = 16 }; typedef UInt32 QTSS_RTSPSessionAttributes; +//QTSS_3GPPRTSPSessionObject //class RTSPSession3GPP +enum +{ + //All text names are identical to the enumerated type names + qtss3GPPRTSPSesEnabled = 0, + qtss3GPPRTSPSessNumParams = 1 +}; +typedef UInt32 QTSS_3GPPRTSPSessionAttributes; + + enum { //All text names are identical to the enumerated type names @@ -526,7 +588,7 @@ enum //Available in every method that receives the QTSS_RTSPRequestObject except for the QTSS_FilterMethod qtssRTSPReqMethodStr = 1, //read //char array //RTSP Method of this request. - qtssRTSPReqFilePath = 2, //r/w //char array //Not pre-emptive safe!! //URI for this request, converted to a local file system path. + qtssRTSPReqFilePath = 2, //r/w //char array //Not pre-emptive safe!! //URI for this request, converted to a local file system path. qtssRTSPReqURI = 3, //read //char array //URI for this request qtssRTSPReqFilePathTrunc = 4, //read //char array //Not pre-emptive safe!! //Same as qtssRTSPReqFilePath, without the last element of the path qtssRTSPReqFileName = 5, //read //char array //Not pre-emptive safe!! //Everything after the last path separator in the file system path @@ -544,7 +606,7 @@ enum qtssRTSPReqUserName = 17, //read //char array//decoded Authentication information when provided by the RTSP request. See RTSPSessLastUserName. qtssRTSPReqUserPassword = 18, //read //char array //decoded Authentication information when provided by the RTSP request. See RTSPSessLastUserPassword. - qtssRTSPReqUserAllowed = 19, //r/w //Bool16 //Default is true, set to false if request is denied. Missing or bad movie files should allow the server to handle the situation and return true. + qtssRTSPReqUserAllowed = 19, //r/w //Bool16 //Default is server pref based, set to false if request is denied. Missing or bad movie files should allow the server to handle the situation and return true. qtssRTSPReqURLRealm = 20, //r/w //char array //The authorization entity for the client to display "Please enter password for -realm- at server name. The default realm is "Streaming Server". qtssRTSPReqLocalPath = 21, //read //char array //Not pre-emptive safe!! //The full local path to the file. This Attribute is first set after the Routing Role has run and before any other role is called. @@ -570,12 +632,28 @@ enum qtssRTSPReqSkipAuthorization = 35, //r/w //Bool16 // Set by a module that wants the particular request to be // allowed by all authorization modules qtssRTSPReqNetworkMode = 36, //read //QTSS_RTPNetworkMode // unicast or multicast - qtssRTSPReqDynamicRateState = 37, //read //SInt32 // -1 not in request, 0 off, 1 on - qtssRTSPReqNumParams = 38 + qtssRTSPReqDynamicRateState = 37, //read //SInt32 // -1 not in request, 0 off, 1 on + qtssRTSPReq3GPPRequestObject = 38, //read //QTSS_3GPPRequestObject //QTSS_ObjectType qtss3GPPRequestObject + qtssRTSPReqBandwidthBits = 39, //read //UInt32 // Value of the Bandwdith header. Default is 0. + qtssRTSPReqUserFound = 40, //r/w //Bool16 //Default is false, set to true if the user is found in the authenticate role and the module wants to take ownership of authenticating the user. + qtssRTSPReqAuthHandled = 41, //r/w //Bool16 //Default is false, set to true in the authorize role to take ownerhsip of authorizing the request. + qtssRTSPReqDigestChallenge = 42, //read //char array //Challenge used by the server for Digest authentication + qtssRTSPReqDigestResponse = 43, //read //char array //Digest response used by the server for Digest authentication + qtssRTSPReqNumParams = 44 }; typedef UInt32 QTSS_RTSPRequestAttributes; +enum +{ + //All text names are identical to the enumerated type names + qtss3GPPRequestEnabled = 0, //r/w //Bool16 + qtss3GPPRequestRateAdaptationStreamData = 1, //read //char array //the rate adaptation url and parameters per stream + qtss3GPPRequestNumParams = 2 +}; +typedef UInt32 QTSS_RTSPRequest3GPPAttributes; + + enum { //QTSS_ServerObject parameters @@ -633,8 +711,9 @@ enum qtssSvrServerBuild = 38, //read //char array //build of the server qtssSvrServerPlatform = 39, //read //char array //Platform (OS) of the server qtssSvrRTSPServerComment = 40, //read //char array //RTSP comment for the server header - qtssSvrNumThinned = 41, //r/w //SInt32 //Number of thinned sessions - qtssSvrNumParams = 42 + qtssSvrNumThinned = 41, //read //SInt32 //Number of thinned sessions + qtssSvrNumThreads = 42, //read //UInt32 //Number of task threads // see also qtssPrefsRunNumThreads + qtssSvrNumParams = 43 }; typedef UInt32 QTSS_ServerAttributes; @@ -723,18 +802,36 @@ enum qtssPrefsEnablePacketHeaderPrintfs = 60, // "enable_packet_header_printfs" //Bool16 // RTP and RTCP printfs of outgoing packets. qtssPrefsPacketHeaderPrintfOptions = 61, // "packet_header_printf_options" //char //set of printfs to print. Form is [text option] [;] default is "rtp;rr;sr;". This means rtp packets, rtcp sender reports, and rtcp receiver reports. - qtssPrefsOverbufferRate = 62, // "overbuffer_rate" //Float32 - qtssPrefsMediumWindowSizeInK = 63, // "medium_window_size" // UInt32 //default size that will be used for medium bitrate movies - qtssPrefsWindowSizeMaxThreshold = 64, //"window_size_threshold" // UInt32 //bitrate at which we switch from medium to large window size + qtssPrefsOverbufferRate = 62, // "overbuffer_rate" //Float32 + qtssPrefsMediumWindowSizeInK = 63, // "medium_window_size" // UInt32 //default size that will be used for medium bitrate movies + qtssPrefsWindowSizeMaxThreshold = 64, //"window_size_threshold" // UInt32 //bitrate at which we switch from medium to large window size qtssPrefsEnableRTSPServerInfo = 65, //"RTSP_server_info" //Boo1l6 // Adds server info to the RTSP responses. - qtssPrefsRunNumThreads = 66, //"run_num_threads" //UInt32 // if value is non-zero, will create that many threads; otherwise a thread will be created for each processor - qtssPrefsPidFile = 67, //"pid_file" //Char Array //path to pid file + qtssPrefsRunNumThreads = 66, //"run_num_threads" //UInt32 // if value is non-zero, will create that many task threads; otherwise a thread will be created for each processor + qtssPrefsPidFile = 67, //"pid_file" //Char Array //path to pid file qtssPrefsCloseLogsOnWrite = 68, // "force_logs_close_on_write" //Bool16 // force log files to close after each write. qtssPrefsDisableThinning = 69, // "disable_thinning" //Bool16 // Usually used for performance testing. Turn off stream thinning from packet loss or stream lateness. qtssPrefsPlayersReqRTPHeader = 70, // "player_requires_rtp_header_info" //Char array //name of player to match against the player's user agent header qtssPrefsPlayersReqBandAdjust = 71, // "player_requires_bandwidth_adjustment //Char array //name of player to match against the player's user agent header qtssPrefsPlayersReqNoPauseTimeAdjust = 72, // "player_requires_no_pause_time_adjustment //Char array //name of player to match against the player's user agent header - qtssPrefsNumParams = 73 + qtssPrefsEnable3gppProtocol = 73, // "enable_3gpp_protocol //Bool16 //enable or disable 3gpp release 6 protocol support featues + qtssPrefsEnable3gppProtocolRateAdapt = 74, // "enable_3gpp_protocol_rate_adaptation //Bool16 //enable or disable 3gpp release 6 rate adaptation featues + qtssPrefs3gppRateAdaptReportFrequency = 75, // "3gpp_protocol_rate_adaptation_report_frequency //UInt16 //requested rate adaptation rtcp report frequency + qtssPrefsDefaultStreamQuality = 76, // "default_stream_quality //UInt16 //0 is all day and best quality. Higher values are worse maximum depends on the media and the media module + qtssPrefsPlayersReqRTPStartTimeAdjust = 77, // "player_requires_rtp_start_time_adjust" //Char Array //name of players to match against the player's user agent header + qtssPrefsEnable3gppDebugPrintfs = 78, // "enable_3gpp_debug_printfs" //Boo1l6 // 3gpp rate adaptation state and debugging printfs. + qtssPrefsEnableUDPMonitor = 79, // "enable_udp_monitor_stream" //Boo1l6 // reflect all udp streams to the monitor ports, use an sdp to view + qtssPrefsUDPMonitorAudioPort = 80, // "udp_monitor_video_port" //UInt16 // localhost destination port of reflected stream + qtssPrefsUDPMonitorVideoPort = 81, // "udp_monitor_audio_port" //UInt16 // localhost destination port of reflected stream + qtssPrefsUDPMonitorDestIPAddr = 82, // "udp_monitor_dest_ip" //char array //IP address the server should send RTP monitor reflected streams. + qtssPrefsUDPMonitorSourceIPAddr = 83, // "udp_monitor_src_ip" //char array //client IP address the server monitor should reflect. *.*.*.* means all client addresses. + qtssPrefsEnableAllowGuestDefault = 84, // "enable_allow_guest_authorize_default" //Boo1l6 // server hint to access modules to allow guest access as the default (can be overriden in a qtaccess file or other means) + qtssPrefsNumRTSPThreads = 85, // "run_num_rtsp_threads" //UInt32 // if value is non-zero, the server will create that many task threads; otherwise a single thread will be created. + qtssPrefsPlayersReqDisable3gppRateAdapt = 86, // "player_requires_disable_3gpp_rate_adapt" //Char array //name of players to match against the player's user agent header + qtssPrefsPlayersReq3GPPTargetTime = 87, // "player_requires_3gpp_target_time" //Char array //name of player to set the target time for + qtssPrefs3GPPTargetTime = 88, // "3gpp_target_time_milliseconds" //UInt32 // milliseconds set as the target time. + qtssPrefsPlayersReqDisableThinning = 89, // "player_requires_disable_thinning" //Char array //name of player to set the target time for + + qtssPrefsNumParams = 90 }; typedef UInt32 QTSS_PrefsAttributes; @@ -819,7 +916,7 @@ enum qtssModVersion = 2, //r/w //not preemptive-safe //UInt32 //Version of the module. UInt32 format should be 0xMM.m.v.bbbb M=major version m=minor version v=very minor version b=build # qtssModRoles = 3, //read //preemptive-safe //QTSS_Role //List of all the roles this module has registered for. qtssModPrefs = 4, //read //preemptive-safe //QTSS_ModulePrefsObject //An object containing as attributes the preferences for this module - qtssModAttributes = 5, //read //preemptive-safe //QTSS_Object + qtssModAttributes = 5, //read //preemptive-safe //QTSS_Object qtssModNumParams = 6 }; @@ -846,13 +943,14 @@ enum // All of these parameters are preemptive-safe. - qtssUserName = 0, //read //char array - qtssUserPassword = 1, //r/w //char array - qtssUserGroups = 2, //r/w //char array - multi-valued attribute, all values should be C strings padded with \0s to - // make them all of the same length - qtssUserRealm = 3, //r/w //char array - the authentication realm for username - - qtssUserNumParams = 4 + qtssUserName = 0, //read //char array + qtssUserPassword = 1, //r/w //char array + qtssUserGroups = 2, //r/w //char array - multi-valued attribute, all values should be C strings padded with \0s to // make them all of the same length + qtssUserRealm = 3, //r/w //char array - the authentication realm for username + qtssUserRights = 4, //r/w //QTSS_AttrRights - rights granted this user + qtssUserExtendedRights = 5, //r/w //qtssAttrDataTypeCharArray - a list of strings with extended rights granted to the user. + qtssUserQTSSExtendedRights = 6, //r/w //qtssAttrDataTypeCharArray - a private list of strings with extended rights granted to the user and reserved by QTSS/Apple. + qtssUserNumParams = 7, }; typedef UInt32 QTSS_UserProfileObjectAttributes; @@ -958,6 +1056,11 @@ typedef QTSS_Object QTSS_AttrInfoObject; typedef QTSS_Object QTSS_UserProfileObject; typedef QTSS_Object QTSS_ConnectedUserObject; +typedef QTSS_Object QTSS_3GPPStreamObject; +typedef QTSS_Object QTSS_3GPPClientSessionObject; +typedef QTSS_Object QTSS_3GPPRTSPSessionObject; +typedef QTSS_Object QTSS_3GPPRequestObject; + typedef QTSS_StreamRef QTSS_ErrorLogStream; typedef QTSS_StreamRef QTSS_FileStream; typedef QTSS_StreamRef QTSS_RTSPSessionStream; @@ -1225,7 +1328,7 @@ QTSS_Error QTSS_UnlockObject(QTSS_Object inObject); // QTSS_CreateObjectType // // Creates a new object type. Attributes can be added to this object type and then it can -// be passed into QTSS_AddObjectValue. +// be passed into QTSS_CreateObjectValue. // // This may only be called from the QTSS_Register role. // @@ -1894,7 +1997,7 @@ QTSS_Error QTSS_Authenticate( const char* inAuthUserName, // // Returns: QTSS_NoErr // QTSS_BadArgument -QTSS_Error QTSS_Authorize(QTSS_RTSPRequestObject inAuthRequestObject, char** outAuthRealm, Bool16* outAuthUserAllowed); +QTSS_Error QTSS_Authorize(QTSS_RTSPRequestObject inAuthRequestObject, char** outAuthRealm, Bool16* outAuthUserAllowed); void QTSS_LockStdLib(); diff --git a/APIStubLib/QTSSRTSPProtocol.h b/APIStubLib/QTSSRTSPProtocol.h index 514dcd4..929478e 100644 --- a/APIStubLib/QTSSRTSPProtocol.h +++ b/APIStubLib/QTSSRTSPProtocol.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -129,11 +129,25 @@ enum qtssXPreBufferHeader = 50, qtssXDynamicRateHeader = 51, qtssXAcceptDynamicRateHeader= 52, - // DJM PROTOTYPE + + // QT Player random data request qtssXRandomDataSizeHeader = 53, - qtssNumHeaders = 54, - qtssIllegalHeader = 54 + // 3gpp release 6 + qtss3GPPLinkCharHeader = 54, + qtss3GPPAdaptationHeader = 55, + qtss3GPPQOEFeedback = 56, + qtss3GPPQOEMetrics = 57, + + // 3gpp annex g + qtssXPreDecBufSizeHeader = 58, + qtssXInitPredecBufPeriodHeader = 59, + qtssXInitPostDecBufPeriodHeader = 60, + qtss3GPPVideoPostDecBufSizeHeader = 61, + + + qtssNumHeaders = 62, + qtssIllegalHeader = 62 }; typedef UInt32 QTSS_RTSPHeader; diff --git a/APIStubLib/QTSS_Private.cpp b/APIStubLib/QTSS_Private.cpp index 8d17110..7161d7c 100644 --- a/APIStubLib/QTSS_Private.cpp +++ b/APIStubLib/QTSS_Private.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/APIStubLib/QTSS_Private.h b/APIStubLib/QTSS_Private.h index 5460e4f..2385406 100644 --- a/APIStubLib/QTSS_Private.h +++ b/APIStubLib/QTSS_Private.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/AtomicLib/atomic.h b/AtomicLib/atomic.h index 24210f8..42a9bc1 100644 --- a/AtomicLib/atomic.h +++ b/AtomicLib/atomic.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/AtomicLib/atomic_subr.s b/AtomicLib/atomic_subr.s index 5ea7823..241d16c 100644 --- a/AtomicLib/atomic_subr.s +++ b/AtomicLib/atomic_subr.s @@ -1,10 +1,9 @@ /* - * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -21,6 +20,7 @@ * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ + * */ /* * diff --git a/AtomicLib/hmi.c b/AtomicLib/hmi.c index 85ccff3..72551ea 100644 --- a/AtomicLib/hmi.c +++ b/AtomicLib/hmi.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -35,8 +35,8 @@ void main(int argc, char **argv) { int i, j; - long long ts1, ts2; - long long ts3, ts4; + SInt64 ts1, ts2; + SInt64 ts3, ts4; struct timescale tsc; double scale; @@ -61,8 +61,8 @@ main(int argc, char **argv) utimescale(&tsc); scale = (double)tsc.tsc_numerator / (double)tsc.tsc_denominator; - ts1 = (long long)((double)ts1 * scale); - ts2 = (long long)((double)ts2 * scale); + ts1 = (SInt64)((double)ts1 * scale); + ts2 = (SInt64)((double)ts2 * scale); qtss_printf("ts1 = %qd, ts2 = %qd, micro seconds = %qd\n", ts1, ts2, (ts2 - ts1)); diff --git a/AtomicLib/timescale.c b/AtomicLib/timescale.c index de5876a..841b89a 100644 --- a/AtomicLib/timescale.c +++ b/AtomicLib/timescale.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/AtomicLib/timestamp.h b/AtomicLib/timestamp.h index b99c570..f1884d1 100644 --- a/AtomicLib/timestamp.h +++ b/AtomicLib/timestamp.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -42,12 +42,14 @@ extern "C" { #endif +#include "OSHeaders.h" + /* Get a 64 bit timestamp */ -extern long long timestamp(void); +extern SInt64 timestamp(void); struct timescale { - long long tsc_numerator; - long long tsc_denominator; + SInt64 tsc_numerator; + SInt64 tsc_denominator; }; /* @@ -56,7 +58,7 @@ struct timescale { */ extern void utimescale(struct timescale *tscp); -extern long long scaledtimestamp(double scale); +extern SInt64 scaledtimestamp(double scale); #ifdef __cplusplus } diff --git a/AtomicLib/timestamp.s b/AtomicLib/timestamp.s index a4c43f2..dc4e28f 100644 --- a/AtomicLib/timestamp.s +++ b/AtomicLib/timestamp.s @@ -1,10 +1,9 @@ /* - * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -21,6 +20,7 @@ * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ + * */ /* * diff --git a/BuildOSXInstallerPkg b/BuildOSXInstallerPkg index 3997977..c2a567f 100755 --- a/BuildOSXInstallerPkg +++ b/BuildOSXInstallerPkg @@ -1,9 +1,8 @@ #!/bin/sh if [ "$1" = "" ] ; then - echo "example: BuildOSXInstallerPkg [ dss | qtss_test | dss_apple ] [ update ]" - echo "[ dss ] is the public DarwinStreamingServer installer" - echo "[ qtss_apple ] is the private Apple QuickTimeStreamingServer installer" - echo "[ dss_apple ] is the private Apple DarwinStreamingServer installer" + echo "example: BuildOSXInstallerPkg [ dss | dss_fat ] [ update ]" + echo "[ dss ] is the public DarwinStreamingServer installer (buildit dss)" + echo "[ dss_fat ] is the private Apple DarwinStreamingServer installer (buildit dssfullfat)" echo "[ update ] Don't clean just update the build before creating installer" else DONE="no" @@ -23,29 +22,12 @@ else fi - if [ -e /usr/bin/pbxbuild ] ; then - BUILDTOOL="pbxbuild" - PROJECT="" - TARGE_REF_MOVIE_MODULE="QTSSRefMovieModule.bundle" - TARGET_HOME_DIR_MODULE="QTSSHomeDirectoryModule.bundle" - if [ -e StreamingServer.pbproject ] ; then - mv -f StreamingServer.pbproject StreamingServer.pbproj - fi - if [ -e StreamingServer.xcode ] ; then - mv -f StreamingServer.xcode StreamingServer.xcodeproject - fi - else - BUILDTOOL="xcodebuild" - PROJECT="-project StreamingServer.xcode" - TARGE_REF_MOVIE_MODULE="QTSSRefMovieModule (Bundle)" - TARGET_HOME_DIR_MODULE="QTSSHomeDirectoryModule (Bundle)" - if [ -e StreamingServer.pbproj ] ; then - mv -f StreamingServer.pbproj StreamingServer.pbproject - fi - if [ -e StreamingServer.xcodeproject ] ; then - mv -f StreamingServer.xcodeproject StreamingServer.xcode - fi - fi + if [ -e /usr/bin/xcodebuild ] ; then + BUILDTOOL="xcodebuild" + PROJECT="-project StreamingServer.xcodeproj" + TARGE_REF_MOVIE_MODULE="QTSSRefMovieModule (Bundle)" + TARGET_HOME_DIR_MODULE="QTSSHomeDirectoryModule (Bundle)" + fi if [ "$1" = "dss" ] ; then ./UpdateDSSInstallerDocs @@ -55,14 +37,14 @@ else ./Buildit dss install echo "Build Dynamic Modules" - rm -rf build/Deployment/QTSSRefMovieModule.bundle - rm -rf build/Deployment/QTSSHomeDirectoryModule.bundle + rm -rf build/Development/QTSSRefMovieModule.bundle + rm -rf build/Development/QTSSHomeDirectoryModule.bundle rm -rf /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules/QTSSRefMovieModule.bundle rm -rf /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules/QTSSHomeDirectoryModule.bundle - $BUILDTOOL $PROJECT -target "$TARGE_REF_MOVIE_MODULE" -configuration Deployment - $BUILDTOOL $PROJECT -target "$TARGET_HOME_DIR_MODULE" -configuration Deployment - cp -Rf build/Deployment/QTSSRefMovieModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules - cp -Rf build/Deployment/QTSSHomeDirectoryModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules + $BUILDTOOL $PROJECT -configuration Development -target "$TARGE_REF_MOVIE_MODULE" + $BUILDTOOL $PROJECT -configuration Development -target "$TARGET_HOME_DIR_MODULE" + cp -Rf build/Development/QTSSRefMovieModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules + cp -Rf build/Development/QTSSHomeDirectoryModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules if [ -e "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker" ]; then /Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker -build -p `pwd`/DarwinStreamingServer.pkg -f /tmp/StreamingServer.dst/ -r pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Resources/ -i pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Info.plist @@ -89,80 +71,24 @@ else DONE="yes" fi - if [ "$1" = "qtss_apple" ] ; then - echo "Build QuickTimeStreamingServer installer" - - rm -rf ./QuickTimeStreamingServer.pkg - ./Buildit qtssfat install - - ./Buildit qtssfat - cp -Rf build/Deployment/MP3Broadcaster /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/PlaylistBroadcaster /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/StreamingLoadTool /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/broadcasterctl /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/qtpasswd /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/QuickTimeStreamingServer /tmp/StreamingServer.dst/usr/sbin/ - cp -Rf build/Deployment/*.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules.disabled/ - - echo "Build Dynamic Modules" - rm -rf build/Deployment/QTSSRefMovieModule.bundle - rm -rf build/Deployment/QTSSHomeDirectoryModule.bundle - rm -rf /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules/QTSSRefMovieModule.bundle - rm -rf /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules/QTSSHomeDirectoryModule.bundle - $BUILDTOOL $PROJECT -target "$TARGE_REF_MOVIE_MODULE" -configuration Deployment RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' - $BUILDTOOL $PROJECT -target "$TARGET_HOME_DIR_MODULE" -configuration Deployment RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' - cp -Rf build/Deployment/QTSSRefMovieModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules - cp -Rf build/Deployment/QTSSHomeDirectoryModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules - - if [ -e "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker" ]; then - /Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker -build -p `pwd`/QuickTimeStreamingServer.pkg -f /tmp/StreamingServer.dst/ -r pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Resources/ -i pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Info.plist - else - /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker -build -p `pwd`/QuickTimeStreamingServer.pkg -f /tmp/StreamingServer.dst/ -r pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Resources/ -i pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Info.plist - fi - - #delete default untitled description, we will use the language version - echo `date` "*remove default description*" - rm ./QuickTimeStreamingServer.pkg/Contents/Resources/Description.plist - - #copy all the language files and the installer script files to the installer - cp -rf qtssPackageMetaData/qtssPackageMetaData/QuickTimeStreamingServer.pkg/Contents/Resources/ ./QuickTimeStreamingServer.pkg/Contents/Resources/ - - #delete the CVS dirs - echo `date` "*Look for and remove any CVS directories*" - ./deleteCVSdirs ./QuickTimeStreamingServer.pkg - - echo `date` "QuickTimeStreamingServer Package created at "`pwd`"/QuickTimeStreamingServer.pkg." - DONE="yes" - fi - if [ "$1" = "dss_apple" ] ; then + if [ "$1" = "dss_fat" ] ; then ./UpdateDSSInstallerDocs echo "Build Apple DarwinStreamingServer installer" rm -rf ./DarwinStreamingServer.pkg - ./Buildit qtssfat install - - rm -rf build/Deployment - - ./Buildit qtssfat - cp -Rf build/Deployment/MP3Broadcaster /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/PlaylistBroadcaster /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/StreamingLoadTool /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/broadcasterctl /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/qtpasswd /tmp/StreamingServer.dst/usr/bin/ - cp -Rf build/Deployment/QuickTimeStreamingServer /tmp/StreamingServer.dst/usr/sbin/ - cp -Rf build/Deployment/*.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules.disabled/ - + ./Buildit dssfullfat install + echo "Build Dynamic Modules" - rm -rf build/Deployment/QTSSRefMovieModule.bundle - rm -rf build/Deployment/QTSSHomeDirectoryModule.bundle + rm -rf build/Development/QTSSRefMovieModule.bundle + rm -rf build/Development/QTSSHomeDirectoryModule.bundle rm -rf /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules/QTSSRefMovieModule.bundle rm -rf /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules/QTSSHomeDirectoryModule.bundle - $BUILDTOOL $PROJECT -target "$TARGE_REF_MOVIE_MODULE" -configuration Deployment RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' - $BUILDTOOL $PROJECT -target "$TARGET_HOME_DIR_MODULE" -configuration Deployment RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' - cp -Rf build/Deployment/QTSSRefMovieModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules - cp -Rf build/Deployment/QTSSHomeDirectoryModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules + $BUILDTOOL $PROJECT -configuration Development -target "$TARGE_REF_MOVIE_MODULE" + $BUILDTOOL $PROJECT -configuration Development -target "$TARGET_HOME_DIR_MODULE" + cp -Rf build/Development/QTSSRefMovieModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules + cp -Rf build/Development/QTSSHomeDirectoryModule.bundle /tmp/StreamingServer.dst/Library/QuickTimeStreaming/Modules if [ -e "/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker" ]; then /Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker -build -p `pwd`/DarwinStreamingServer.pkg -f /tmp/StreamingServer.dst/ -r pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Resources/ -i pubPackageMetaData/pubPackageMetaData/DarwinStreamingServer.pkg/Contents/Info.plist diff --git a/Buildit b/Buildit index 7813bbb..d2ff8cd 100755 --- a/Buildit +++ b/Buildit @@ -1,27 +1,55 @@ #!/bin/sh +VERSION=`grep kVersion revision.h | grep -o [:0123456789:].*[:0123456789:]` ##Build script for Darwin Streaming Server if [ `uname` = "Darwin" ] ; then - VERSION=dss + PLATFORM=dss else - VERSION=`grep kVersion revision.h | grep -o [:0123456789:].*[:0123456789:]` + PLATFORM=$VERSION fi +SHOW_HELP=0 +if [ "$1" = "-v" ] ; then + SHOW_HELP=1 +fi + +if [ "$1" = "-h" ] ; then + SHOW_HELP=1 +fi + +if [ "$1" = "?" ] ; then + SHOW_HELP=1 +fi + +if [ "$1" = "help" ] ; then + SHOW_HELP=1 +fi + +if [ $SHOW_HELP = 1 ] ; then + if [ $PLATFORM = dss ] ; then + echo "" + echo "OS X Darwin Streaming Server ($PLATFORM v$VERSION)" + echo "" + echo "buildit (builds target dss, symbols, build os, and cpu)" + echo "buildit dss arg2 (builds target dss, symbols, build os, and cpu, passes to xcode optional arg2)" + echo "buildit dssfat arg2 (builds target dss, symbols, build os, FAT i386+ppc, passes to xcode optional arg2)" + echo "buildit dssfullfat arg2 (builds target dss, symbols, build os, FAT i386+x86_64+ppc+ppc64, passes to xcode optional arg2)" + echo "buildit qtss arg2 (builds target qtss, stripped, build os, and cpu, passes to xcode optional arg2)" + echo "buildit qtssfat arg2 (builds target qtss, stripped, build os, FAT i386+ppc, passes to xcode optional arg2)" + echo "buildit qtssfullfat arg2 (builds target qtss, stripped, build os, FAT i386+x86_64+ppc+ppc64, passes to xcode optional arg2)" + fi + exit 0 +fi + + if [ "$1" = "install" ] ; then - if [ $VERSION = dss ] ; then + if [ $PLATFORM = dss ] ; then echo "OS X Darwin Streaming Server" ./BuildOSXInstallerPkg $2 $3 exit 0 fi - ./buildtarball $VERSION - exit 0 -fi - -if [ "$1" = "?" ] || [ "$1" = "h" ] || [ "$1" = "help" ] ; then - - echo "./Buildit [dss | qtss | qtssfat | install ]" - + ./buildtarball $PLATFORM exit 0 fi @@ -43,10 +71,10 @@ case $PLAT in LINKER='gcc' MAKE=make - COMPILER_FLAGS= "-D__linuxppc__ -Wno-multichar -pipe" + COMPILER_FLAGS="-D_REENTRANT -D__USE_POSIX -D__linuxppc__ -pipe" INCLUDE_FLAG="-include" - CORE_LINK_LIBS="-lpthread -ldl -lm -lcrypt" + CORE_LINK_LIBS="-lpthread -ldl -lstdc++ -lm -lcrypt" SHARED=-shared MODULE_LIBS= @@ -125,7 +153,7 @@ case $PLAT in LINKER="g++" MAKE=make - COMPILER_FLAGS="-D__solaris__ -D_REENTRANT -L/usr/local/lib -R/usr/local/lib" + COMPILER_FLAGS="-D__solaris__ -D_REENTRANT -DFD_SETSIZE=65536 -L/usr/local/lib -R/usr/local/lib" INCLUDE_FLAG="-include" CORE_LINK_LIBS="-lpthread -ldl -lsocket -lnsl -lresolv -lm -lcrypt -lstdc++" @@ -234,58 +262,56 @@ if [ "${OSNAME}" = "Darwin" ]; then ##xcodebuild should be the default for tiger if [ -e /usr/bin/xcodebuild ] ; then BUILDTOOL="xcodebuild" - PROJECT="-project StreamingServer.xcode" - if [ -e StreamingServer.pbproj ] ; then - mv -f StreamingServer.pbproj StreamingServer.pbproject - fi - if [ -e StreamingServer.xcodeproject ] ; then - mv -f StreamingServer.xcodeproject StreamingServer.xcode + if [ -e StreamingServer.xcodeproj ] ; then + PROJECT="-project StreamingServer.xcodeproj" + else + PROJECT="-project StreamingServer.xcode" fi fi - ## pbxbuild is required for panther builds with default tools - if [ -e /usr/bin/pbxbuild ] ; then - BUILDTOOL="pbxbuild" - PROJECT="" - if [ -e StreamingServer.pbproject ] ; then - mv -f StreamingServer.pbproject StreamingServer.pbproj - fi - if [ -e StreamingServer.xcode ] ; then - mv -f StreamingServer.xcode StreamingServer.xcodeproject - fi - fi - + if [ BUILDTOOL = "" ] ; then echo "XCode Development Tools are not installed" exit 1 fi - - if [ "$1" = "" ] ; then - echo "$BUILDTOOL DarwinStreamingServer" - $BUILDTOOL $PROJECT -target DSS + + if [ "$1" = "" ] ; then + echo "$BUILDTOOL DarwinStreamingServer" + $BUILDTOOL $PROJECT -target DSS -configuration Development + else + if [ "$1" = "dss" ] ; then + echo "$BUILDTOOL DarwinStreamingServer $1" + $BUILDTOOL $PROJECT -target DSS -configuration Development $2 else - if [ "$1" = "dss" ] ; then - echo "$BUILDTOOL DarwinStreamingServer $1" - $BUILDTOOL $PROJECT -target DSS -configuration Deployment $2 - else - if [ "$1" = "qtss" ] ; then - echo "$BUILDTOOL QuickTimeStreamingServer $*" - $BUILDTOOL $PROJECT -target QTSS -configuration Deployment $2 - else - if [ "$1" = "qtssfat" ] ; then - echo "$BUILDTOOL QuickTimeStreamingServer FAT i386 ppc" - $BUILDTOOL $PROJECT -target QTSS -configuration Deployment RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' $2 + if [ "$1" = "qtss" ] ; then + echo "$BUILDTOOL QuickTimeStreamingServer $*" + $BUILDTOOL $PROJECT -target QTSS -configuration Development $2 else - echo "build $BUILDTOOL $*" - $BUILDTOOL $* + if [ "$1" = "qtssfat" ] ; then + echo "$BUILDTOOL QuickTimeStreamingServer FAT i386 ppc" + $BUILDTOOL $PROJECT -target QTSS -configuration Deployment RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' $2 + else + if [ "$1" = "qtssfullfat" ] ; then + echo "$BUILDTOOL QuickTimeStreamingServer FAT i386 ppc x86_64 ppc64" + $BUILDTOOL $PROJECT -target QTSS -configuration Deployment RC_RELEASE=YES RC_i386=YES RC_ppc=YES RC_x86_64=YES RC_ppc64=YES RC_CFLAGS='-arch i386 -arch ppc -arch x86_64 -arch ppc64' $2 + else + if [ "$1" = "dssfat" ] ; then + echo "$BUILDTOOL DarwinStreamingServer FAT i386 ppc" + $BUILDTOOL $PROJECT -target DSS -configuration Development RC_i386=YES RC_ppc=YES RC_CFLAGS='-arch i386 -arch ppc' $2 + else + if [ "$1" = "dssfullfat" ] ; then + echo "$BUILDTOOL DarwinStreamingServer FAT i386 ppc x86_64 ppc64" + $BUILDTOOL $PROJECT -target DSS -configuration Development RC_RELEASE=YES RC_i386=YES RC_ppc=YES RC_x86_64=YES RC_ppc64=YES RC_CFLAGS='-arch i386 -arch ppc -arch x86_64 -arch ppc64' $2 + else + echo "build $BUILDTOOL $*" + $BUILDTOOL $* + fi + fi + fi + fi fi - - fi fi - -fi - - + fi else export CPLUS export CCOMP diff --git a/CommonUtilitiesLib/ConfParser.cpp b/CommonUtilitiesLib/ConfParser.cpp index bf0955f..8f88c0f 100644 --- a/CommonUtilitiesLib/ConfParser.cpp +++ b/CommonUtilitiesLib/ConfParser.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -28,7 +28,7 @@ #include "OSMemory.h" #include "MyAssert.h" - +#include "OSHeaders.h" #include @@ -59,7 +59,7 @@ static Bool16 SampleConfigSetter( const char* paramName, const char* paramValue[ while ( paramValue[x] ) { - qtss_printf( " value(%li): %s ", (long)x, paramValue[x] ); + qtss_printf( " value(%"_S32BITARG_"): %s ", (SInt32)x, (char *) paramValue[x] ); x++; } @@ -112,8 +112,8 @@ int ParseConfigFile( if ( configFile ) { - long lineBuffSize = kConfParserMaxLineSize; - long wordBuffSize = kConfParserMaxParamSize; + SInt32 lineBuffSize = kConfParserMaxLineSize; + SInt32 wordBuffSize = kConfParserMaxParamSize; char lineBuff[kConfParserMaxLineSize]; diff --git a/CommonUtilitiesLib/ConfParser.h b/CommonUtilitiesLib/ConfParser.h index 2d1c053..d3dc0cf 100644 --- a/CommonUtilitiesLib/ConfParser.h +++ b/CommonUtilitiesLib/ConfParser.h @@ -4,9 +4,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/DateTranslator.cpp b/CommonUtilitiesLib/DateTranslator.cpp index 25828d9..1002311 100644 --- a/CommonUtilitiesLib/DateTranslator.cpp +++ b/CommonUtilitiesLib/DateTranslator.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/DateTranslator.h b/CommonUtilitiesLib/DateTranslator.h index 6f6ff12..6c2373e 100644 --- a/CommonUtilitiesLib/DateTranslator.h +++ b/CommonUtilitiesLib/DateTranslator.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/DssStopwatch.h b/CommonUtilitiesLib/DssStopwatch.h index f7a8f1a..8a52717 100644 --- a/CommonUtilitiesLib/DssStopwatch.h +++ b/CommonUtilitiesLib/DssStopwatch.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/EventContext.cpp b/CommonUtilitiesLib/EventContext.cpp index 732284f..7cec317 100644 --- a/CommonUtilitiesLib/EventContext.cpp +++ b/CommonUtilitiesLib/EventContext.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -273,7 +273,7 @@ void EventThread::Entry() if ( yieldDur > 1 ) { - qtss_printf( "EventThread time in OSTHread::Yield %i, numZeroYields %i\n", (long)yieldDur, (long)numZeroYields ); + qtss_printf( "EventThread time in OSTHread::Yield %i, numZeroYields %i\n", (SInt32)yieldDur, (SInt32)numZeroYields ); numZeroYields = 0; } else diff --git a/CommonUtilitiesLib/EventContext.h b/CommonUtilitiesLib/EventContext.h index 62768fc..6fa8b83 100644 --- a/CommonUtilitiesLib/EventContext.h +++ b/CommonUtilitiesLib/EventContext.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -40,7 +40,17 @@ #include "OSThread.h" #include "Task.h" #include "OSRef.h" -#include "ev.h" + +#if MACOSXEVENTQUEUE + #ifdef AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER + #include + #else + #include "ev.h" + #endif +#else + #include "ev.h" +#endif + //enable to trace event context execution and the task associated with the context #define EVENTCONTEXT_DEBUG 0 @@ -83,9 +93,9 @@ class EventContext if (EVENTCONTEXT_DEBUG) { if (fTask== NULL) - qtss_printf("EventContext::SetTask context=%lu task= NULL\n", (UInt32) this); + qtss_printf("EventContext::SetTask context=%p task= NULL\n", (void *) this); else - qtss_printf("EventContext::SetTask context=%lu task= %lu name=%s\n",(UInt32) this,(UInt32) fTask, fTask->fTaskName); + qtss_printf("EventContext::SetTask context=%p task= %p name=%s\n",(void *) this,(void *) fTask, fTask->fTaskName); } } @@ -119,9 +129,9 @@ class EventContext if (EVENTCONTEXT_DEBUG) { if (fTask== NULL) - qtss_printf("EventContext::ProcessEvent context=%lu task=NULL\n",(UInt32) this); + qtss_printf("EventContext::ProcessEvent context=%p task=NULL\n",(void *) this); else - qtss_printf("EventContext::ProcessEvent context=%lu task=%lu TaskName=%s\n",(UInt32)this,(UInt32) fTask, fTask->fTaskName); + qtss_printf("EventContext::ProcessEvent context=%p task=%p TaskName=%s\n",(void *)this,(void *) fTask, fTask->fTaskName); } if (fTask != NULL) diff --git a/CommonUtilitiesLib/FastCopyMacros.h b/CommonUtilitiesLib/FastCopyMacros.h index c07d492..4dd8ef2 100644 --- a/CommonUtilitiesLib/FastCopyMacros.h +++ b/CommonUtilitiesLib/FastCopyMacros.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/GetWord.c b/CommonUtilitiesLib/GetWord.c index 380e2bd..0fb53f1 100644 --- a/CommonUtilitiesLib/GetWord.c +++ b/CommonUtilitiesLib/GetWord.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -25,7 +25,7 @@ #include "GetWord.h" -char* GetWord( char* toWordPtr, char* fromStrPtr, long limit ) +char* GetWord( char* toWordPtr, char* fromStrPtr, SInt32 limit ) { // get a word from a string // copy result into toWordPtr, return one past end of the @@ -48,7 +48,7 @@ char* GetWord( char* toWordPtr, char* fromStrPtr, long limit ) return (char *) fromStrPtr; } -char * GetQuotedWord( char* toWordPtr, char* fromStrPtr, long limit ) +char * GetQuotedWord( char* toWordPtr, char* fromStrPtr, SInt32 limit ) { // get a quote encoded word from a string // make include white space diff --git a/CommonUtilitiesLib/GetWord.h b/CommonUtilitiesLib/GetWord.h index e067b63..45dae24 100644 --- a/CommonUtilitiesLib/GetWord.h +++ b/CommonUtilitiesLib/GetWord.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -30,9 +30,10 @@ extern "C" { #endif - - char* GetWord( char* toWordPtr, char* fromStrPtr, long limit ); - char* GetQuotedWord( char* toWordPtr, char* fromStrPtr, long limit ); + #include "OSHeaders.h" + + char* GetWord( char* toWordPtr, char* fromStrPtr, SInt32 limit ); + char* GetQuotedWord( char* toWordPtr, char* fromStrPtr, SInt32 limit ); #ifdef __cplusplus } diff --git a/CommonUtilitiesLib/IdleTask.cpp b/CommonUtilitiesLib/IdleTask.cpp index 7b994a3..3614040 100644 --- a/CommonUtilitiesLib/IdleTask.cpp +++ b/CommonUtilitiesLib/IdleTask.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/IdleTask.h b/CommonUtilitiesLib/IdleTask.h index e1ef2c7..5465f34 100644 --- a/CommonUtilitiesLib/IdleTask.h +++ b/CommonUtilitiesLib/IdleTask.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/MakeDir.c b/CommonUtilitiesLib/MakeDir.c index f196e7d..819831c 100644 --- a/CommonUtilitiesLib/MakeDir.c +++ b/CommonUtilitiesLib/MakeDir.c @@ -2,9 +2,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/MakeDir.h b/CommonUtilitiesLib/MakeDir.h index 4c9f737..16713e2 100644 --- a/CommonUtilitiesLib/MakeDir.h +++ b/CommonUtilitiesLib/MakeDir.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/MyAssert.cpp b/CommonUtilitiesLib/MyAssert.cpp index fcbd8fc..2b98644 100644 --- a/CommonUtilitiesLib/MyAssert.cpp +++ b/CommonUtilitiesLib/MyAssert.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,10 +22,10 @@ * @APPLE_LICENSE_HEADER_END@ * */ - - + #include "MyAssert.h" #include "OSHeaders.h" +#include "SafeStdLib.h" static AssertLogger* sLogger = NULL; @@ -40,11 +40,11 @@ void MyAssert(char *inMessage) sLogger->LogAssert(inMessage); else { - + qtss_printf("%s\n", inMessage); #if __Win32__ DebugBreak(); #else - (*(long*)0) = 0; + (*(SInt32*)0) = 0; #endif } } diff --git a/CommonUtilitiesLib/MyAssert.h b/CommonUtilitiesLib/MyAssert.h index bac879e..6588f40 100644 --- a/CommonUtilitiesLib/MyAssert.h +++ b/CommonUtilitiesLib/MyAssert.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -35,6 +35,7 @@ class AssertLogger public: // An interface so the MyAssert function can write a message virtual void LogAssert(char* inMessage) = 0; + virtual ~AssertLogger(){}; }; // If a logger is provided, asserts will be logged. Otherwise, asserts will cause a bus error diff --git a/CommonUtilitiesLib/OS.cpp b/CommonUtilitiesLib/OS.cpp index 3f8456e..6db5045 100644 --- a/CommonUtilitiesLib/OS.cpp +++ b/CommonUtilitiesLib/OS.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -98,6 +98,7 @@ void OS::Initialize() { Assert (sInitialMsec == 0); // do only once if (sInitialMsec != 0) return; + ::tzset(); //setup t0 value for msec since 1900 @@ -115,7 +116,6 @@ void OS::Initialize() sMsecSince1970 *= 1000; // Convert to msec - #if DEBUG || __Win32__ sLastMillisMutex = NEW OSMutex(); #endif @@ -166,8 +166,7 @@ SInt64 OS::Milliseconds() return (curTimeMilli - sInitialMsec) + sMsecSince1970; // convert to application time #else struct timeval t; - struct timezone tz; - int theErr = ::gettimeofday(&t, &tz); + int theErr = ::gettimeofday(&t, NULL); Assert(theErr == 0); SInt64 curTime; @@ -192,14 +191,13 @@ SInt64 OS::Microseconds() return theMillis; */ #if __Win32__ - SInt64 curTime = (SInt64) ::timeGetTime(); // unsigned long system time in milliseconds + SInt64 curTime = (SInt64) ::timeGetTime(); // system time in milliseconds curTime -= sInitialMsec; // convert to application time curTime *= 1000; // convert to microseconds return curTime; #else struct timeval t; - struct timezone tz; - int theErr = ::gettimeofday(&t, &tz); + int theErr = ::gettimeofday(&t, NULL); Assert(theErr == 0); SInt64 curTime; @@ -221,14 +219,13 @@ SInt32 OS::GetGMTOffset() return ((tzInfo.Bias / 60) * -1); #else - struct timeval tv; - struct timezone tz; - - int err = ::gettimeofday(&tv, &tz); - if (err != 0) + + time_t clock; + struct tm *tmptr= localtime(&clock); + if (tmptr == NULL) return 0; - return ((tz.tz_minuteswest / 60) * -1);//return hours before or after GMT + return tmptr->tm_gmtoff / 3600;//convert seconds to hours before or after GMT #endif } @@ -337,7 +334,7 @@ Bool16 OS::ThreadSafe() *endMajor = 0; if (::strlen(releaseStr) > 0) //convert to an int - ::sscanf(releaseStr, "%lu", &majorVers); + ::sscanf(releaseStr, "%"_U32BITARG_"", &majorVers); } if (majorVers < 7) // less than OS X Panther 10.3 return false; // force 1 worker thread because < 10.3 means std c lib is not thread safe. @@ -431,7 +428,7 @@ UInt32 OS::GetNumProcessors() lineParser.ConsumeWhitespace(); //skip over leading whitespace lineParser.ConsumeUntilWhitespace(&word); //read the number of cpus if (word.Len > 0) - ::sscanf(word.Ptr, "%lu", &numCPUs); + ::sscanf(word.Ptr, "%"_U32BITARG_"", &numCPUs); break; } diff --git a/CommonUtilitiesLib/OS.h b/CommonUtilitiesLib/OS.h index cf687c8..0fa77e9 100644 --- a/CommonUtilitiesLib/OS.h +++ b/CommonUtilitiesLib/OS.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -67,7 +67,10 @@ class OS static SInt64 TimeMilli_To_Fixed64Secs(SInt64 inMilliseconds); //new CISCO provided implementation //disable: calculates integer value only { return (SInt64) ( (Float64) inMilliseconds / 1000) * ((SInt64) 1 << 32 ) ; } + static SInt64 Fixed64Secs_To_TimeMilli(SInt64 inFixed64Secs) + { UInt64 value = (UInt64) inFixed64Secs; return (value >> 32) * 1000 + (((value % ((UInt64) 1 << 32)) * 1000) >> 32); } + //This converts the local time (from OS::Milliseconds) to NTP time. static SInt64 TimeMilli_To_1900Fixed64Secs(SInt64 inMilliseconds) { return TimeMilli_To_Fixed64Secs(sMsecSince1900) + TimeMilli_To_Fixed64Secs(inMilliseconds); } diff --git a/CommonUtilitiesLib/OSArrayObjectDeleter.h b/CommonUtilitiesLib/OSArrayObjectDeleter.h index c85d23b..d75df30 100644 --- a/CommonUtilitiesLib/OSArrayObjectDeleter.h +++ b/CommonUtilitiesLib/OSArrayObjectDeleter.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -40,6 +40,7 @@ template class OSArrayObjectDeleter { public: + OSArrayObjectDeleter() : fT(NULL) {} OSArrayObjectDeleter(T* victim) : fT(victim) {} ~OSArrayObjectDeleter() { delete [] fT; } @@ -64,6 +65,7 @@ template class OSPtrDeleter { public: + OSPtrDeleter() : fT(NULL) {} OSPtrDeleter(T* victim) : fT(victim) {} ~OSPtrDeleter() { delete fT; } diff --git a/CommonUtilitiesLib/OSBufferPool.cpp b/CommonUtilitiesLib/OSBufferPool.cpp index 04c704f..177dd69 100644 --- a/CommonUtilitiesLib/OSBufferPool.cpp +++ b/CommonUtilitiesLib/OSBufferPool.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSBufferPool.h b/CommonUtilitiesLib/OSBufferPool.h index 99b09d6..feebe44 100644 --- a/CommonUtilitiesLib/OSBufferPool.h +++ b/CommonUtilitiesLib/OSBufferPool.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSCodeFragment.cpp b/CommonUtilitiesLib/OSCodeFragment.cpp index fdeef7f..c831113 100644 --- a/CommonUtilitiesLib/OSCodeFragment.cpp +++ b/CommonUtilitiesLib/OSCodeFragment.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSCodeFragment.h b/CommonUtilitiesLib/OSCodeFragment.h index f6ed5e9..bf0c001 100644 --- a/CommonUtilitiesLib/OSCodeFragment.h +++ b/CommonUtilitiesLib/OSCodeFragment.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSCond.cpp b/CommonUtilitiesLib/OSCond.cpp index bae163b..673a72e 100644 --- a/CommonUtilitiesLib/OSCond.cpp +++ b/CommonUtilitiesLib/OSCond.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSCond.h b/CommonUtilitiesLib/OSCond.h index 1b2cffb..c72ce5a 100644 --- a/CommonUtilitiesLib/OSCond.h +++ b/CommonUtilitiesLib/OSCond.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSFileSource.cpp b/CommonUtilitiesLib/OSFileSource.cpp index 88cd12e..b16d5ba 100644 --- a/CommonUtilitiesLib/OSFileSource.cpp +++ b/CommonUtilitiesLib/OSFileSource.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -107,7 +107,7 @@ FileBlockBuffer::~FileBlockBuffer(void) #if FILE_SOURCE_DEBUG ::memset( (char *)fDataBuffer,0, fBufferSize); - qtss_printf("FileBlockBuffer::~FileBlockBuffer delete %lu this=%lu\n",fDataBuffer, this); + qtss_printf("FileBlockBuffer::~FileBlockBuffer delete %"_U32BITARG_" this=%"_U32BITARG_"\n",fDataBuffer, this); #endif delete fDataBuffer; fDataBuffer = NULL; @@ -125,7 +125,7 @@ void FileBlockBuffer::AllocateBuffer(UInt32 buffSize) #if FILE_SOURCE_DEBUG this->CleanBuffer(); - qtss_printf("FileBlockBuffer::FileBlockBuffer allocate buff ptr =%lu len=%lu this=%lu\n",fDataBuffer,buffSize,this); + qtss_printf("FileBlockBuffer::FileBlockBuffer allocate buff ptr =%"_U32BITARG_" len=%"_U32BITARG_" this=%"_U32BITARG_"\n",fDataBuffer,buffSize,this); #endif } @@ -158,7 +158,7 @@ FileBlockBuffer *FileBlockPool::GetBufferElement(UInt32 bufferSizeBytes) if ( fNumCurrentBuffers < fMaxBuffers) { #if FILE_SOURCE_DEBUG - qtss_printf("FileBlockPool::GetBufferElement NEW element fNumCurrentBuffers=%lu fMaxBuffers=%lu fBufferUnitSizeBytes=%lu bufferSizeBytes=%lu\n",fNumCurrentBuffers,fMaxBuffers,fBufferUnitSizeBytes,bufferSizeBytes); + qtss_printf("FileBlockPool::GetBufferElement NEW element fNumCurrentBuffers=%"_U32BITARG_" fMaxBuffers=%"_U32BITARG_" fBufferUnitSizeBytes=%"_U32BITARG_" bufferSizeBytes=%"_U32BITARG_"\n",fNumCurrentBuffers,fMaxBuffers,fBufferUnitSizeBytes,bufferSizeBytes); #endif theNewBuf = NEW FileBlockBuffer(); theNewBuf->AllocateBuffer(bufferSizeBytes); @@ -178,7 +178,7 @@ FileBlockBuffer *FileBlockPool::GetBufferElement(UInt32 bufferSizeBytes) theNewBuf = (FileBlockBuffer*) theElem->GetEnclosingObject(); Assert(theNewBuf != NULL); - //qtss_printf("FileBlockPool::GetBufferElement reuse buffer theNewBuf=%lu fDataBuffer=%lu fArrayIndex=%ld\n",theNewBuf,theNewBuf->fDataBuffer,theNewBuf->fArrayIndex); + //qtss_printf("FileBlockPool::GetBufferElement reuse buffer theNewBuf=%"_U32BITARG_" fDataBuffer=%"_U32BITARG_" fArrayIndex=%"_S32BITARG_"\n",theNewBuf,theNewBuf->fDataBuffer,theNewBuf->fArrayIndex); return theNewBuf; @@ -247,7 +247,7 @@ void FileMap::AllocateBufferMap(UInt32 inUnitSizeInK, UInt32 inNumBuffSizeUnits, this->Clean(); // required because fFileMapArray's array is used to store buffer pointers. #if FILE_SOURCE_DEBUG - qtss_printf("FileMap::AllocateBufferMap shared buffers fFileMapArray=%lu fDataBufferSize= %lu fMapArraySize=%lu fileLen=%qu \n",fFileMapArray, fDataBufferSize, fMapArraySize,fileLen); + qtss_printf("FileMap::AllocateBufferMap shared buffers fFileMapArray=%"_U32BITARG_" fDataBufferSize= %"_U32BITARG_" fMapArraySize=%"_U32BITARG_" fileLen=%qu \n",fFileMapArray, fDataBufferSize, fMapArraySize,fileLen); #endif } @@ -275,7 +275,7 @@ char *FileMap::GetBuffer(SInt64 buffIndex, Bool16 *outFillBuff) if ( NULL == theElem) { #if FILE_SOURCE_DEBUG - qtss_printf("FileMap::GetBuffer call fBlockPool.GetBufferElement(); buffIndex=%ld\n",buffIndex); + qtss_printf("FileMap::GetBuffer call fBlockPool.GetBufferElement(); buffIndex=%"_S32BITARG_"\n",buffIndex); #endif theElem = fBlockPool.GetBufferElement(fDataBufferSize); @@ -287,7 +287,7 @@ char *FileMap::GetBuffer(SInt64 buffIndex, Bool16 *outFillBuff) if (theElem->fArrayIndex == buffIndex) // found a pre-allocated and filled buffer { #if FILE_SOURCE_DEBUG - //qtss_printf("FileMap::GetBuffer pre-allocated buff buffIndex=%ld\n",buffIndex); + //qtss_printf("FileMap::GetBuffer pre-allocated buff buffIndex=%"_S32BITARG_"\n",buffIndex); #endif *outFillBuff = false; @@ -323,7 +323,7 @@ void FileMap::DeleteMap(void) return; #if FILE_SOURCE_DEBUG - qtss_printf("FileMap::DeleteMap fFileMapArray=%lu fMapArraySize=%ld \n",fFileMapArray, fMapArraySize); + qtss_printf("FileMap::DeleteMap fFileMapArray=%"_U32BITARG_" fMapArraySize=%"_S32BITARG_" \n",fFileMapArray, fMapArraySize); this->Clean(); #endif @@ -378,7 +378,7 @@ void OSFileSource::Advise(UInt64 , UInt32 ) OS_Error OSFileSource::FillBuffer(char* ioBuffer, char *buffStart, SInt32 buffIndex) { UInt32 buffSize = fFileMap.GetMaxBufSize(); - UInt64 startPos = buffIndex * buffSize; + UInt64 startPos = (UInt64) buffIndex * (UInt64) buffSize; UInt32 readLen = 0; OS_Error theErr = this->ReadFromPos(startPos, buffStart, buffSize, &readLen); @@ -446,8 +446,8 @@ OS_Error OSFileSource::ReadFromCache(UInt64 inPosition, void* inBuffer, UInt3 { #if FILE_SOURCE_DEBUG - qtss_printf("OSFileSource::ReadFromCache bad index: buffIndex=%ld endIndex=%ld maxIndex=%ld\n",buffIndex,endIndex,maxIndex); - qtss_printf("OSFileSource::ReadFromCache inPosition =%qu buffSize = %lu index=%ld\n",inPosition, fFileMap.GetMaxBufSize(),buffIndex); + qtss_printf("OSFileSource::ReadFromCache bad index: buffIndex=%"_S32BITARG_" endIndex=%"_S32BITARG_" maxIndex=%"_S32BITARG_"\n",buffIndex,endIndex,maxIndex); + qtss_printf("OSFileSource::ReadFromCache inPosition =%qu buffSize = %"_U32BITARG_" index=%"_S32BITARG_"\n",inPosition, fFileMap.GetMaxBufSize(),buffIndex); #endif Assert(0); } @@ -455,7 +455,7 @@ OS_Error OSFileSource::ReadFromCache(UInt64 inPosition, void* inBuffer, UInt3 while (buffIndex <= endIndex && buffIndex <= maxIndex) { #if FILE_SOURCE_DEBUG - qtss_printf("OSFileSource::ReadFromCache inPosition =%qu buffSize = %lu index=%ld\n",inPosition, fFileMap.GetMaxBufSize(),buffIndex); + qtss_printf("OSFileSource::ReadFromCache inPosition =%qu buffSize = %"_U32BITARG_" index=%"_S32BITARG_"\n",inPosition, fFileMap.GetMaxBufSize(),buffIndex); #endif buffStart = fFileMap.GetBuffer(buffIndex, &fillBuff); @@ -480,9 +480,9 @@ OS_Error OSFileSource::ReadFromCache(UInt64 inPosition, void* inBuffer, UInt3 { #if FILE_SOURCE_DEBUG - qtss_printf("OSFileSource::ReadFromCache end of file reached buffIndex=%lu buffSize = %ld bytesToCopy=%lu\n",buffIndex, buffSize,bytesToCopy); + qtss_printf("OSFileSource::ReadFromCache end of file reached buffIndex=%"_U32BITARG_" buffSize = %"_S32BITARG_" bytesToCopy=%"_U32BITARG_"\n",buffIndex, buffSize,bytesToCopy); #endif - Assert(buffSize <= kUInt32_Max); + Assert(buffSize <= (SInt64) kUInt32_Max); ::memcpy(buffOut,buffOffset,(UInt32) buffSize); *outRcvLen += (UInt32) buffSize; break; @@ -507,7 +507,7 @@ OS_Error OSFileSource::ReadFromCache(UInt64 inPosition, void* inBuffer, UInt3 } #if FILE_SOURCE_DEBUG - //qtss_printf("OSFileSource::ReadFromCache inLength= %lu *outRcvLen=%lu\n",inLength, *outRcvLen); + //qtss_printf("OSFileSource::ReadFromCache inLength= %"_U32BITARG_" *outRcvLen=%"_U32BITARG_"\n",inLength, *outRcvLen); #endif #if FILE_SOURCE_BUFFTEST @@ -516,11 +516,11 @@ OS_Error OSFileSource::ReadFromCache(UInt64 inPosition, void* inBuffer, UInt3 Assert(*outRcvLen == outLen); if (*outRcvLen != outLen) - qtss_printf("OSFileSource::ReadFromCache *outRcvLen != outLen *outRcvLen=%lu outLen=%lu\n",*outRcvLen,outLen); + qtss_printf("OSFileSource::ReadFromCache *outRcvLen != outLen *outRcvLen=%"_U32BITARG_" outLen=%"_U32BITARG_"\n",*outRcvLen,outLen); for (int i = 0; i < inLength; i++) { if ( ((char*)inBuffer)[i] != testBuff[i]) - { qtss_printf("OSFileSource::ReadFromCache byte pos %d of %lu failed len=%lu inPosition=%qu sBuffCount=%ld\n",i,inLength,outLen,inPosition,sBuffCount); + { qtss_printf("OSFileSource::ReadFromCache byte pos %d of %"_U32BITARG_" failed len=%"_U32BITARG_" inPosition=%qu sBuffCount=%"_S32BITARG_"\n",i,inLength,outLen,inPosition,sBuffCount); break; } } @@ -533,7 +533,7 @@ OS_Error OSFileSource::ReadFromCache(UInt64 inPosition, void* inBuffer, UInt3 OS_Error OSFileSource::ReadFromDisk(void* inBuffer, UInt32 inLength, UInt32* outRcvLen) { #if FILE_SOURCE_BUFFTEST - qtss_printf("OSFileSource::Read inLength=%lu fFile=%d\n",inLength,fFile); + qtss_printf("OSFileSource::Read inLength=%"_U32BITARG_" fFile=%d\n",inLength,fFile); #endif #if __Win32__ @@ -566,7 +566,7 @@ OS_Error OSFileSource::ReadFromPos(UInt64 inPosition, void* inBuffer, UInt32 sReadCount++; if (outRcvLen) *outRcvLen = 0; - qtss_printf("OSFileSource::Read sReadCount = %ld totalbytes=%ld readsize=%lu\n",sReadCount,sByteCount,inLength); + qtss_printf("OSFileSource::Read sReadCount = %"_S32BITARG_" totalbytes=%"_S32BITARG_" readsize=%"_U32BITARG_"\n",sReadCount,sByteCount,inLength); } #endif @@ -577,7 +577,7 @@ OS_Error OSFileSource::ReadFromPos(UInt64 inPosition, void* inBuffer, UInt32 if (fFileLog) { fFileLog = ::fopen(fFilePath,"a"); if (fFileLog) - { qtss_fprintf(fFileLog, "read: %qu %lu %lu\n",inPosition, *outRcvLen, xTrackID); + { qtss_fprintf(fFileLog, "read: %qu %"_U32BITARG_" %"_U32BITARG_"\n",inPosition, *outRcvLen, xTrackID); ::fclose(fFileLog); } } @@ -597,7 +597,7 @@ void OSFileSource::SetTrackID(UInt32 trackID) { #if READ_LOG fTrackID = trackID; -// qtss_printf("OSFileSource::SetTrackID = %lu this=%lu\n",fTrackID,(UInt32) this); +// qtss_printf("OSFileSource::SetTrackID = %"_U32BITARG_" this=%"_U32BITARG_"\n",fTrackID,(UInt32) this); #endif } @@ -625,7 +625,7 @@ void OSFileSource::Close() #if TEST_TIME if (fShouldClose) { sMovie = 0; -// qtss_printf("OSFileSource::Close sReadCount = %ld totalbytes=%ld\n",sReadCount,sByteCount); +// qtss_printf("OSFileSource::Close sReadCount = %"_S32BITARG_" totalbytes=%"_S32BITARG_"\n",sReadCount,sByteCount); // qtss_printf("OSFileSource::Close durationTime = %qd\n",durationTime); } #endif diff --git a/CommonUtilitiesLib/OSFileSource.h b/CommonUtilitiesLib/OSFileSource.h index 287cc73..d29d59b 100644 --- a/CommonUtilitiesLib/OSFileSource.h +++ b/CommonUtilitiesLib/OSFileSource.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSHashTable.h b/CommonUtilitiesLib/OSHashTable.h index af1214d..57e8341 100644 --- a/CommonUtilitiesLib/OSHashTable.h +++ b/CommonUtilitiesLib/OSHashTable.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -38,6 +38,12 @@ #include "MyAssert.h" #include "OSHeaders.h" +/* +T must have a fNextHashEntry field, and key(T) must returns the key of type K. +K must have a method GetHashKey() that returns an UInt32 bit hash value. +Will the hash table can contain duplicate keys, the Map function will return only the first one. +*/ + template class OSHashTable { public: diff --git a/CommonUtilitiesLib/OSHeaders.h b/CommonUtilitiesLib/OSHeaders.h index 381574c..af7fd97 100644 --- a/CommonUtilitiesLib/OSHeaders.h +++ b/CommonUtilitiesLib/OSHeaders.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -27,14 +27,6 @@ #define OSHeaders_H #include -#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 #ifndef TRUE @@ -48,10 +40,98 @@ /* Platform-specific components */ -#if __linux__ || __linuxppc__ || __FreeBSD__ || __MacOSX__ +#if __MacOSX__ + + /* Defines */ + #define _64BITARG_ "ll" + #define _S64BITARG_ "lld" + #define _U64BITARG_ "llu" + +#if __LP64__ + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" + #define _SPOINTERSIZEARG_ _S64BITARG_ + #define _UPOINTERSIZEARG_ _U64BITARG_ +#else + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" + #define _SPOINTERSIZEARG_ _S32BITARG_ + #define _UPOINTERSIZEARG_ _U32BITARG_ +#endif + + /* paths */ + #define kEOLString "\n" + #define kPathDelimiterString "/" + #define kPathDelimiterChar '/' + #define kPartialPathBeginsWithDelimiter 0 + + /* Includes */ + #include + + /* Constants */ + #define QT_TIME_TO_LOCAL_TIME (-2082844800) + #define QT_PATH_SEPARATOR '/' + + +#include "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" + +#define kSInt16_Max (SInt16) SHRT_MAX +#define kUInt16_Max (UInt16) USHRT_MAX + +#define kSInt32_Max (SInt32) LONG_MAX +#define kUInt32_Max (UInt32) ULONG_MAX + +#define kSInt64_Max (SInt64) LONG_LONG_MAX +#define kUInt64_Max (UInt64) ULONG_LONG_MAX + +#if 0 // old defs we are now using MacTypes.h + /* Typedefs */ + 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 long long SInt64; + typedef unsigned long long UInt64; + typedef float Float32; + typedef double Float64; + typedef UInt32 FourCharCode; + typedef FourCharCode OSType; +#endif + + typedef signed long PointerSizedInt; + typedef unsigned long PointerSizedUInt; + typedef UInt16 Bool16; + typedef UInt8 Bool8; + + + #ifdef FOUR_CHARS_TO_INT + #error Conflicting Macro "FOUR_CHARS_TO_INT" + #endif + + #define FOUR_CHARS_TO_INT( c1, c2, c3, c4 ) ( c1 << 24 | c2 << 16 | c3 << 8 | c4 ) + + #ifdef TW0_CHARS_TO_INT + #error Conflicting Macro "TW0_CHARS_TO_INT" + #endif + + #define TW0_CHARS_TO_INT( c1, c2 ) ( c1 << 8 | c2 ) + + +#elif __linux__ || __linuxppc__ || __FreeBSD__ /* Defines */ #define _64BITARG_ "q" + #define _S64BITARG_ "lld" + #define _U64BITARG_ "llu" +#if __LP64__ + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" +#else + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" +#endif /* paths */ #define kEOLString "\n" @@ -67,21 +147,22 @@ #define QT_PATH_SEPARATOR '/' /* Typedefs */ - typedef unsigned int PointerSizedInt; + 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 long UInt32; - typedef signed long SInt32; - typedef signed long long SInt64; - typedef unsigned long long UInt64; + typedef unsigned int UInt32; + typedef signed int SInt32; + typedef signed int int SInt64; + typedef unsigned int int UInt64; typedef float Float32; typedef double Float64; typedef UInt16 Bool16; typedef UInt8 Bool8; - typedef unsigned long FourCharCode; + typedef unsigned int FourCharCode; typedef FourCharCode OSType; #ifdef FOUR_CHARS_TO_INT @@ -106,6 +187,15 @@ /* Defines */ #define _64BITARG_ "I64" + #define _S64BITARG_ "I64d" + #define _U64BITARG_ "I64u" +#if __LP64__ + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" +#else + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" +#endif /* paths */ #define kEOLString "\r\n" @@ -147,7 +237,8 @@ #define QT_PATH_SEPARATOR '/' /* Typedefs */ - typedef unsigned int PointerSizedInt; + typedef signed long PointerSizedInt; + typedef unsigned long PointerSizedUInt; typedef unsigned char UInt8; typedef signed char SInt8; typedef unsigned short UInt16; @@ -191,6 +282,15 @@ #elif __sgi__ /* Defines */ #define _64BITARG_ "ll" + #define _S64BITARG_ "lld" + #define _U64BITARG_ "llu" +#if __LP64__ + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" +#else + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" +#endif /* paths */ #define kPathDelimiterString "/" @@ -212,7 +312,8 @@ #define true 1 #define false 0 - typedef unsigned int PointerSizedInt; + typedef signed long PointerSizedInt; + typedef unsigned long PointerSizedUInt; typedef unsigned char UInt8; typedef signed char SInt8; typedef unsigned short UInt16; @@ -252,6 +353,15 @@ /* Defines */ #define _64BITARG_ "ll" + #define _S64BITARG_ "Ild" + #define _U64BITARG_ "llu" +#if __LP64__ + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" +#else + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" +#endif /* paths */ #define kPathDelimiterString "/" @@ -272,7 +382,8 @@ //#define true 1 //#define false 0 - typedef unsigned int PointerSizedInt; + typedef signed long PointerSizedInt; + typedef unsigned long PointerSizedUInt; typedef unsigned char UInt8; typedef signed char SInt8; typedef unsigned short UInt16; @@ -305,6 +416,15 @@ /* Defines */ #define _64BITARG_ "ll" + #define _S64BITARG_ "Ild" + #define _U64BITARG_ "llu" +#if __LP64__ + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" +#else + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" +#endif /* paths */ #define kPathDelimiterString "/" @@ -325,7 +445,8 @@ //#define true 1 //#define false 0 - typedef unsigned int PointerSizedInt; + typedef signed long PointerSizedInt; + typedef unsigned long PointerSizedUInt; typedef unsigned char UInt8; typedef signed char SInt8; typedef unsigned short UInt16; @@ -358,6 +479,15 @@ /* Defines */ #define _64BITARG_ "l" + #define _S64BITARG_ "ld" + #define _U64BITARG_ "lu" +#if __LP64__ + #define _S32BITARG_ "ld" + #define _U32BITARG_ "lu" +#else + #define _S32BITARG_ "d" + #define _U32BITARG_ "u" +#endif /* paths */ #define kEOLString "\n" diff --git a/CommonUtilitiesLib/OSHeap.cpp b/CommonUtilitiesLib/OSHeap.cpp index 4190d9a..7da51bf 100644 --- a/CommonUtilitiesLib/OSHeap.cpp +++ b/CommonUtilitiesLib/OSHeap.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSHeap.h b/CommonUtilitiesLib/OSHeap.h index d109bb9..073f812 100644 --- a/CommonUtilitiesLib/OSHeap.h +++ b/CommonUtilitiesLib/OSHeap.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSMemory.h b/CommonUtilitiesLib/OSMemory.h index e670d4a..40e47a8 100644 --- a/CommonUtilitiesLib/OSMemory.h +++ b/CommonUtilitiesLib/OSMemory.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSMutex.cpp b/CommonUtilitiesLib/OSMutex.cpp index 099f248..db1cb4e 100644 --- a/CommonUtilitiesLib/OSMutex.cpp +++ b/CommonUtilitiesLib/OSMutex.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSMutex.h b/CommonUtilitiesLib/OSMutex.h index 8a7e35e..6e21319 100644 --- a/CommonUtilitiesLib/OSMutex.h +++ b/CommonUtilitiesLib/OSMutex.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSMutexRW.cpp b/CommonUtilitiesLib/OSMutexRW.cpp index 1b11b69..71e18ed 100644 --- a/CommonUtilitiesLib/OSMutexRW.cpp +++ b/CommonUtilitiesLib/OSMutexRW.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSMutexRW.h b/CommonUtilitiesLib/OSMutexRW.h index 734bbfb..d8fc576 100644 --- a/CommonUtilitiesLib/OSMutexRW.h +++ b/CommonUtilitiesLib/OSMutexRW.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSQueue.cpp b/CommonUtilitiesLib/OSQueue.cpp index 53b43fb..11800e1 100644 --- a/CommonUtilitiesLib/OSQueue.cpp +++ b/CommonUtilitiesLib/OSQueue.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSQueue.h b/CommonUtilitiesLib/OSQueue.h index 0b76ed4..80c167e 100644 --- a/CommonUtilitiesLib/OSQueue.h +++ b/CommonUtilitiesLib/OSQueue.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSRef.cpp b/CommonUtilitiesLib/OSRef.cpp index d312228..35d0d92 100644 --- a/CommonUtilitiesLib/OSRef.cpp +++ b/CommonUtilitiesLib/OSRef.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -39,6 +39,8 @@ UInt32 OSRefTableUtils::HashString(StrPtrLen* inString) Assert(inString != NULL); Assert(inString->Ptr != NULL); Assert(inString->Len > 0); + if (inString == NULL || inString->Len == 0 || inString->Ptr == NULL) + return 0; //make sure to convert to unsigned here, as there may be binary //data in this string @@ -55,13 +57,21 @@ UInt32 OSRefTableUtils::HashString(StrPtrLen* inString) OS_Error OSRefTable::Register(OSRef* inRef) { Assert(inRef != NULL); + if (inRef == NULL) + return EPERM; #if DEBUG Assert(!inRef->fInATable); #endif Assert(inRef->fRefCount == 0); + Assert(inRef->fString.Ptr != NULL); + Assert(inRef->fString.Len != 0); OSMutexLocker locker(&fMutex); - + if (inRef->fString.Ptr == NULL || inRef->fString.Len == 0) + { //printf("OSRefTable::Register inRef is invalid \n"); + return EPERM; + } + // Check for a duplicate. In this function, if there is a duplicate, // return an error, don't resolve the duplicate OSRefKey key(&inRef->fString); @@ -156,7 +166,7 @@ void OSRefTable::Release(OSRef* ref) Assert(ref != NULL); OSMutexLocker locker(&fMutex); ref->fRefCount--; - // fRefCount is an unsigned long and QTSS should never run into + // fRefCount is a UInt32 and QTSS should never run into // a ref greater than 16 * 64K, so this assert just checks to // be sure that we have not decremented the ref less than zero. Assert( ref->fRefCount < 1048576L ); diff --git a/CommonUtilitiesLib/OSRef.h b/CommonUtilitiesLib/OSRef.h index 90e7bf1..f7524eb 100644 --- a/CommonUtilitiesLib/OSRef.h +++ b/CommonUtilitiesLib/OSRef.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/OSThread.cpp b/CommonUtilitiesLib/OSThread.cpp index 5caf6c8..10c7e23 100644 --- a/CommonUtilitiesLib/OSThread.cpp +++ b/CommonUtilitiesLib/OSThread.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -37,6 +37,11 @@ #include #include +#ifdef __MacOSX__ +#include +#include +#endif + #ifndef __Win32__ #if __PTHREADS__ #include @@ -197,22 +202,25 @@ void OSThread::Sleep(UInt32 inMsec) SInt64 startTime = OS::Milliseconds(); SInt64 timeLeft = inMsec; SInt64 timeSlept = 0; + UInt64 utimeLeft = 0; - do { - //qtss_printf("OSThread::Sleep = %qd request sleep=%qd\n",timeSlept, timeLeft); + do { // loop in case we leave the sleep early + //qtss_printf("OSThread::Sleep time slept= %qd request sleep=%qd\n",timeSlept, timeLeft); timeLeft = inMsec - timeSlept; if (timeLeft < 1) break; - - ::usleep(timeLeft * 1000); - + + utimeLeft = timeLeft * 1000; + //qtss_printf("OSThread::Sleep usleep=%qd\n", utimeLeft); + ::usleep(utimeLeft); + timeSlept = (OS::Milliseconds() - startTime); if (timeSlept < 0) // system time set backwards break; } while (timeSlept < inMsec); - //qtss_printf("total sleep = %qd request sleep=%lu\n", timeSlept,inMsec); + //qtss_printf("total sleep = %qd request sleep=%"_U32BITARG_"\n", timeSlept,inMsec); #elif defined(__osf__) || defined(__hpux__) if (inMsec < 1000) @@ -264,11 +272,11 @@ Bool16 OSThread::SwitchPersonality() struct group* gr = ::getgrnam(sGroup); if (gr == NULL || ::setgid(gr->gr_gid) == -1) { - //qtss_printf("thread %lu setgid to group=%s FAILED \n", (UInt32) this, sGroup); + //qtss_printf("thread %"_U32BITARG_" setgid to group=%s FAILED \n", (UInt32) this, sGroup); return false; } - //qtss_printf("thread %lu setgid to group=%s \n", (UInt32) this, sGroup); + //qtss_printf("thread %"_U32BITARG_" setgid to group=%s \n", (UInt32) this, sGroup); } @@ -277,11 +285,11 @@ Bool16 OSThread::SwitchPersonality() struct passwd* pw = ::getpwnam(sUser); if (pw == NULL || ::setuid(pw->pw_uid) == -1) { - //qtss_printf("thread %lu setuid to user=%s FAILED \n", (UInt32) this, sUser); + //qtss_printf("thread %"_U32BITARG_" setuid to user=%s FAILED \n", (UInt32) this, sUser); return false; } - //qtss_printf("thread %lu setuid to user=%s \n", (UInt32) this, sUser); + //qtss_printf("thread %"_U32BITARG_" setuid to user=%s \n", (UInt32) this, sUser); } #endif diff --git a/CommonUtilitiesLib/OSThread.h b/CommonUtilitiesLib/OSThread.h index d73ff17..2b3e900 100644 --- a/CommonUtilitiesLib/OSThread.h +++ b/CommonUtilitiesLib/OSThread.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/PLDoubleLinkedList.h b/CommonUtilitiesLib/PLDoubleLinkedList.h index 61680a7..dae711f 100644 --- a/CommonUtilitiesLib/PLDoubleLinkedList.h +++ b/CommonUtilitiesLib/PLDoubleLinkedList.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/PathDelimiter.h b/CommonUtilitiesLib/PathDelimiter.h index 46f0b49..9c5a719 100644 --- a/CommonUtilitiesLib/PathDelimiter.h +++ b/CommonUtilitiesLib/PathDelimiter.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/QueryParamList.cpp b/CommonUtilitiesLib/QueryParamList.cpp index 0e47b2e..dd77da0 100644 --- a/CommonUtilitiesLib/QueryParamList.cpp +++ b/CommonUtilitiesLib/QueryParamList.cpp @@ -2,9 +2,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/QueryParamList.h b/CommonUtilitiesLib/QueryParamList.h index e43c72c..7ae52f5 100644 --- a/CommonUtilitiesLib/QueryParamList.h +++ b/CommonUtilitiesLib/QueryParamList.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/ResizeableStringFormatter.cpp b/CommonUtilitiesLib/ResizeableStringFormatter.cpp index d797dd0..c205d4e 100644 --- a/CommonUtilitiesLib/ResizeableStringFormatter.cpp +++ b/CommonUtilitiesLib/ResizeableStringFormatter.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -33,7 +33,7 @@ #include "ResizeableStringFormatter.h" #include "OSMemory.h" -void ResizeableStringFormatter::BufferIsFull(char* inBuffer, UInt32 inBufferLen) +Bool16 ResizeableStringFormatter::BufferIsFull(char* inBuffer, UInt32 inBufferLen) { //allocate a buffer twice as big as the old one, and copy over the contents UInt32 theNewBufferSize = this->GetTotalBufferSize() * 2; @@ -50,4 +50,5 @@ void ResizeableStringFormatter::BufferIsFull(char* inBuffer, UInt32 inBufferL fStartPut = theNewBuffer; fCurrentPut = theNewBuffer + inBufferLen; fEndPut = theNewBuffer + theNewBufferSize; + return true; } diff --git a/CommonUtilitiesLib/ResizeableStringFormatter.h b/CommonUtilitiesLib/ResizeableStringFormatter.h index 674543c..80f3e54 100644 --- a/CommonUtilitiesLib/ResizeableStringFormatter.h +++ b/CommonUtilitiesLib/ResizeableStringFormatter.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -54,7 +54,7 @@ class ResizeableStringFormatter : public StringFormatter // This function will get called by StringFormatter if the current // output buffer is full. This object allocates a buffer that's twice // as big as the old one. - virtual void BufferIsFull(char* inBuffer, UInt32 inBufferLen); + virtual Bool16 BufferIsFull(char* inBuffer, UInt32 inBufferLen); char* fOriginalBuffer; diff --git a/CommonUtilitiesLib/SDPUtils.cpp b/CommonUtilitiesLib/SDPUtils.cpp index 1784800..d03028d 100644 --- a/CommonUtilitiesLib/SDPUtils.cpp +++ b/CommonUtilitiesLib/SDPUtils.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -47,16 +47,12 @@ SInt32 SDPContainer::AddHeaderLine (StrPtrLen *theLinePtr) for (int i = 0; i < fNumSDPLines; i++) { tempSDPLineArray[i].Set(fSDPLineArray[i].Ptr,fSDPLineArray[i].Len); - tempSDPLineArray[i].fHeaderType = fSDPLineArray[i].fHeaderType; } delete [] fSDPLineArray; fSDPLineArray = tempSDPLineArray; fNumSDPLines = (fNumUsedLines * 2); } - - if (theLinePtr->Ptr) - fSDPLineArray[thisLine].fHeaderType = theLinePtr->Ptr[0]; - + return thisLine; } @@ -68,7 +64,7 @@ SInt32 SDPContainer::FindHeaderLineType(char id, SInt32 start) return -1; for (int i = start; i < fNumUsedLines; i++) - { if (fSDPLineArray[i].fHeaderType == id) + { if (fSDPLineArray[i].GetHeaderType() == id) { theIndex = i; fCurrentLine = theIndex; break; @@ -126,9 +122,7 @@ void SDPContainer::Parse() { foundLine = sdpParser.GetThruEOL(&line); // Read each line if (!foundLine) - { - //qtss_printf("SDPContainer::Parse No Lines found sdpParser.GetDataRemaining()=%lu\n",sdpParser.GetDataRemaining()); - break; + { break; } StringParser lineParser(&line); @@ -140,7 +134,7 @@ void SDPContainer::Parse() if (firstChar == '\0') continue; //skip over blank lines - fFieldStr[firstChar] = firstChar; + fFieldStr[ (UInt8)firstChar] = firstChar; switch (firstChar) { case 'v': fReqLines |= kV; @@ -242,13 +236,29 @@ void SDPContainer::PrintAllLines() qtss_printf("SDPContainer::PrintAllLines no lines\n"); } +Bool16 SDPLineSorter::ValidateSessionHeader(StrPtrLen *theHeaderLinePtr) +{ + if (NULL == theHeaderLinePtr || 0 == theHeaderLinePtr->Len || NULL== theHeaderLinePtr->Ptr) + return false; + + // check for a duplicate range line. + StrPtrLen currentSessionHeader(fSDPSessionHeaders.GetBufPtr(), fSDPSessionHeaders.GetBytesWritten()); + if ( 'a' == theHeaderLinePtr->Ptr[0] && theHeaderLinePtr->FindString("a=range") && currentSessionHeader.FindString("a=range")) + { + return false; + } + + return true; + +} + char SDPLineSorter::sSessionOrderedLines[] = "vosiuepcbtrzka"; // chars are order dependent: declared by rfc 2327 -char SDPLineSorter::sessionSingleLines[] = "vosiuepcbzk"; // return only 1 of each of these session field types +char SDPLineSorter::sessionSingleLines[] = "vtosiuepcbzk"; // return only 1 of each of these session field types StrPtrLen SDPLineSorter::sEOL("\r\n"); StrPtrLen SDPLineSorter::sMaxBandwidthTag("b=AS:"); -SDPLineSorter::SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMediaBandwidthPercent) : fSessionLineCount(0),fSDPSessionHeaders(NULL,0), fSDPMediaHeaders(NULL,0) +SDPLineSorter::SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMediaBandwidthPercent, SDPContainer *insertMediaLinesArray) : fSessionLineCount(0),fSDPSessionHeaders(NULL,0), fSDPMediaHeaders(NULL,0) { Assert(rawSDPContainerPtr != NULL); @@ -263,17 +273,28 @@ SDPLineSorter::SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMed char *mediaStartPtr= theMediaStart->Ptr; fMediaHeaders.Set(mediaStartPtr,mediaLen); StringParser sdpParser(&fMediaHeaders); - StrPtrLen sdpLine; + SDPLine sdpLine; Bool16 foundLine = false; + Bool16 newMediaSection = true; + SDPLine *insertLine = NULL; + while (sdpParser.GetDataRemaining() > 0) { foundLine = sdpParser.GetThruEOL(&sdpLine); if (!foundLine) - { //qtss_printf("SDPLineSorter::SDPLineSorter no line found\n"); - break; + { break; } + if (sdpLine.GetHeaderType() == 'm' ) + newMediaSection = true; + + if (insertMediaLinesArray && newMediaSection && (sdpLine.GetHeaderType() == 'a') ) + { + newMediaSection = false; + for (insertLine = insertMediaLinesArray->GetLine(0); insertLine ; insertLine = insertMediaLinesArray->GetNextLine() ) + fSDPMediaHeaders.Put(*insertLine); + } - if ( ( 'b' == sdpLine.Ptr[0]) && (1.0 != adjustMediaBandwidthPercent) ) + if ( ( 'b' == sdpLine.GetHeaderType()) && (1.0 != adjustMediaBandwidthPercent) ) { StringParser bLineParser(&sdpLine); bLineParser.ConsumeUntilDigit(); @@ -282,7 +303,7 @@ SDPLineSorter::SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMed bandwidth = 1; char bandwidthStr[10]; - qtss_snprintf(bandwidthStr,sizeof(bandwidthStr) -1, "%lu", bandwidth); + qtss_snprintf(bandwidthStr,sizeof(bandwidthStr) -1, "%"_U32BITARG_"", bandwidth); bandwidthStr[sizeof(bandwidthStr) -1] = 0; fSDPMediaHeaders.Put(sMaxBandwidthTag); @@ -307,22 +328,27 @@ SDPLineSorter::SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMed //qtss_printf("\nSession raw Lines:\n"); fSessionSDPContainer.PrintAllLines(); SInt16 numHeaderTypes = sizeof(SDPLineSorter::sSessionOrderedLines) -1; - + Bool16 addLine = true; for (SInt16 fieldTypeIndex = 0; fieldTypeIndex < numHeaderTypes; fieldTypeIndex ++) { SInt32 lineIndex = fSessionSDPContainer.FindHeaderLineType(SDPLineSorter::sSessionOrderedLines[fieldTypeIndex], 0); StrPtrLen *theHeaderLinePtr = fSessionSDPContainer.GetLine(lineIndex); + while (theHeaderLinePtr != NULL) - { - fSDPSessionHeaders.Put(*theHeaderLinePtr); - fSDPSessionHeaders.Put(SDPLineSorter::sEOL); - - if (NULL != ::strchr(sessionSingleLines, theHeaderLinePtr->Ptr[0] ) ) // allow 1 of this type: use first found - break; // move on to next line type - - lineIndex = fSessionSDPContainer.FindHeaderLineType(SDPLineSorter::sSessionOrderedLines[fieldTypeIndex], lineIndex + 1); - theHeaderLinePtr = fSessionSDPContainer.GetLine(lineIndex); - } + { + addLine = this->ValidateSessionHeader(theHeaderLinePtr); + if (addLine) + { + fSDPSessionHeaders.Put(*theHeaderLinePtr); + fSDPSessionHeaders.Put(SDPLineSorter::sEOL); + } + + if (NULL != ::strchr(sessionSingleLines, theHeaderLinePtr->Ptr[0] ) ) // allow 1 of this type: use first found + break; // move on to next line type + + lineIndex = fSessionSDPContainer.FindHeaderLineType(SDPLineSorter::sSessionOrderedLines[fieldTypeIndex], lineIndex + 1); + theHeaderLinePtr = fSessionSDPContainer.GetLine(lineIndex); + } } fSessionHeaders.Set(fSDPSessionHeaders.GetBufPtr(),fSDPSessionHeaders.GetBytesWritten()); diff --git a/CommonUtilitiesLib/SDPUtils.h b/CommonUtilitiesLib/SDPUtils.h index 5af4b42..29c23cf 100644 --- a/CommonUtilitiesLib/SDPUtils.h +++ b/CommonUtilitiesLib/SDPUtils.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -42,10 +42,10 @@ class SDPLine : public StrPtrLen { public: - SDPLine() : fHeaderType('\0') {} + SDPLine() {} virtual ~SDPLine() {} - char fHeaderType; + char GetHeaderType() {if (Ptr && Len) return this->Ptr[0]; return 0;} }; class SDPContainer @@ -89,7 +89,7 @@ class SDPContainer Bool16 SetSDPBuffer(StrPtrLen *sdpBufferPtr); Bool16 IsSDPBufferValid() {return fValid;} Bool16 HasReqLines() { return (Bool16) (fReqLines == kAllReq) ; } - Bool16 HasLineType( char lineType ) { return (Bool16) (lineType == fFieldStr[lineType]) ; } + Bool16 HasLineType( char lineType ) { return (Bool16) (lineType == fFieldStr[ (UInt8) lineType]) ; } char* GetReqLinesArray; void PrintLine(SInt32 lineIndex); void PrintAllLines(); @@ -104,18 +104,22 @@ class SDPContainer UInt16 fReqLines; char fFieldStr[kLineTypeArraySize]; // - + char* fLineSearchTypeArray; }; + + class SDPLineSorter { public: SDPLineSorter(): fSessionLineCount(0),fSDPSessionHeaders(NULL,0), fSDPMediaHeaders(NULL,0) {}; - SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMediaBandwidthPercent = 1.0); + SDPLineSorter(SDPContainer *rawSDPContainerPtr, Float32 adjustMediaBandwidthPercent = 1.0, SDPContainer *insertMediaLinesArray = NULL); StrPtrLen* GetSessionHeaders() { return &fSessionHeaders; } StrPtrLen* GetMediaHeaders() { return &fMediaHeaders; } char* GetSortedSDPCopy(); + Bool16 ValidateSessionHeader(StrPtrLen *theHeaderLinePtr); + StrPtrLen fullSDPBuffSPL; SInt32 fSessionLineCount; diff --git a/CommonUtilitiesLib/SVector.h b/CommonUtilitiesLib/SVector.h new file mode 100644 index 0000000..6a74ada --- /dev/null +++ b/CommonUtilitiesLib/SVector.h @@ -0,0 +1,227 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + * SVector.h + * + * An simple, non-exception safe implementation of vector + */ + +#ifndef _SVECTOR_H_ +#define _SVECTOR_H_ + +#include"OSHeaders.h" +#include"OSMemory.h" + +//T must be default and copy constructable; does not have to be assignable +template +class SVector +{ + public: + explicit SVector(UInt32 newCapacity = 0) + : fCapacity(0), fSize(0), fData(NULL) + { + reserve(newCapacity); + } + + SVector(const SVector &rhs) + : fCapacity(0), fSize(0), fData(NULL) + { + reserve(rhs.size()); + fSize = rhs.size(); + for(UInt32 i = 0; i < rhs.size(); ++i) + NEW(fData + i) T(rhs[i]); + } + + ~SVector() + { + clear(); + operator delete[](fData); + } + + SVector &operator=(const SVector &rhs) + { + clear(); + reserve(rhs.size()); + fSize = rhs.size(); + for(UInt32 i = 0; i < rhs.size(); ++i) + NEW(fData + i) T(rhs[i]); + return *this; + } + + T &operator[](UInt32 i) const { return fData[i]; } + T &front() const { return fData[0]; } + T &back() const { return fData[fSize - 1]; } + T *begin() const { return fData; } + T *end() const { return fData + fSize; } + + //Returns searchEnd if target is not found; uses == for equality comparison + UInt32 find(UInt32 searchStart, UInt32 searchEnd, const T &target) { return find(searchStart, searchEnd, target); } + + //Allows you to specify an equality comparison functor + template + UInt32 find(UInt32 searchStart, UInt32 searchEnd, const T &target, Eq eq = Eq()) + { + UInt32 i = searchStart; + for(; i < searchEnd; ++i) + if (eq(target, fData[i])) + break; + return i; + } + + //returns size() if the element is not found + UInt32 find(const T &target) { return find(target); } + + template + UInt32 find(const T &target, Eq eq = Eq()) { return find(0, size(), target, eq); } + + //Doubles the capacity as needed + void push_back(const T &newItem) + { + reserve(fSize + 1); + NEW (fData + fSize) T(newItem); + fSize++; + } + + void pop_back() { fData[--fSize].~T(); } + + void swap(SVector &rhs) + { + UInt32 tmpCapacity = fCapacity; + UInt32 tmpSize = fSize; + T *tmpData = fData; + fCapacity = rhs.fCapacity; + fSize = rhs.fSize; + fData = rhs.fData; + rhs.fCapacity = tmpCapacity; + rhs.fSize = tmpSize; + rhs.fData = tmpData; + } + + void insert(UInt32 position, const T &newItem) { insert(position, 1, newItem); } + + void insert(UInt32 position, UInt32 count, const T &newItem) + { + reserve(fSize + count); + for(UInt32 i = fSize; i > position; --i) + { + NEW (fData + i - 1 + count) T(fData[i - 1]); + fData[i - 1].~T(); + } + for(UInt32 i = position; i < position + count; ++i) + NEW (fData + i) T(newItem); + fSize += count; + } + + //can accept count of 0 - which results in a NOP + void erase(UInt32 position, UInt32 count = 1) + { + if(count == 0) + return; + for(UInt32 i = position; i < position + count; ++i) + fData[i].~T(); + for(UInt32 i = position + count; i < fSize; ++i) + { + NEW (fData + i - count) T(fData[i]); + fData[i].~T(); + } + fSize -= count; + } + + //Removes 1 element by swapping it with the last item. + void swap_erase(UInt32 position) + { + fData[position].~T(); + if (position < --fSize) + { + NEW(fData + position) T(fData[fSize]); + fData[fSize].~T(); + } + } + + Bool16 empty() const { return fSize == 0; } + UInt32 capacity() const { return fCapacity; } + UInt32 size() const { return fSize; } + + void clear() { resize(0); } + + //unlike clear(), this will free the memories + void wipe() + { + this->~SVector(); + fCapacity = fSize = 0; + fData = NULL; + } + + //Doubles the capacity on a reallocation to preserve linear time semantics + void reserve(UInt32 newCapacity) + { + if (newCapacity > fCapacity) + { + UInt32 targetCapacity = fCapacity == 0 ? 4 : fCapacity; + while(targetCapacity < newCapacity) + targetCapacity *= 2; + reserveImpl(targetCapacity); + } + } + + void resize(UInt32 newSize, const T &newItem = T()) + { + if (newSize > fSize) + { + reserve(newSize); + for(UInt32 i = fSize; i < newSize; ++i) + NEW(fData + i) T(newItem); + } + else if (newSize < fSize) + { + for(UInt32 i = newSize; i < fSize; ++i) + fData[i].~T(); + } + fSize = newSize; + } + + private: + void reserveImpl(UInt32 newCapacity) + { + T *newData = static_cast(operator new[](sizeof(T) * newCapacity)); + fCapacity = newCapacity; + for(UInt32 i = 0; i < fSize; ++i) + NEW (newData + i) T(fData[i]); + operator delete[](fData); + fData = newData; + } + + UInt32 fCapacity; + UInt32 fSize; + T *fData; + + struct EqualOp + { + bool operator()(const T &left, const T &right) { return left == right; } + }; +}; + +#endif //_SVECTOR_H_ + diff --git a/CommonUtilitiesLib/SafeStdLib.h b/CommonUtilitiesLib/SafeStdLib.h index 06566bc..bab8f86 100644 --- a/CommonUtilitiesLib/SafeStdLib.h +++ b/CommonUtilitiesLib/SafeStdLib.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -34,11 +34,13 @@ #define _INTERNAL_STDLIB_H_ #include +#include "OSHeaders.h" + #define kTimeStrSize 32 #define kErrorStrSize 256 extern int qtss_maxprintf(const char *fmt, ...); - extern void qtss_setmaxprintfcharsinK(unsigned long newMaxCharsInK); - extern unsigned long qtss_getmaxprintfcharsinK(); + extern void qtss_setmaxprintfcharsinK(UInt32 newMaxCharsInK); + extern UInt32 qtss_getmaxprintfcharsinK(); #ifndef USE_DEFAULT_STD_LIB diff --git a/CommonUtilitiesLib/Socket.cpp b/CommonUtilitiesLib/Socket.cpp index 3d3b27a..c96b1f9 100644 --- a/CommonUtilitiesLib/Socket.cpp +++ b/CommonUtilitiesLib/Socket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -181,7 +181,7 @@ OS_Error Socket::SetSocketRcvBufSize(UInt32 inNewSize) } -OS_Error Socket::Bind(UInt32 addr, UInt16 port) +OS_Error Socket::Bind(UInt32 addr, UInt16 port, UInt16 test) { socklen_t len = sizeof(fLocalAddr); ::memset(&fLocalAddr, 0, sizeof(fLocalAddr)); @@ -189,7 +189,26 @@ OS_Error Socket::Bind(UInt32 addr, UInt16 port) fLocalAddr.sin_port = htons(port); fLocalAddr.sin_addr.s_addr = htonl(addr); - int err = ::bind(fFileDesc, (sockaddr *)&fLocalAddr, sizeof(fLocalAddr)); + int err; + +#if 0 + if (test) // pick some ports or conditions to return an error on. + { + if (6971 == port) + { + fLocalAddr.sin_port = 0; + fLocalAddr.sin_addr.s_addr = 0; + return EINVAL; + } + else + { + err = ::bind(fFileDesc, (sockaddr *)&fLocalAddr, sizeof(fLocalAddr)); + } + } + else +#endif + err = ::bind(fFileDesc, (sockaddr *)&fLocalAddr, sizeof(fLocalAddr)); + if (err == -1) { @@ -230,7 +249,7 @@ StrPtrLen* Socket::GetLocalAddrStr() printf("Socket::GetLocalAddrStr Search IPs failed, numIPs=%d\n",SocketUtils::GetNumIPAddrs()); for (UInt32 x = 0; x < SocketUtils::GetNumIPAddrs(); x++) - { printf("ip[%lu]=",x); SocketUtils::GetIPAddrStr(x)->PrintStr("\n"); + { printf("ip[%"_U32BITARG_"]=",x); SocketUtils::GetIPAddrStr(x)->PrintStr("\n"); } printf("this ip = %d = ",theAddr.s_addr); fLocalAddrStrPtr->PrintStr("\n"); diff --git a/CommonUtilitiesLib/Socket.h b/CommonUtilitiesLib/Socket.h index 6a8aa13..0ae57d8 100644 --- a/CommonUtilitiesLib/Socket.h +++ b/CommonUtilitiesLib/Socket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -63,7 +63,7 @@ class Socket : public EventContext //Binds the socket to the following address. //Returns: QTSS_FileNotOpen, QTSS_NoErr, or POSIX errorcode. - OS_Error Bind(UInt32 addr, UInt16 port); + OS_Error Bind(UInt32 addr, UInt16 port,Bool16 test = false); //The same. but in reverse void Unbind(); diff --git a/CommonUtilitiesLib/SocketUtils.cpp b/CommonUtilitiesLib/SocketUtils.cpp index ecdb88f..80c55e1 100644 --- a/CommonUtilitiesLib/SocketUtils.cpp +++ b/CommonUtilitiesLib/SocketUtils.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -597,6 +597,9 @@ void SocketUtils::ConvertAddrToString(const struct in_addr& theAddr, StrPtrLen* UInt32 SocketUtils::ConvertStringToAddr(const char* inAddrStr) { + if (inAddrStr == NULL) + return 0; + return ntohl(::inet_addr(inAddrStr)); } diff --git a/CommonUtilitiesLib/SocketUtils.h b/CommonUtilitiesLib/SocketUtils.h index 509ca23..d2c8731 100644 --- a/CommonUtilitiesLib/SocketUtils.h +++ b/CommonUtilitiesLib/SocketUtils.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/StopWatch.h b/CommonUtilitiesLib/StopWatch.h index 326c757..5c815fe 100644 --- a/CommonUtilitiesLib/StopWatch.h +++ b/CommonUtilitiesLib/StopWatch.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/StrPtrLen.cpp b/CommonUtilitiesLib/StrPtrLen.cpp index e3c9bb8..464460e 100644 --- a/CommonUtilitiesLib/StrPtrLen.cpp +++ b/CommonUtilitiesLib/StrPtrLen.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -140,7 +140,7 @@ Bool16 StrPtrLen::NumEqualIgnoreCase(const char* compare, const UInt32 len) cons if (len <= Len) { for (UInt32 x = 0; x < len; x++) - if (sCaseInsensitiveMask[Ptr[x]] != sCaseInsensitiveMask[compare[x]]) + if (sCaseInsensitiveMask[ (UInt8) Ptr[x]] != sCaseInsensitiveMask[(UInt8) compare[x]]) return false; return true; } @@ -153,7 +153,7 @@ Bool16 StrPtrLen::EqualIgnoreCase(const char* compare, const UInt32 len) const if (len == Len) { for (UInt32 x = 0; x < len; x++) - if (sCaseInsensitiveMask[Ptr[x]] != sCaseInsensitiveMask[compare[x]]) + if (sCaseInsensitiveMask[(UInt8) Ptr[x]] != sCaseInsensitiveMask[(UInt8) compare[x]]) return false; return true; } @@ -303,7 +303,7 @@ void StrPtrLen::PrintStr() UInt32 i = 0; for (; i < Len; i ++) { - if (StrPtrLen::sNonPrintChars[Ptr[i]]) + if (StrPtrLen::sNonPrintChars[(UInt8) Ptr[i]]) { thestr[i] = 0; break; } @@ -324,6 +324,18 @@ void StrPtrLen::PrintStr(char *appendStr) qtss_printf(appendStr); } +void StrPtrLen::PrintStr(char* prependStr, char *appendStr) +{ + if (prependStr != NULL) + qtss_printf(prependStr); + + StrPtrLen::PrintStr(); + + if (appendStr != NULL) + qtss_printf(appendStr); +} + + void StrPtrLen::PrintStrEOL(char* stopStr, char *appendStr) { @@ -333,7 +345,7 @@ void StrPtrLen::PrintStrEOL(char* stopStr, char *appendStr) SInt32 i = 0; for (; i < (SInt32) Len; i ++) { - if (StrPtrLen::sNonPrintChars[Ptr[i]]) + if (StrPtrLen::sNonPrintChars[(UInt8) Ptr[i]]) { thestr[i] = 0; break; } diff --git a/CommonUtilitiesLib/StrPtrLen.h b/CommonUtilitiesLib/StrPtrLen.h index 0b09f60..0e4c8bd 100644 --- a/CommonUtilitiesLib/StrPtrLen.h +++ b/CommonUtilitiesLib/StrPtrLen.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -98,7 +98,7 @@ class StrPtrLen StrPtrLen& operator=(const StrPtrLen& newStr) { Ptr = newStr.Ptr; Len = newStr.Len; return *this; } - char operator[](int i) { /*Assert(i +#include #include "StringFormatter.h" #include "MyAssert.h" @@ -42,12 +43,13 @@ UInt32 StringFormatter::sEOLLen = 2; void StringFormatter::Put(const SInt32 num) { char buff[32]; - qtss_sprintf(buff, "%ld", num); + qtss_sprintf(buff, "%"_S32BITARG_"", num); Put(buff); } void StringFormatter::Put(char* buffer, UInt32 bufferSize) { + //optimization for writing 1 character if((bufferSize == 1) && (fCurrentPut != fEndPut)) { *(fCurrentPut++) = *buffer; fBytesWritten++; @@ -64,6 +66,7 @@ void StringFormatter::Put(char* buffer, UInt32 bufferSize) { if (spaceLeft > 0) { + //copy as much as possible; truncating the result ::memcpy(fCurrentPut, buffer, spaceInBuffer); fCurrentPut += spaceInBuffer; fBytesWritten += spaceInBuffer; @@ -87,3 +90,37 @@ void StringFormatter::Put(char* buffer, UInt32 bufferSize) } +//Puts a printf-style formatted string; except that the NUL terminator is not written. If the buffer is too small, returns false and does not +//Alter the buffer. Will not count the '\0' terminator as among the bytes written +Bool16 StringFormatter::PutFmtStr(const char *fmt, ...) +{ + Assert(fmt != NULL); + + va_list args; + for(;;) + { + va_start(args,fmt); + int length = ::vsnprintf(fCurrentPut, this->GetSpaceLeft(), fmt, args); + va_end(args); + + if (length < 0) + return false; + if (static_cast(length) >= this->GetSpaceLeft()) //was not able to write all the output + { + if (this->BufferIsFull(fStartPut, this->GetCurrentOffset())) + continue; + //can only output a portion of the string + UInt32 bytesWritten = fEndPut - fCurrentPut - 1; //We don't want to include the NUL terminator + fBytesWritten += bytesWritten; + fCurrentPut += bytesWritten; + return false; + } + else + { + fBytesWritten += length; + fCurrentPut += length; + } + return true; + } +} + diff --git a/CommonUtilitiesLib/StringFormatter.h b/CommonUtilitiesLib/StringFormatter.h index 418f172..5cf1292 100644 --- a/CommonUtilitiesLib/StringFormatter.h +++ b/CommonUtilitiesLib/StringFormatter.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -78,7 +78,12 @@ class StringFormatter void PutEOL() { Put(sEOL, sEOLLen); } void PutChar(char c) { Put(&c, 1); } void PutTerminator() { PutChar('\0'); } + + //Writes a printf style formatted string + Bool16 PutFmtStr(const char *fmt, ...); + + //the number of characters in the buffer inline UInt32 GetCurrentOffset(); inline UInt32 GetSpaceLeft(); inline UInt32 GetTotalBufferSize(); @@ -92,13 +97,22 @@ class StringFormatter inline void PutFilePath(StrPtrLen *inPath, StrPtrLen *inFileName); inline void PutFilePath(char *inPath, char *inFileName); + + //Return a NEW'd copy of the buffer as a C string + char *GetAsCString() + { + StrPtrLen str(fStartPut, this->GetCurrentOffset()); + return str.GetAsCString(); + } protected: //If you fill up the StringFormatter buffer, this function will get called. By - //default, no action is taken. But derived objects can clear out the data and reset the buffer - //Use the ResizeableStringFormatter if you want a buffer that will dynamically grow - virtual void BufferIsFull(char* /*inBuffer*/, UInt32 /*inBufferLen*/) { } + //default, the function simply returns false. But derived objects can clear out the data, + //reset the buffer, and then returns true. + //Use the ResizeableStringFormatter if you want a buffer that will dynamically grow. + //Returns true if the buffer has been resized. + virtual Bool16 BufferIsFull(char* /*inBuffer*/, UInt32 /*inBufferLen*/) { return false; } char* fCurrentPut; char* fStartPut; diff --git a/CommonUtilitiesLib/StringParser.cpp b/CommonUtilitiesLib/StringParser.cpp index 78407dd..d2ab72c 100644 --- a/CommonUtilitiesLib/StringParser.cpp +++ b/CommonUtilitiesLib/StringParser.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -215,6 +215,35 @@ UInt8 StringParser::sEOLWhitespaceMask[] = }; +UInt8 StringParser::sEOLWhitespaceQueryMask[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, //0-9 // \t is a stop + 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, //10-19 //'\r' & '\n' are stop conditions + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //20-29 + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, //30-39 ' ' is a stop + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //40-49 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //50-59 + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, //60-69 ? is a stop + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //70-79 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //80-89 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //90-99 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //100-109 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //110-119 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //120-129 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //130-139 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //140-149 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //150-159 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //160-169 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //170-179 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //180-189 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //190-199 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //200-209 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //210-219 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //220-229 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //230-239 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //240-249 + 0, 0, 0, 0, 0, 0 //250-255 +}; void StringParser::ConsumeUntil(StrPtrLen* outString, char inStop) { @@ -240,7 +269,7 @@ void StringParser::ConsumeUntil(StrPtrLen* outString, UInt8 *inMask) char *originalStartGet = fStartGet; - while ((fStartGet < fEndGet) && (!inMask[(unsigned char) (*fStartGet)])) + while ((fStartGet < fEndGet) && (!inMask[(unsigned char) (*fStartGet)]))//make sure inMask is indexed with an unsigned char AdvanceMark(); if (outString != NULL) @@ -359,6 +388,8 @@ Float32 StringParser::ConsumeNPT() else return (valArray[0] * 3600) + (valArray[1] * 60) + valArray[2] + (valArray[3] / divArray[3]); } + + Bool16 StringParser::Expect(char stopChar) { if (this->ParserIsEmpty(NULL)) diff --git a/CommonUtilitiesLib/StringParser.h b/CommonUtilitiesLib/StringParser.h index 37d7dbd..c992511 100644 --- a/CommonUtilitiesLib/StringParser.h +++ b/CommonUtilitiesLib/StringParser.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -57,7 +57,10 @@ class StringParser static UInt8 sWordMask[]; // stop when you hit a word static UInt8 sEOLMask[]; // stop when you hit an eol static UInt8 sEOLWhitespaceMask[]; // stop when you hit an EOL or whitespace + static UInt8 sEOLWhitespaceQueryMask[]; // stop when you hit an EOL, ? or whitespace + static UInt8 sWhitespaceMask[]; // skip over whitespace + //GetBuffer: //Returns a pointer to the string object @@ -83,7 +86,7 @@ class StringParser UInt32 ConsumeInteger(StrPtrLen* outString = NULL); Float32 ConsumeFloat(); Float32 ConsumeNPT(); - + //Keeps on going until non-whitespace void ConsumeWhitespace() { ConsumeUntil(NULL, sWhitespaceMask); } diff --git a/CommonUtilitiesLib/StringTranslator.cpp b/CommonUtilitiesLib/StringTranslator.cpp index bff039c..1b75427 100644 --- a/CommonUtilitiesLib/StringTranslator.cpp +++ b/CommonUtilitiesLib/StringTranslator.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/StringTranslator.h b/CommonUtilitiesLib/StringTranslator.h index 5766e76..07497c3 100644 --- a/CommonUtilitiesLib/StringTranslator.h +++ b/CommonUtilitiesLib/StringTranslator.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/TCPListenerSocket.cpp b/CommonUtilitiesLib/TCPListenerSocket.cpp index 4e5ea8a..863461e 100644 --- a/CommonUtilitiesLib/TCPListenerSocket.cpp +++ b/CommonUtilitiesLib/TCPListenerSocket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -36,8 +36,9 @@ #include #include #include - -#include "QTSSModuleUtils.h" +#ifndef __Win32__ + #include "QTSSModuleUtils.h" +#endif #endif @@ -186,6 +187,8 @@ void TCPListenerSocket::ProcessEvent(int /*eventBits*/) theSocket->InitNonBlocking(osSocket); theSocket->SetTask(theTask); theSocket->RequestEvent(EV_RE); + + theTask->SetThreadPicker(Task::GetBlockingTaskThreadPicker()); //The RTSP Task processing threads } diff --git a/CommonUtilitiesLib/TCPListenerSocket.h b/CommonUtilitiesLib/TCPListenerSocket.h index 8422746..4f74e85 100644 --- a/CommonUtilitiesLib/TCPListenerSocket.h +++ b/CommonUtilitiesLib/TCPListenerSocket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/TCPSocket.cpp b/CommonUtilitiesLib/TCPSocket.cpp index c92c38a..4fa790f 100644 --- a/CommonUtilitiesLib/TCPSocket.cpp +++ b/CommonUtilitiesLib/TCPSocket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/TCPSocket.h b/CommonUtilitiesLib/TCPSocket.h index ae85248..24ab1d6 100644 --- a/CommonUtilitiesLib/TCPSocket.h +++ b/CommonUtilitiesLib/TCPSocket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/Task.cpp b/CommonUtilitiesLib/Task.cpp index 2f2fa6d..5ee8dfc 100644 --- a/CommonUtilitiesLib/Task.cpp +++ b/CommonUtilitiesLib/Task.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -37,12 +37,14 @@ #include "OSMutexRW.h" -unsigned int Task::sThreadPicker = 0; +unsigned int Task::sShortTaskThreadPicker = 0; +unsigned int Task::sBlockingTaskThreadPicker = 0; + OSMutexRW TaskThreadPool::sMutexRW; static char* sTaskStateStr="live_"; //Alive Task::Task() -: fEvents(0), fUseThisThread(NULL), fWriteLock(false), fTimerHeapElem(), fTaskQueueElem() +: fEvents(0), fUseThisThread(NULL),fDefaultThread(NULL), fWriteLock(false), fTimerHeapElem(), fTaskQueueElem(), pickerToUse(&Task::sShortTaskThreadPicker) { #if DEBUG fInRunCount = 0; @@ -71,7 +73,7 @@ Bool16 Task::Valid() || (0 != ::strncmp(sTaskStateStr,this->fTaskName, 5)) ) { - if (TASK_DEBUG) qtss_printf(" Task::Valid Found invalid task = %ld\n", this); + if (TASK_DEBUG) qtss_printf(" Task::Valid Found invalid task = %p\n", (void *)this); return false; } @@ -100,25 +102,57 @@ void Task::Signal(EventFlags events) EventFlags oldEvents = atomic_or(&fEvents, events); if ((!(oldEvents & kAlive)) && (TaskThreadPool::sNumTaskThreads > 0)) { + if (fDefaultThread != NULL && fUseThisThread == NULL) + fUseThisThread = fDefaultThread; + if (fUseThisThread != NULL) // Task needs to be placed on a particular thread. { - if (TASK_DEBUG) if (fTaskName[0] == 0) ::strcpy(fTaskName, " corrupt task"); - if (TASK_DEBUG) qtss_printf("Task::Signal enque TaskName=%s fUseThisThread=%lu q elem=%lu enclosing=%lu\n", fTaskName, (UInt32) fUseThisThread, (UInt32) &fTaskQueueElem, (UInt32) this); + + if (TASK_DEBUG) + { + if (fTaskName[0] == 0) ::strcpy(fTaskName, " corrupt task"); + qtss_printf("Task::Signal enque TaskName=%s fUseThisThread=%p q elem=%p enclosing=%p\n", fTaskName, (void *) fUseThisThread, (void *) &fTaskQueueElem, (void *) this); + if (TaskThreadPool::sTaskThreadArray[0] == fUseThisThread) qtss_printf("Task::Signal RTSP Thread running TaskName=%s \n", fTaskName); + } + fUseThisThread->fTaskQueue.EnQueue(&fTaskQueueElem); } else { //find a thread to put this task on - unsigned int theThread = atomic_add(&sThreadPicker, 1); - theThread %= TaskThreadPool::sNumTaskThreads; + unsigned int theThreadIndex = atomic_add( (unsigned int *) pickerToUse, 1); + + if (&Task::sShortTaskThreadPicker == pickerToUse) + { + theThreadIndex %= TaskThreadPool::sNumShortTaskThreads; + + if (TASK_DEBUG) qtss_printf("Task::Signal enque TaskName=%s using Task::sShortTaskThreadPicker=%u numShortTaskThreads=%"_U32BITARG_" short task range=[0-%"_U32BITARG_"] thread index =%u \n",fTaskName, Task::sShortTaskThreadPicker, TaskThreadPool::sNumShortTaskThreads,TaskThreadPool::sNumShortTaskThreads -1, theThreadIndex); + } + else if (&Task::sBlockingTaskThreadPicker == pickerToUse) + { + theThreadIndex %= TaskThreadPool::sNumBlockingTaskThreads; + theThreadIndex += TaskThreadPool::sNumShortTaskThreads; //don't pick from lower non-blocking (short task) threads. + + if (TASK_DEBUG) qtss_printf("Task::Signal enque TaskName=%s using Task::sBlockingTaskThreadPicker=%u numBlockingThreads=%"_U32BITARG_" blocking thread range=[%"_U32BITARG_"-%"_U32BITARG_"] thread index =%u \n",fTaskName, Task::sBlockingTaskThreadPicker, TaskThreadPool::sNumBlockingTaskThreads, TaskThreadPool::sNumShortTaskThreads, TaskThreadPool::sNumBlockingTaskThreads+TaskThreadPool::sNumShortTaskThreads-1, theThreadIndex); + } + else + { + if (TASK_DEBUG) if (fTaskName[0] == 0) ::strcpy(fTaskName, " corrupt task"); + + return; + } + + if (TASK_DEBUG) if (fTaskName[0] == 0) ::strcpy(fTaskName, " corrupt task"); - if (TASK_DEBUG) qtss_printf("Task::Signal enque TaskName=%s thread=%lu q elem=%lu enclosing=%lu\n", fTaskName, (UInt32)TaskThreadPool::sTaskThreadArray[theThread],(UInt32) &fTaskQueueElem,(UInt32) this); - TaskThreadPool::sTaskThreadArray[theThread]->fTaskQueue.EnQueue(&fTaskQueueElem); + if (TASK_DEBUG) qtss_printf("Task::Signal enque TaskName=%s theThreadIndex=%u thread=%p q elem=%p enclosing=%p\n", fTaskName,theThreadIndex, (void *)TaskThreadPool::sTaskThreadArray[theThreadIndex],(void *) &fTaskQueueElem,(void *) this); + + + TaskThreadPool::sTaskThreadArray[theThreadIndex]->fTaskQueue.EnQueue(&fTaskQueueElem); } } else - if (TASK_DEBUG) qtss_printf("Task::Signal sent to dead TaskName=%s q elem=%lu enclosing=%lu\n", fTaskName, (UInt32) &fTaskQueueElem, (UInt32) this); + if (TASK_DEBUG) qtss_printf("Task::Signal sent to dead TaskName=%s q elem=%p enclosing=%p\n", fTaskName, (void *) &fTaskQueueElem, (void *) this); } @@ -132,6 +166,30 @@ void Task::GlobalUnlock() } } +void Task::SetThreadPicker(unsigned int* picker) +{ + pickerToUse = picker; + Assert(pickerToUse != NULL); + if (TASK_DEBUG) + { + if (fTaskName[0] == 0) ::strcpy(fTaskName, " corrupt task"); + + if (&Task::sShortTaskThreadPicker == pickerToUse) + { + qtss_printf("Task::SetThreadPicker sShortTaskThreadPicker for task=%s\n", fTaskName); + } + else if (&Task::sBlockingTaskThreadPicker == pickerToUse) + { + qtss_printf("Task::SetThreadPicker sBlockingTaskThreadPicker for task=%s\n",fTaskName); + } + else + { qtss_printf("Task::SetThreadPicker ERROR unknown picker for task=%s\n",fTaskName); + } + } + +} + + void TaskThread::Entry() @@ -165,7 +223,7 @@ void TaskThread::Entry() if (theTask->fWriteLock) { OSMutexWriteLocker mutexLocker(&TaskThreadPool::sMutexRW); - if (TASK_DEBUG) qtss_printf("TaskThread::Entry run global locked TaskName=%s CurMSec=%.3f thread=%ld task=%ld\n", theTask->fTaskName, OS::StartTimeMilli_Float() ,(SInt32) this,(SInt32) theTask); + if (TASK_DEBUG) qtss_printf("TaskThread::Entry run global locked TaskName=%s CurMSec=%.3f thread=%p task=%p\n", theTask->fTaskName, OS::StartTimeMilli_Float() ,(void *) this,(void *) theTask); theTimeout = theTask->Run(); theTask->fWriteLock = false; @@ -173,7 +231,7 @@ void TaskThread::Entry() else { OSMutexReadLocker mutexLocker(&TaskThreadPool::sMutexRW); - if (TASK_DEBUG) qtss_printf("TaskThread::Entry run TaskName=%s CurMSec=%.3f thread=%ld task=%ld\n", theTask->fTaskName, OS::StartTimeMilli_Float(), (SInt32) this,(SInt32) theTask); + if (TASK_DEBUG) qtss_printf("TaskThread::Entry run TaskName=%s CurMSec=%.3f thread=%p task=%p\n", theTask->fTaskName, OS::StartTimeMilli_Float(), (void *) this,(void *) theTask); theTimeout = theTask->Run(); @@ -187,7 +245,7 @@ void TaskThread::Entry() { if (TASK_DEBUG) { - qtss_printf("TaskThread::Entry delete TaskName=%s CurMSec=%.3f thread=%ld task=%ld\n", theTask->fTaskName, OS::StartTimeMilli_Float(), (SInt32) this, (SInt32) theTask); + qtss_printf("TaskThread::Entry delete TaskName=%s CurMSec=%.3f thread=%p task=%p\n", theTask->fTaskName, OS::StartTimeMilli_Float(), (void *) this, (void *) theTask); theTask->fUseThisThread = NULL; @@ -226,7 +284,7 @@ void TaskThread::Entry() { //note that if we get here, we don't reset theTask, so it will get passed into //WaitForTask - if (TASK_DEBUG) qtss_printf("TaskThread::Entry insert TaskName=%s in timer heap thread=%lu elem=%lu task=%ld timeout=%.2f\n", theTask->fTaskName, (UInt32) this, (UInt32) &theTask->fTimerHeapElem,(SInt32) theTask, (float)theTimeout / (float) 1000); + if (TASK_DEBUG) qtss_printf("TaskThread::Entry insert TaskName=%s in timer heap thread=%p elem=%p task=%p timeout=%.2f\n", theTask->fTaskName, (void *) this, (void *) &theTask->fTimerHeapElem,(void *) theTask, (float)theTimeout / (float) 1000); theTask->fTimerHeapElem.SetValue(OS::Milliseconds() + theTimeout); fHeap.Insert(&theTask->fTimerHeapElem); (void)atomic_or(&theTask->fEvents, Task::kIdleEvent); @@ -245,7 +303,7 @@ void TaskThread::Entry() if ( yieldDur > 1 ) { - if (TASK_DEBUG) qtss_printf( "TaskThread::Entry time in Yield %i, numZeroYields %i\n", (long)yieldDur, (long)numZeroYields ); + if (TASK_DEBUG) qtss_printf( "TaskThread::Entry time in Yield %qd, numZeroYields %qd \n", yieldDur, numZeroYields ); numZeroYields = 0; } else @@ -264,7 +322,7 @@ Task* TaskThread::WaitForTask() if ((fHeap.PeekMin() != NULL) && (fHeap.PeekMin()->GetValue() <= theCurrentTime)) { - if (TASK_DEBUG) qtss_printf("TaskThread::WaitForTask found timer-task=%s thread %lu fHeap.CurrentHeapSize(%lu) taskElem = %lu enclose=%lu\n",((Task*)fHeap.PeekMin()->GetEnclosingObject())->fTaskName, (UInt32) this, fHeap.CurrentHeapSize(), (UInt32) fHeap.PeekMin(), (UInt32) fHeap.PeekMin()->GetEnclosingObject()); + if (TASK_DEBUG) qtss_printf("TaskThread::WaitForTask found timer-task=%s thread %p fHeap.CurrentHeapSize(%"_U32BITARG_") taskElem = %p enclose=%p\n",((Task*)fHeap.PeekMin()->GetEnclosingObject())->fTaskName, (void *) this, fHeap.CurrentHeapSize(), (void *) fHeap.PeekMin(), (void *) fHeap.PeekMin()->GetEnclosingObject()); return (Task*)fHeap.ExtractMin()->GetEnclosingObject(); } @@ -279,14 +337,14 @@ Task* TaskThread::WaitForTask() // period of time // Do not allow a timeout below 10 ms without first verifying reliable udp 1-2mbit live streams. // Test with streamingserver.xml pref reliablUDP printfs enabled and look for packet loss and check client for buffer ahead recovery. - if (theTimeout < 10) + if (theTimeout < 10) theTimeout = 10; //wait... OSQueueElem* theElem = fTaskQueue.DeQueueBlocking(this, (SInt32) theTimeout); if (theElem != NULL) { - if (TASK_DEBUG) qtss_printf("TaskThread::WaitForTask found signal-task=%s thread %lu fTaskQueue.GetLength(%lu) taskElem = %lu enclose=%lu\n", ((Task*)theElem->GetEnclosingObject())->fTaskName, (UInt32) this, fTaskQueue.GetQueue()->GetLength(), (UInt32) theElem, (UInt32)theElem->GetEnclosingObject() ); + if (TASK_DEBUG) qtss_printf("TaskThread::WaitForTask found signal-task=%s thread %p fTaskQueue.GetLength(%"_U32BITARG_") taskElem = %p enclose=%p\n", ((Task*)theElem->GetEnclosingObject())->fTaskName, (void *) this, fTaskQueue.GetQueue()->GetLength(), (void *) theElem, (void *)theElem->GetEnclosingObject() ); return (Task*)theElem->GetEnclosingObject(); } @@ -299,6 +357,8 @@ Task* TaskThread::WaitForTask() TaskThread** TaskThreadPool::sTaskThreadArray = NULL; UInt32 TaskThreadPool::sNumTaskThreads = 0; +UInt32 TaskThreadPool::sNumShortTaskThreads = 0; +UInt32 TaskThreadPool::sNumBlockingTaskThreads = 0; Bool16 TaskThreadPool::AddThreads(UInt32 numToAdd) { @@ -309,12 +369,32 @@ Bool16 TaskThreadPool::AddThreads(UInt32 numToAdd) { sTaskThreadArray[x] = NEW TaskThread(); sTaskThreadArray[x]->Start(); + if (TASK_DEBUG) qtss_printf("TaskThreadPool::AddThreads sTaskThreadArray[%"_U32BITARG_"]=%p\n",x, sTaskThreadArray[x]); } sNumTaskThreads = numToAdd; + + if (0 == sNumShortTaskThreads) + sNumShortTaskThreads = numToAdd; + return true; } + +TaskThread* TaskThreadPool::GetThread(UInt32 index) +{ + + Assert(sTaskThreadArray != NULL); + if (index >= sNumTaskThreads) + return NULL; + + return sTaskThreadArray[index]; + +} + + + + void TaskThreadPool::RemoveThreads() { //Tell all the threads to stop diff --git a/CommonUtilitiesLib/Task.h b/CommonUtilitiesLib/Task.h index bc10953..b0c2b8c 100644 --- a/CommonUtilitiesLib/Task.h +++ b/CommonUtilitiesLib/Task.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -99,6 +99,10 @@ class Task Bool16 Valid(); // for debugging char fTaskName[48]; void SetTaskName(char* name); + + void SetDefaultThread(TaskThread* defaultThread) { fDefaultThread = defaultThread; } + void SetThreadPicker(unsigned int* picker); + static unsigned int* GetBlockingTaskThreadPicker() {return &sBlockingTaskThreadPicker; } protected: @@ -116,7 +120,7 @@ class Task fUseThisThread = (TaskThread*)OSThread::GetCurrent(); Assert(fUseThisThread != NULL); if (TASK_DEBUG) if (fTaskName[0] == 0) ::strcpy(fTaskName, " corrupt task"); - if (TASK_DEBUG) qtss_printf("Task::ForceSameThread fUseThisThread %lu task %s enque elem=%lu enclosing %lu\n", (UInt32)fUseThisThread, fTaskName,(UInt32) &fTaskQueueElem,(UInt32) this); + if (TASK_DEBUG) qtss_printf("Task::ForceSameThread fUseThisThread %p task %s enque elem=%p enclosing %p\n", (void*) fUseThisThread, fTaskName,(void *)&fTaskQueueElem, (void *)this); } SInt64 CallLocked() { ForceSameThread(); fWriteLock = true; @@ -135,6 +139,7 @@ class Task EventFlags fEvents; TaskThread* fUseThisThread; + TaskThread* fDefaultThread; Bool16 fWriteLock; #if DEBUG @@ -148,8 +153,10 @@ class Task OSHeapElem fTimerHeapElem; OSQueueElem fTaskQueueElem; + unsigned int *pickerToUse; //Variable used for assigning tasks to threads in a round-robin fashion - static unsigned int sThreadPicker; + static unsigned int sShortTaskThreadPicker; //default picker + static unsigned int sBlockingTaskThreadPicker; friend class TaskThread; }; @@ -191,14 +198,21 @@ class TaskThreadPool { public: //Adds some threads to the pool - static Bool16 AddThreads(UInt32 numToAdd); + static Bool16 AddThreads(UInt32 numToAdd); // creates the threads: takes NumShortTaskThreads + NumBLockingThreads, sets num short task threads. static void SwitchPersonality( char *user = NULL, char *group = NULL); static void RemoveThreads(); + static TaskThread* GetThread(UInt32 index); + static UInt32 GetNumThreads() { return sNumTaskThreads; } + static void SetNumShortTaskThreads(UInt32 numToAdd) { sNumShortTaskThreads = numToAdd; } + static void SetNumBlockingTaskThreads(UInt32 numToAdd) { sNumBlockingTaskThreads = numToAdd; } private: static TaskThread** sTaskThreadArray; static UInt32 sNumTaskThreads; + static UInt32 sNumShortTaskThreads; + static UInt32 sNumBlockingTaskThreads; + static OSMutexRW sMutexRW; friend class Task; diff --git a/CommonUtilitiesLib/TimeoutTask.cpp b/CommonUtilitiesLib/TimeoutTask.cpp index ec30449..535db56 100644 --- a/CommonUtilitiesLib/TimeoutTask.cpp +++ b/CommonUtilitiesLib/TimeoutTask.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -90,7 +90,7 @@ SInt64 TimeoutTaskThread::Run() if ((theTimeoutTask->fTimeoutAtThisTime > 0) && (curTime >= theTimeoutTask->fTimeoutAtThisTime)) { #if TIMEOUT_DEBUGGING - qtss_printf("TimeoutTask %ld timed out. Curtime = %"_64BITARG_"d, timeout time = %"_64BITARG_"d\n",(SInt32)theTimeoutTask, curTime, theTimeoutTask->fTimeoutAtThisTime); + qtss_printf("TimeoutTask %"_S32BITARG_" timed out. Curtime = %"_64BITARG_"d, timeout time = %"_64BITARG_"d\n",(SInt32)theTimeoutTask, curTime, theTimeoutTask->fTimeoutAtThisTime); #endif theTimeoutTask->fTask->Signal(Task::kTimeoutEvent); } @@ -100,7 +100,7 @@ SInt64 TimeoutTaskThread::Run() if ( (taskInterval > 0) && (theTimeoutTask->fTimeoutInMilSecs > 0) && (intervalMilli > taskInterval) ) intervalMilli = taskInterval + 1000; // set timeout to 1 second past this task's timeout #if TIMEOUT_DEBUGGING - qtss_printf("TimeoutTask %ld not being timed out. Curtime = %"_64BITARG_"d. timeout time = %"_64BITARG_"d\n", (SInt32)theTimeoutTask, curTime, theTimeoutTask->fTimeoutAtThisTime); + qtss_printf("TimeoutTask %"_S32BITARG_" not being timed out. Curtime = %"_64BITARG_"d. timeout time = %"_64BITARG_"d\n", (SInt32)theTimeoutTask, curTime, theTimeoutTask->fTimeoutAtThisTime); #endif } } @@ -109,7 +109,7 @@ SInt64 TimeoutTaskThread::Run() OSThread::ThreadYield(); #if TIMEOUT_DEBUGGING - qtss_printf ("TimeoutTaskThread::Run interval seconds= %ld\n", (SInt32) intervalMilli/1000); + qtss_printf ("TimeoutTaskThread::Run interval seconds= %"_S32BITARG_"\n", (SInt32) intervalMilli/1000); #endif return intervalMilli;//don't delete me! diff --git a/CommonUtilitiesLib/TimeoutTask.h b/CommonUtilitiesLib/TimeoutTask.h index 051740c..9671632 100644 --- a/CommonUtilitiesLib/TimeoutTask.h +++ b/CommonUtilitiesLib/TimeoutTask.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/Trim.c b/CommonUtilitiesLib/Trim.c index d69b607..98ab7ba 100644 --- a/CommonUtilitiesLib/Trim.c +++ b/CommonUtilitiesLib/Trim.c @@ -3,9 +3,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/Trim.h b/CommonUtilitiesLib/Trim.h index e032172..cfc0a19 100644 --- a/CommonUtilitiesLib/Trim.h +++ b/CommonUtilitiesLib/Trim.h @@ -5,9 +5,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UDPDemuxer.cpp b/CommonUtilitiesLib/UDPDemuxer.cpp index 3577bed..db2ce6f 100644 --- a/CommonUtilitiesLib/UDPDemuxer.cpp +++ b/CommonUtilitiesLib/UDPDemuxer.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UDPDemuxer.h b/CommonUtilitiesLib/UDPDemuxer.h index 85b5d28..9797dab 100644 --- a/CommonUtilitiesLib/UDPDemuxer.h +++ b/CommonUtilitiesLib/UDPDemuxer.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UDPSocket.cpp b/CommonUtilitiesLib/UDPSocket.cpp index 13ea1eb..6570f1c 100644 --- a/CommonUtilitiesLib/UDPSocket.cpp +++ b/CommonUtilitiesLib/UDPSocket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UDPSocket.h b/CommonUtilitiesLib/UDPSocket.h index 6b7bab4..7798e65 100644 --- a/CommonUtilitiesLib/UDPSocket.h +++ b/CommonUtilitiesLib/UDPSocket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UDPSocketPool.cpp b/CommonUtilitiesLib/UDPSocketPool.cpp index e054b6e..5dda884 100644 --- a/CommonUtilitiesLib/UDPSocketPool.cpp +++ b/CommonUtilitiesLib/UDPSocketPool.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -80,7 +80,7 @@ void UDPSocketPool::ReleaseUDPSocketPair(UDPSocketPair* inPair) UDPSocketPair* UDPSocketPool::CreateUDPSocketPair(UInt32 inAddr, UInt16 inPort) { - //try to find an open pair of ports to bind these suckers tooo + //try to find an open pair of ports to bind these suckers tooo OSMutexLocker locker(&fMutex); UDPSocketPair* theElem = NULL; Bool16 foundPair = false; @@ -149,4 +149,4 @@ UDPSocketPair* UDPSocketPool::CreateUDPSocketPair(UInt32 inAddr, UInt16 inPort) this->DestructUDPSocketPair(theElem); return NULL; -} \ No newline at end of file +} diff --git a/CommonUtilitiesLib/UDPSocketPool.h b/CommonUtilitiesLib/UDPSocketPool.h index 4d02418..d7b9fb4 100644 --- a/CommonUtilitiesLib/UDPSocketPool.h +++ b/CommonUtilitiesLib/UDPSocketPool.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UserAgentParser.cpp b/CommonUtilitiesLib/UserAgentParser.cpp index 03a5afd..d64975c 100644 --- a/CommonUtilitiesLib/UserAgentParser.cpp +++ b/CommonUtilitiesLib/UserAgentParser.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/UserAgentParser.h b/CommonUtilitiesLib/UserAgentParser.h index 16fb02a..8030fee 100644 --- a/CommonUtilitiesLib/UserAgentParser.h +++ b/CommonUtilitiesLib/UserAgentParser.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/atomic.cpp b/CommonUtilitiesLib/atomic.cpp index 58abe9d..9b75356 100644 --- a/CommonUtilitiesLib/atomic.cpp +++ b/CommonUtilitiesLib/atomic.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/atomic.h b/CommonUtilitiesLib/atomic.h index e78706f..7d8c09d 100644 --- a/CommonUtilitiesLib/atomic.h +++ b/CommonUtilitiesLib/atomic.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/base64.c b/CommonUtilitiesLib/base64.c index eec7d98..c400b62 100644 --- a/CommonUtilitiesLib/base64.c +++ b/CommonUtilitiesLib/base64.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/base64.h b/CommonUtilitiesLib/base64.h index 2915796..5e8dc08 100644 --- a/CommonUtilitiesLib/base64.h +++ b/CommonUtilitiesLib/base64.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/daemon.c b/CommonUtilitiesLib/daemon.c index 104b8e3..ed76cbf 100644 --- a/CommonUtilitiesLib/daemon.c +++ b/CommonUtilitiesLib/daemon.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/daemon.h b/CommonUtilitiesLib/daemon.h index e8b74c1..aeca6ba 100644 --- a/CommonUtilitiesLib/daemon.h +++ b/CommonUtilitiesLib/daemon.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/ev.cpp b/CommonUtilitiesLib/ev.cpp index 2f4716e..f4f23a4 100644 --- a/CommonUtilitiesLib/ev.cpp +++ b/CommonUtilitiesLib/ev.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -32,8 +32,16 @@ */ +#if !MACOSXEVENTQUEUE + #define EV_DEBUGGING 0 //Enables a lot of printfs +#if SET_SELECT_SIZE + #ifndef FD_SETSIZE + #define FD_SETSIZE SET_SELECT_SIZE + #endif +#endif + #include #include @@ -82,6 +90,7 @@ void select_startevents() FD_ZERO(&sReturnedReadSet); FD_ZERO(&sReturnedWriteSet); + //qtss_printf("FD_SETSIZE=%d sizeof(fd_set) * 8 ==%ld\n", FD_SETSIZE, sizeof(fd_set) * 8); //We need to associate cookies (void*)'s with our file descriptors. //We do so by storing cookies in this cookie array. Because an fd_set is //a big array of bits, we should have as many entries in the array as @@ -224,9 +233,16 @@ int select_modwatch(struct eventreq *req, int which) int constructeventreq(struct eventreq* req, int fd, int event) { + Assert(fd < (int)(sizeof(fd_set) * 8)); + if (fd >=(int)(sizeof(fd_set) * 8) ) + { + #if EV_DEBUGGING + qtss_printf("constructeventreq: invalid fd=%d\n", fd); + #endif + return 0; + } req->er_handle = fd; req->er_eventbits = event; - Assert(fd < (int)(sizeof(fd_set) * 8)); req->er_data = sCookieArray[fd]; sCurrentFDPos++; sNumFDsProcessed++; @@ -374,7 +390,7 @@ int select_waitevent(struct eventreq *req, void* /*onlyForMacOSX*/) if ( yieldDur > 1 ) { - qtss_printf( "select_waitevent time in OSThread::Yield() %i, numZeroYields %i\n", (long)yieldDur, (long)numZeroYields ); + qtss_printf( "select_waitevent time in OSThread::Yield() %i, numZeroYields %i\n", (SInt32)yieldDur, (SInt32)numZeroYields ); numZeroYields = 0; } else @@ -455,3 +471,5 @@ bool selecthasdata() return true;//we've gotten a real event, return that to the caller } +#endif //!MACOSXEVENTQUEUE + diff --git a/CommonUtilitiesLib/ev.h b/CommonUtilitiesLib/ev.h index 6277e53..e9079df 100644 --- a/CommonUtilitiesLib/ev.h +++ b/CommonUtilitiesLib/ev.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -23,13 +23,20 @@ * */ -#ifndef _SYS_EV_H_ -#define _SYS_EV_H_ +#ifndef _DSS_SYS_EV_H_ +#define _DSS_SYS_EV_H_ + + #if !defined(__Win32__) && !defined(__solaris__) && !defined(__sgi__) && !defined(__osf__) && !defined(__hpux__) #include #endif +#if MACOSXEVENTQUEUE + #include +#else + + struct eventreq { int er_type; #define EV_FD 1 // file descriptor @@ -47,6 +54,7 @@ struct eventreq { typedef struct eventreq *er_t; + #ifdef _KERNEL #define EV_RBYTES 0x1 @@ -73,7 +81,6 @@ struct eventqelt { #endif /* _KERNEL */ -#if !MACOSXEVENTQUEUE int select_watchevent(struct eventreq *req, int which); int select_modwatch(struct eventreq *req, int which); @@ -81,6 +88,6 @@ int select_waitevent(struct eventreq *req, void* onlyForMOSX); void select_startevents(); int select_removeevent(int which); -#endif +#endif /* !MACOSXEVENTQUEUE */ -#endif /* _SYS_EV_H_ */ +#endif /* _DSS_SYS_EV_H_ */ diff --git a/CommonUtilitiesLib/getopt.c b/CommonUtilitiesLib/getopt.c index 65c8144..af3f41f 100644 --- a/CommonUtilitiesLib/getopt.c +++ b/CommonUtilitiesLib/getopt.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/getopt.h b/CommonUtilitiesLib/getopt.h index e519c7f..538c97e 100644 --- a/CommonUtilitiesLib/getopt.h +++ b/CommonUtilitiesLib/getopt.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/md5.c b/CommonUtilitiesLib/md5.c index 48dd4e1..4c91d5b 100644 --- a/CommonUtilitiesLib/md5.c +++ b/CommonUtilitiesLib/md5.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -78,8 +78,8 @@ documentation and/or software. static void MD5Transform (UInt32 state[4], unsigned char block[64]); static void Encode (unsigned char *output, UInt32 *input, unsigned int len); static void Decode (UInt32 *output, unsigned char *input, unsigned int len); -static void MD5_memcpy (UInt8 * output, UInt8 * input, unsigned int len); -static void MD5_memset (UInt8 * output, int value, unsigned int len); +static void MD5_memcpy (UInt8 * output, UInt8 * input, size_t len); +static void MD5_memset (UInt8 * output, int value, size_t len); static unsigned char PADDING[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -160,7 +160,7 @@ void MD5_Update (MD5_CTX *context, unsigned char *input, unsigned int inputLen) */ if (inputLen >= partLen) { MD5_memcpy - ((UInt8 *)&context->buffer[index], (UInt8 *)input, partLen); + ((UInt8 *)&context->buffer[index], (UInt8 *)input, (size_t) partLen); MD5Transform (context->state, context->buffer); for (i = partLen; i + 63 < inputLen; i += 64) @@ -174,7 +174,7 @@ void MD5_Update (MD5_CTX *context, unsigned char *input, unsigned int inputLen) /* Buffer remaining input */ MD5_memcpy ((UInt8 *)&context->buffer[index], (UInt8 *)&input[i], - inputLen-i); + (size_t) (inputLen-i) ); } /* MD5 finalization. Ends an MD5 message-digest operation, writing the @@ -325,7 +325,7 @@ static void Decode (UInt32 *output, unsigned char *input, unsigned int len) /* Note: Replace "for loop" with standard memcpy if possible. */ -static void MD5_memcpy (UInt8 * output, UInt8 * input, unsigned int len) +static void MD5_memcpy (UInt8 * output, UInt8 * input, size_t len) { /* unsigned int i; @@ -337,7 +337,7 @@ static void MD5_memcpy (UInt8 * output, UInt8 * input, unsigned int len) /* Note: Replace "for loop" with standard memset if possible. */ -static void MD5_memset (UInt8 * output, int value, unsigned int len) +static void MD5_memset (UInt8 * output, int value, size_t len) { /* unsigned int i; diff --git a/CommonUtilitiesLib/md5.h b/CommonUtilitiesLib/md5.h index ed15779..d40495a 100644 --- a/CommonUtilitiesLib/md5.h +++ b/CommonUtilitiesLib/md5.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/md5digest.cpp b/CommonUtilitiesLib/md5digest.cpp index cf21648..a71a8da 100644 --- a/CommonUtilitiesLib/md5digest.cpp +++ b/CommonUtilitiesLib/md5digest.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -247,7 +247,7 @@ void CalcRequestDigest( StrPtrLen* hA1, static unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */ "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; -void to64(register char *s, register long v, register int n) +void to64(register char *s, register SInt32 v, register int n) { while (--n >= 0) { *s++ = itoa64[v & 0x3f]; @@ -275,7 +275,7 @@ void MD5Encode(char *pw, char *salt, char *result, int nbytes) unsigned char final[kHashLen]; int sl, pl, i; MD5_CTX ctx, ctx1; - unsigned long l; + UInt32 l; /* * Refine the salt first. It's possible we were given an already-hashed diff --git a/CommonUtilitiesLib/md5digest.h b/CommonUtilitiesLib/md5digest.h index 2fbe19e..406743f 100644 --- a/CommonUtilitiesLib/md5digest.h +++ b/CommonUtilitiesLib/md5digest.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -72,7 +72,7 @@ void CalcRequestDigest( StrPtrLen* hA1, ); -void to64(register char *s, register long v, register int n); +void to64(register char *s, register SInt32 v, register int n); // Doesn't allocate any memory. The size of the result buffer should be nbytes void MD5Encode( char *pw, char *salt, char *result, int nbytes); diff --git a/CommonUtilitiesLib/mycondition.cpp b/CommonUtilitiesLib/mycondition.cpp index 3ea3177..461ae92 100644 --- a/CommonUtilitiesLib/mycondition.cpp +++ b/CommonUtilitiesLib/mycondition.cpp @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -60,7 +60,7 @@ struct MyCondition { mach_port_t fWaitPort; - long fNumWaiting; + SInt32 fNumWaiting; }; typedef struct MyCondition MyCondition; diff --git a/CommonUtilitiesLib/mycondition.h b/CommonUtilitiesLib/mycondition.h index d44ceaf..478d1d5 100644 --- a/CommonUtilitiesLib/mycondition.h +++ b/CommonUtilitiesLib/mycondition.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/mymutex.cpp b/CommonUtilitiesLib/mymutex.cpp index 767f029..e02fe1b 100644 --- a/CommonUtilitiesLib/mymutex.cpp +++ b/CommonUtilitiesLib/mymutex.cpp @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -62,11 +62,11 @@ struct MyMutex { - int fCount; + SInt32 fCount; pthread_t fHolder; - unsigned long fMutexLock; + UInt32 fMutexLock; mach_port_t fWaitPort; - long fNumWaiting; + SInt32 fNumWaiting; }; typedef struct MyMutex MyMutex; diff --git a/CommonUtilitiesLib/mymutex.h b/CommonUtilitiesLib/mymutex.h index 241add1..d495544 100644 --- a/CommonUtilitiesLib/mymutex.h +++ b/CommonUtilitiesLib/mymutex.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/CommonUtilitiesLib/tempcalls.h b/CommonUtilitiesLib/tempcalls.h index a7dae19..1d849dc 100644 --- a/CommonUtilitiesLib/tempcalls.h +++ b/CommonUtilitiesLib/tempcalls.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -21,11 +21,20 @@ * * @APPLE_LICENSE_HEADER_END@ * - */ - -#define watchevent(a,b) syscall(231,(a),(b)) -#define waitevent(a,b) syscall(232,(a),(b)) -#define modwatch(a,b) syscall(233,(a),(b)) + */ +#ifdef AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER +// these optimized calls are implemented in stdclib and declared in sys/ev.h on 10.5 and later for better performance. +/* + int watchevent(struct eventreq *u_req, int u_eventmask); + int waitevent(struct eventreq *u_req, struct timeval *tv); + int modwatch(struct eventreq *u_req, int u_eventmask); +*/ +#else + // use syscall for the performance calls. + #define watchevent(a,b) syscall(231,(a),(b)) + #define waitevent(a,b) syscall(232,(a),(b)) + #define modwatch(a,b) syscall(233,(a),(b)) +#endif //AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER diff --git a/CommonUtilitiesLib/win32ev.cpp b/CommonUtilitiesLib/win32ev.cpp index 97a5012..87f359b 100644 --- a/CommonUtilitiesLib/win32ev.cpp +++ b/CommonUtilitiesLib/win32ev.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -77,7 +77,7 @@ int select_modwatch(struct eventreq *req, int which) // Convert EV_RE and EV_WR to the proper WSA event codes. // WSA event codes are more specific than what POSIX provides, so // just wait on any kind of read related event for EV_RE, same for EV_WR - long theEvent = 0; + SInt32 theEvent = 0; if (which & EV_RE) theEvent |= FD_READ | FD_ACCEPT | FD_CLOSE; diff --git a/Documentation/CachingProxyProtocol-README.txt b/Documentation/CachingProxyProtocol-README.txt index ede3211..84141c6 100644 --- a/Documentation/CachingProxyProtocol-README.txt +++ b/Documentation/CachingProxyProtocol-README.txt @@ -36,7 +36,7 @@ included in this document as Appendix A. 3. RTP-Meta-Info RTP Payload Streaming Server 3 fully supports the RTP-Meta-Info RTP payload -format, described separately in an Internet Draft (FIXME: NEED NAME). +format, described separately in an Internet Draft (draft-serenyi-avt-rtp-meta-00). RTP packets of this payload type include important information such as the packet transmission time, unique packet number, and video frame type. Caching proxies can use this information to provide the same @@ -71,7 +71,7 @@ the requested arguments, or some don't apply to the RTP stream specified by the SETUP. The server may also modify the values of any arguments it returns. -There is currently only one possible argument for the x-RTP-Options +There is currently only one possible argument for the X-Transport-Options header. More arguments may be added later in the event that more fine-grain control is required for the RTSP server's RTP streams. @@ -112,7 +112,7 @@ The body of this header contains a start and stop packet number for this PLAY request. The specified packet numbers must be based on the packet number RTP-Meta-Info field. For information on how to request packet numbers as part of the RTP stream, see the RTP-Meta-Info -payload format Internet Draft (FIXME!!). +payload format Internet Draft (draft-serenyi-avt-rtp-meta-00). The header format consists of two semi-colon delimited arguments. The first argument must be the packet number range, with the start and diff --git a/Documentation/DevNotes.html b/Documentation/DevNotes.html index 75ed0d7..88cd0a0 100644 --- a/Documentation/DevNotes.html +++ b/Documentation/DevNotes.html @@ -3,57 +3,144 @@ Darwin Streaming Server - Developer Notes - -

Darwin Streaming Server Source Code

-

Developer Notes

-

 

-

 

-

Table of Contents

-

Building
-Installation
-Configuration and Testing 

-

 

-

Licensing

-

The Darwin Streaming Server is distributed under the terms of the Apple Public Source License. For more information, refer to the license terms at www.publicsource.apple.com. Note that the Apple Public Source License does not allow you to use the terms "QuickTime" or "QuickTime Streaming Server" in descriptions of products developed using Darwin Streaming Server open source code, nor use any Apple trademarks or logos associated with QuickTime and QuickTime Streaming Server.

-

  

-

Building

-

If you downloaded a binary package of Darwin Streaming Server, skip to the "Installing" section.

-

To build Darwin Streaming Server on UNIX platforms including MacOS X, type "./Buildit" from within the Darwin Streaming source directory. The script determines the current OS and hardware platform, and builds all of the targets for that platform: DarwinStreamingServer, PlaylistBroadcaster, qtpasswd, and dynamic modules included in the "StreamingServerModules" folder.

-

To build Darwin Streaming Server on Windows NT or Windows 2000, you must have a copy of Visual C++. There is a VC++ workspace file located inside the WinNTSupport directory. Once the workspace is open, from the Build menu select Batch Build.

-

** Note: StreamingLoadTool source is not publicly available from Apple and the related build targets will not build.

-

Building the Installer

-

On OS X, type "./BuildOSXInstallerPkg dss". An OS X installer package will be created.

-

On Unix platforms, type "./Buildit install". A DarwinStreamingSrvr-Platform install directory and tar file will be created.

-

On Windows, after building using the WinNTSupport project, run the MakeZip.bat file inside WinNTSupport directory. A WinNTSupport\DarwinStreamingServer install directory will be created.

- -

Installing

-

On OS X, double click the DarwinStreamignServer.pkg created by the BuildOSXInstallerPkg script.

-

On Unix platforms, type ./Install from within the DarwinStreamingSrvr-Platform directory.

-

On Windows, run the Install script from within the DarwinStreamingServer directory.

- - -

How to build your dynamic QTSS API modules

-

For building new dynamic QTSS API modules on Mac OS X, follow the instructions in the QTSS API developer documentation, "QTSSAPIDocs.pdf".

-

For platforms other that Mac OS X, your module must be built as a shared object, and it must include APIStubLib/QTSS_Private.cpp. This file is the "stub library" that all modules must link against.

-

On most UNIX platforms, building a shared object is like building any other executable, with the addition of one command-line argument to the linker. On Linux, the -shared option tells the linker that it is producing a shared object, on Solaris, the option is -G.

-

The dynamic QTSS API modules that come with Darwin Streaming Server each have a Makefile.POSIX makefile in their respective source directories. These makefiles execute when the Buildit script runs, and contain the make rules to make the dynamic module for each currently supported UNIX platform. It is easiest to use these existing makefiles as a template to copy and modify for your new QTSS API module.

-

 

-

Installation

-

The next step is to install and configure the server. On all platforms, the server reads its preferences from a config file. A default config file, streamingserver.xml, comes with both the source and binary packages. On Mac OS X, the server looks for the file in /Library/QuickTimeStreaming/Config. On Windows, the server looks for the file in "C:\Darwin Streaming Server". On UNIX platforms, the server looks for this file in /etc/streaming. If the streamingserver.xml file isn't available in the directory, the server will create one with the default configuration settings.

-

Once the server is built, you will have an executable called DarwinStreamingServer. The server can be run from the directory where it is built, or you can copy it to another location. On Mac OS X, the binary is called QuickTimeStreamingServer and will be placed in the build directory.

-

To run the server from the directory where it is compiled, just type ./DarwinStreamingServer.

-

 

-

Configuration and Testing

-

The server serves all streaming content out of its "media folder". By default, on Mac OS X, this media folder is located at /Library/QuickTimeStreaming/Movies. This path is one of the preferences in the config file. If you want your media folder to be located somewhere else, you must edit the "movie_folder" preference before starting the server. You can also set the movie folder in the web based administration interface. You can start administering by going to http://localhost:1220/ on your server.

-

Once you have a media folder, you can place streaming media into the folder. All QuickTime files must be "hinted" with QuickTime Player Pro or other QuickTime authoring applications before they can be streamed. Once the movie is hinted, copy the file to the streaming media folder on your server.

-

Sample movies (sample_100kbitmov, sample_300kbit.mov, sample_100kbit.mp4, sample_300kbit.mp4) are included in the package and in the source directory. The sample movies are already hinted, so you can place them into your media folder. From the QuickTime client, attempt to access those movie through an rtsp URL (e.g. rtsp://my.server.com/sample_100kbit.mov), and the server will stream that movie to the client.

-

In order to "reflect" a live broadcast, you must setup and start a broadcaster application, such as the QuickTime Broadcaster. The broadcaster produces an SDP file that describes the live broadcast. Place that SDP file into your media folder, access the URL from a QuickTime Client, and the server will "reflect" the live broadcast to the client. You can also do an automatic unicast from broadcasters that support this feature. You do not have to copy the SDP file to the media folder if you select this option.

-

Also included with the Darwin Streaming Server is StreamingLoadTool, a stress tool for testing the server. StreamingLoadTool realistically simulates many RTSP clients viewing a movie from the server. The tool offers many command-line options that can create different types of simulations. Typing ./StreamingLoadTool will print a description of all available options.

-

StreamingLoadTool will only work if there is a movie called "StreamingLoadTool.mov" in the root movie folder of the target server. This file must be a valid, hinted QuickTime movie.

-

For more information about authoring, hinting, and streaming QuickTime media, refer to the QuickTime Streaming Server documentation.

-

 

-

©right; 1999-2003 Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, Macintosh, PowerBook, Power Macintosh, and QuickTime are trademarks of Apple Computer, Inc., registered in the United States and other countries. eMac, iBook, iMac, Power Mac and Xserve are trademarks of Apple Computer, Inc. All other product names are trademarks or registered trademarks of their respective holders.

-

 

-

 

+

Darwin Streaming Server Source Code + + + + + + + + + + + + + + + + + +

+

Developer Notes + + + + + + + + + + + + + + + + + +

+

Table of Contents

+Building
+Installation
+Configuration and Testing
+

About the Source

+

Licensing

+

The Darwin Streaming Server is distributed under the terms of the Apple Public Source License. For more information, refer to the license terms at www.publicsource.apple.com. Note that the Apple Public Source License does not allow you to use the terms "QuickTime" or "QuickTime Streaming Server" in descriptions of products developed using Darwin Streaming Server open source code, nor use any Apple trademarks or logos associated with QuickTime and QuickTime Streaming Server.

+

Building

+

If you downloaded a binary package of Darwin Streaming Server, skip to the "Installing" section.

+

To build Darwin Streaming Server on UNIX platforms including MacOS X, type "./Buildit" from within the Darwin Streaming source directory. The script determines the current OS and hardware platform, and builds all of the targets for that platform: DarwinStreamingServer, PlaylistBroadcaster, qtpasswd, and dynamic modules included in the "StreamingServerModules" folder.

+

To build Darwin Streaming Server on Windows NT or Windows 2000, you must have a copy of Visual C++. There is a VC++ workspace file located inside the WinNTSupport directory. Once the workspace is open, from the Build menu select Batch Build.

+

Building the Installer

+

On OS X, at the top level of the source directory, type "./Buildit install dss_fat" to build for 32bit and 64bit ppc and intel processors or type "./Buildit install dss" to build an installer for the current processor only. An OS X installer package will be created in the source directory.

+

On Unix platforms, type "./Buildit install". A DarwinStreamingSrvr-Platform install directory and tar file will be created.

+

On Windows, after building using the WinNTSupport project, run the MakeZip.bat file inside WinNTSupport directory. A WinNTSupport\DarwinStreamingServer install directory will be created.

+

Adjusting the Mac OS X Installer

+

If you are building an installer for Mac OS X 10.4 you will need to change the installer's OS and Volume check script located inside the DarwinStreamingServer.pkg at DarwinStreamingServer.pkg/Contents/Resources/VolumeCheck.

+

You can simply remove the script to allow installs on any volume and OS or edit the file and change the OS version. Simply change the version number the script is checking.

+

Look for: my $REQUIRED_OS_VERS = "10.5.0";

+

Installing/b

<> +

After building the installer, on OS X, double click the DarwinStreamignServer.pkg.

+

On Unix platforms, type ./Install from within the DarwinStreamingSrvr-Platform install directory.

+

On Windows, run the Install script from within the DarwinStreamingServer directory.

+

How to build your dynamic QTSS API modules

+

For building new dynamic QTSS API modules on Mac OS X, follow the instructions in the QTSS API developer documentation, "QTSSAPIDocs.pdf".

+

For platforms other that Mac OS X, your module must be built as a shared object, and it must include APIStubLib/QTSS_Private.cpp. This file is the "stub library" that all modules must link against.

+

On most UNIX platforms, building a shared object is like building any other executable, with the addition of one command-line argument to the linker. On Linux, the -shared option tells the linker that it is producing a shared object, on Solaris, the option is -G.

+

The dynamic QTSS API modules that come with Darwin Streaming Server each have a Makefile.POSIX makefile in their respective source directories. These makefiles execute when the Buildit script runs, and contain the make rules to make the dynamic module for each currently supported UNIX platform. It is easiest to use these existing makefiles as a template to copy and modify for your new QTSS API module.

+

Installation

+

The next step is to install and configure the server. On all platforms, the server reads its preferences from a config file. A default config file, streamingserver.xml, comes with both the source and binary packages. On Mac OS X, the server looks for the file in /Library/QuickTimeStreaming/Config. On Windows, the server looks for the file in "C:\Darwin Streaming Server". On UNIX platforms, the server looks for this file in /etc/streaming. If the streamingserver.xml file isn't available in the directory, the server will create one with the default configuration settings.

+

Once the server is built, you will have an executable called DarwinStreamingServer. The server can be run from the directory where it is built, or you can copy it to another location. On Mac OS X, the binary is called QuickTimeStreamingServer and will be placed in the build directory.

+

To run the server from the directory where it is compiled, just type ./DarwinStreamingServer.

+

Configuration and Testing

+

The server serves all streaming content out of its "media folder". By default, on Mac OS X, this media folder is located at /Library/QuickTimeStreaming/Movies. This path is one of the preferences in the config file. If you want your media folder to be located somewhere else, you must edit the "movie_folder" preference before starting the server. You can also set the movie folder in the web based administration interface. You can start administering by going to http://localhost:1220/ on your server.

+

Once you have a media folder, you can place streaming media into the folder. All QuickTime files must be "hinted" with QuickTime Player Pro or other QuickTime authoring applications before they can be streamed. Once the movie is hinted, copy the file to the streaming media folder on your server.

+

Sample movies (sample_100kbitmov, sample_300kbit.mov, sample_100kbit.mp4, sample_300kbit.mp4) are included in the package and in the source directory. The sample movies are already hinted, so you can place them into your media folder. From the QuickTime client, attempt to access those movie through an rtsp URL (e.g. rtsp://my.server.com/sample_100kbit.mov), and the server will stream that movie to the client.

+

In order to "reflect" a live broadcast, you must setup and start a broadcaster application, such as the QuickTime Broadcaster. The broadcaster produces an SDP file that describes the live broadcast. Place that SDP file into your media folder, access the URL from a QuickTime Client, and the server will "reflect" the live broadcast to the client. You can also do an automatic unicast from broadcasters that support this feature. You do not have to copy the SDP file to the media folder if you select this option.

+

Also included with the Darwin Streaming Server is StreamingLoadTool, a stress tool for testing the server. StreamingLoadTool realistically simulates many RTSP clients viewing a movie from the server. The tool offers many command-line options that can create different types of simulations. Typing ./StreamingLoadTool will print a description of all available options.

+

StreamingLoadTool will only work if there is a movie called "StreamingLoadTool.mov" in the root movie folder of the target server. This file must be a valid, hinted QuickTime movie.

+

For more information about authoring, hinting, and streaming QuickTime media, refer to the QuickTime Streaming Server documentation.

+


+

+

Q&A

+

Q. What platforms does the source compile and run on?

+

The source currently compiles and runs on Mac OS X. It can be ported to other platforms by modifying a handful of platform specific source files:

+

OSThread, OSCond, OSMutex: Implements threads, mutexes, and condition variables. The implementations provided work on MacOS X as well as any platform that supports pthreads.

+

OS: Includes some platform-specific code for getting the current time. Implementations provided work on MacOS X as well as any platform that supports gettimeofday.

+

Socket: This class is C++ wrapper for the sockets API. On MacOS X, this class uses a set of APIs collectively called the Event Queue for receiving events from sockets in non-blocking mode. For other platforms, an implementation of the Event Queue APIs using select() has been provided in ev.cpp. For more details on the Event Queue, see "What is the Event Queue?" in the FAQ section.

+


+

Q. What is the QTFile library?

+

One of the major features of the Darwin Streaming Server is the ability to serve hinted QuickTime files over RTSP and RTP. All of the code for parsing hinted QuickTime files has been abstracted into the QTFile library. Separating the code in this way keeps both parts much simpler: QTFile only deals with file parsing, the Darwin Streaming Server only deals with networking and protocols. The RTPFileModule in the server calls the QTFile library to retrieve packets and meta-data from hinted QuickTime files.

+


+

Q. What is the reflector, and how does it work?

+


+

The reflector allows an administrator to deliver live broadcasts to RTSP clients. The reflector is implemented as an RTP module, and the source code is entirely in RTPReflectorModule.h/.cpp, and ReflectorSession.h/.cpp.

+


+

When a QuickTime client wants to view a broadcast, it first connects to the Darwin Streaming Server reflector module and directs the module to look for a proper incoming broadcast. If the broadcast is found, the Darwin Streaming Server will then "reflect" the broadcast to the client. The following is a detailed description of how this works. Readers may want to familiarize themselves with SDP (Session Description Protocol), and IP multicast before continuing.

+


+

In order to reflect something, there must be a live broadcast available to reflect. A broadcast is a stream of RTP packets generated by an application or process external to the Darwin Streaming Server and typically run on a separate machine. In this discussion we will call the live stream generator the "Broadcaster". The Broadcaster converts a live media source (like a camera, or microphone, or whatever) into RTP packets. It sends the packets over UDP, to either a multicast or unicast destination address. Broadcasters will usually create .sdp files containing all the SDP (Session Description Protocol), information about this live presentation needed by the client and reflector.

+


+

Most importantly, the .sdp file contains the (destination) IP address and ports for the live presentation. The IP address can define a multicast or unicast connection for the client. QuickTime clients can read .sdp files directly and use them to connect directly to a Broadcaster. When the IP address in the .sdp file specifies a multicast address, the client will join the multicast provided there are multicast-aware routers between it and the Broadcaster. When the IP address is a unicast type, the client will connect when the .sdp destination IP address is the IP address of the client. This is because the Broadcaster is sending UDP packets directly to that machine!

+


+

In order to reflect the broadcast stream, the .sdp file created by the Broadcaster must be located on the server, and inside the server's media folder. Let's say that on our server, there's a .sdp file called "fish.sdp" located at the root of the media folder.

+

An RTSP client will connect using "rtsp://ourserver.com/fish",

+


+

After the .sdp file is found, the reflector parses the file to get the source IP address and ports for the live presentation. When the server then makes the connection, the same rules apply to the server as to a real client. This is because the .sdp specified server connection is simply a client of the live presentation. This means the IP address must specify a multicast address, or the IP address of the server itself.

+


+

Once the source address for the live presentation is located, the reflector binds some sockets to the specified ports. If the specified IP address is a multicast type, the reflector will join the multicast. At this point, those sockets will begin receiving all the data being sent by the Broadcaster.

+


+

The reflector module allows a multicast client to view the broadcast stream as a normal unicast stream coming from the Darwin Streaming Server. The .sdp file is rewritten on the fly by the reflector to erase the source IP address and port information, to hide the information from the client. Once a PLAY request is issued by the client, the reflector begins sending all incoming packets from the Broadcaster to the client.

+


+

As additional clients connect to the same live stream, the reflector increments refcounts and adds each new client to its stream tracking data structures. This efficiently allows each client to receive identical copies of all incoming packets from the Broadcaster.

+


+

When all clients have disconnected, the reflector closes the source UDP sockets, and deallocates all resources for that broadcast.

+


+

There is no limit on the number of unique live broadcasts that a single server can reflect, nor on the number of clients that can be connected to a single Reflection, apart from the overhead offile descriptor limitations, CPU, memory & bandwidth constraints. The CPU & memory consumed by a reflected stream is typically much less than normal locally stored media. Note: each unique live broadcast must be represented on the server by a unique .sdp file.

+


+

Q. What is the Event Queue?

+

The Event Queue is an extension to the sockets API that exists on Mac OS X. It consists of three API calls:

+

watchevent: Watch for events on a file descriptor (socket). waitevent: Wait for events on any of sockets (this is a blocking call, it only returns when there is an event pending). modwatch: When waitevent returns an event for a socket, that socket won't receive any new events until modwatch is called for that socket.

+


+

The use of these API calls is almost exclusively contained within Socket.cpp. This file contains the implementation of a thread object called SocketEventQueueThread. This thread blocks on waitevent and notifies the proper Task object (See "What Are Task Objects?") when an event is received.

+


+

For other UNIX platforms, an implementation of these three Event Queue API calls is provided in terms of select(). This implementation is contained in ev.cpp.

+


+

Q. How does the Darwin Streaming Server (DSS) employ threads?

+


+

DSS has four main threads managing its subsystems: a single connection thread for managing all connections, a short duration task thread for servicing tasks like rtp packet transmission, a long duration task thread for handling rtsp session requests and authentication, and an idle thread for time based tasks. DSS does not dedicate a thread per connection because the cost of servicing multiple connections would become prohibitively expensive when hundreds or thousands of connections are active. Typically connections last anywhere from 5 minutes to hours. To allow the server to scale into the thousands of connections, the Darwin Streaming Server uses asynchronous I/O wherever possible so a given thread will never block.

+


+

Q. What are Task objects?

+


+

Because the server is largely asynchronous, there needs to be a communication mechanism for events. For instance, when a socket used for an RTSP connection gets data, something has to be notified so that data can be processed. The Task object is a generalized mechanism for performing this communication.

+


+

Each Task object has two major methods: Signal and Run. Signal is called by the server to send an event to a Task object. Run is called to give time to the Task for processing the event. The goal of each Task object is to implement server functionality using small non-blocking time slices. Run is a pure virtual function that is called when a Task object has events to process. Inside the Run function, the Task object can call GetEvents to receive and automatically dequeue all its current and previously Signaled events. All Task functions are atomic: if a Task object calls GetEvents in its Run function, and is then Signaled before the Run function completes, the Run function will be called again for the new event after exiting the function. In fact, the Task"s Run function will be called repeatedly until the task object"s event queue has been cleared with GetEvents. Run functions are not re-entered during execution due to new signaled events.

+


+

This core concept of event triggered high performance Tasks is integrated into almost every subsystem in DSS. For instance, a Task object can be associated with a Socket object. If the Socket gets an event -- through a select() notification, or through the Mac OS X Event Queue (see "What is the Event Queue?") -- the corresponding Task object will be Signaled. In this case the body of the Run function will contain the code for processing whatever event was received on that Socket.

+


+


+

+

© 1999-2008 Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, Macintosh, PowerBook, Power Macintosh, and QuickTime are trademarks of Apple Computer, Inc., registered in the United States and other countries. iBook, iMac, and Power Mac are trademarks of Apple Computer, Inc. All other product names are trademarks or registered trademarks of their respective holders.

+
diff --git a/Documentation/FAQ.html b/Documentation/FAQ.html new file mode 100644 index 0000000..a0089fc --- /dev/null +++ b/Documentation/FAQ.html @@ -0,0 +1,151 @@ +

What is Darwin Streaming Server?

+

 

+
+

Darwin Streaming Server is the open source version of the QuickTime Streaming Server allowing you to stream hinted QuickTime, MPEG-4, and 3GPP files over the Internet via the industry standard RTP and RTSP protocols.

+

Q. What's new in DSS 6.0.3?

+
+
- DSS now builds and runs 64-bit on MacOS X
+
- Updates for example modules:
- The example Authorization module has been updated.
+
+
Source code is available in: APIModules/QTSSDemoAuthorizationModule.bproj
+
+
- The example Spam Defense module has been updated.
+
+
Source code is available in: APIModules/QTSSSpamDefenseModule.bproj
+
+
- An example RTSP redirect module has been included
+
+
Source code is available in: APIModules/QTSSDemoRedirectModule.bproj
Example modules are installed into:
(MacOS X): /Library/QuickTimeStreamingServer/Modules.disabled
(other Unix): /usr/local/sbin/StreamingServerModules
+
+
- OS X based user account support is added using Apple Open Directory services and includes LDAP and Active Directory user account authentication and authorization
+
- Full source for the streamingloadtool the QT, MP4, and 3GPP rtsp/rtp test client.
- Separate thread pools are used for RTSP processing and RTP processing
- Performance is improved on OS X systems with 4 and 8 cores over previous releases.
- Supports hinted files greater than 4GB in size.
- The posted pre-built MacOS package runs on MacOS X 10.5 or later only
- No build support yet for non-Mac OS X systems (open source submissions are needed to build on other platforms)
- No longer posting pre-built install binaries for non-Mac OS X systems.
Version 5.5.5 for Mac OS X, Linux and Windows can be downloaded from http://developer.apple.com/opensource/server/streaming/index.html
+
+


This release contains open source submissions for the following issues:

+
+
- Fixed compilation problem on Solaris 10u3 (Stefan Parvu)
- Fixed access log c-bytes value (Amir Wolf)
- Fixed access log CPU utilization value
- Fixed compilation problem on FC6 linux PPC (Matthew McGillis)
- Fix to allow streaming of files with bad hint track references, allows compatibility with some popular encoders (Fredrik Widlund)
- Fix StreamingProxy compilation problems for some non-MacOSX platforms
- Added a HowTo for uninstalling DSS on a MacOS X system
- Misc. fixes for Debian linux (Ben Humpert)
- Fixed problem with video sync frame detection for MacOS X on Intel (Lorenzo Vicisano)
+
+


To submit your own Darwin Streaming Server modifications, please use http://dss.macosforge.org/trac/newticket

+

 

+

Q. Does the Darwin Streaming Server 6.0.3 install on Mac OS X 10.4 Tiger?

+

The posted installer will not install to 10.4.  The installer binaries are built for 10.5 and will not run on older versions of the Mac OS.

+

 

+

Q. Can Darwin Streaming Server 6.0.3 be built on Mac OS X 10.4 Tiger?

+

Yes, there are some functional differences but the 6.0.3 source can be built using the buildit script as well as the installer package on Mac OS X 10.4.  See the file: Documentation/DevNotes.html in the source code.

+

 

+

Q. What does the Darwin Streaming Server source include?

+

The package includes source files for a streaming server with web based administration that can serve on-disk "hinted" QuickTime, MPEG2-program streams, MPEG-4, and 3GPP files and reflect live broadcasts, as well as source for the proxy (except on Windows). See the Documentation directory included with the source for more information about the code.

+

 

+

 

+

Q. Where can I find information about streaming with Darwin Streaming Server (DSS)?

+

http://dss.macosforge.org

+

http://soundscreen.com/streaming

+

http://streaming411.com/wiki

+

http://streaming411.com/forums

+

http://lists.apple.com/mailman/listinfo/streaming-server-users

+

http://lists.apple.com/mailman/listinfo/streaming-server-dev

+

 

+

Q. What is the Darwin Streaming Server development cycle?

+

Darwin Streaming Server (DSS) is an ongoing project supported by Apple and the DSS the development community. Updates to the source code and pre-compiled binaries are delivered on an as needed basis. If you are interested in seeing the latest snaphshot of the codebase, visit http://dss.macosforge.org.

+

+

 

+

Q. Which CVS tag is the latest stable release

+

Future CVS use is under review while SVN or simple source tar postings are being evaluated.

+

You can download the latest Mac OS X 10.5 release from  http://dss.macosforge.org

+

The http://developer.apple.com/opensource/server/streaming/ CVS contains software for DSS Mac OS 10.4 and other OS platforms.

+

The latest CVS tag is DSS_5_5_5_Release. The Darwin Streaming Server branch tag is DSS_10_4_Branch. The QuickTime Streaming Server branch tag is MacOS_10_4_Branch.

+

Q. What is on the CVS top of tree?

+

The top of tree is reserved for merging QuickTime Streaming Server development and unreleased code with Darwin Streaming Server code to create a new major release branch.  Bug fixes and submissions are added to branches.

+

 

+

Q. I submitted a bug fix and/or feature request. When can I expect to see it incorporated into the DSS code base?

+

Bug fixes that have been submitted to the Darwin Streaming Server codebase are evaluated and tested by Apple prior to being incorporated into the codebase. Apple engineers make every effort to apply open source developer submitted code changes and fixes to the DSS code base where appropriate. The streaming server mailing list hosted by Apple is a forum for the  community to discuss important features, bugs and deployments. 

+

 

+

Q. My .mp4, .3gp, or .mov file won't stream. Why does the player show 415 invalid media?

+

The streaming server supports QuickTime Movie (MOV),  MPEG-4 (MP4), and 3GPP (3GP) "hinted" files.

+

Hinting is a post-process that you apply to your movies to make them RTSP-streamable. You can hint them with QuickTime Pro or the hinting tool available in the MPEG4IP package.

+

If you don't hint your .mov's or mp4's they will still be HTTP-downloadable but it will take them some seconds to start playing. You won't need a streaming server for this, just use good old Apache.

+

See also http://soundscreen.com/streaming/compress_hint.html

+

 

+

Q. Can I stream mp3 files with DSS?

+

No, not by default, but the server can be configured using the experimental module "QTSSHttpFileModule" located in the modules.disabled directory. The module must be moved to the modules directory and an http_folder must be defined in the server's preference xml file.

+

 

+

Q. Can I http download files with DSS?

+

No, not by default, but the server can be configured using the experimental module "QTSSHttpFileModule" located in the modules.disabled directory. The module must be moved to the modules directory and an http_folder must be defined in the server's preference xml file.

+

 

+

Q. Can I configure DSS to stream live mp3 streams to simulate a radio station to connected users?

+

Yes. Use the MP3Broadcaster that is part of DSS to broadcast mp3 v1, v2, and v2.3 files from a server side playlist to DSS. All files must have the same sample rate.

+

 

+

Q. Can I configure DSS to stream live .mp4, .3gp, or .mov streams to simulate a radio or tv station to connected users?

+

Yes. Use the PlaylistBroadcaster that is part of DSS, to stream hinted files from a server side playlist to DSS. All video files must have the same frame size and use the same codec and all audio files must have the same sample size and use the same codec.

+

 

+

Q. Can I update the server side playlists while the playlist is being broadcast?

+

Yes. Replace the playlist file and add a playlist file using the playlist name and the extension ".updatelist" in the same directory as the playlist file.

+

 

+

Q. Can I see what the upcoming files are while the server side playlist is playing?

+

Yes. Look for the file with the extensions ".upcoming" in the directory with the playlist.

+

 

+

Q. Can I see the name of the current file being played by the server side playlist?

+

Yes. Look for a file with the extension ".current" in the directory with the playlist.

+

 

+

Q. Can I tell the playlist broadcaster to stop playing a playlist after 0 or more files?

+

Yes.  Add a playlist file using the playlist name and the extension ".stoplist" in the same directory as the playlist file and it will be read at the next song and then deleted. The broadcast will stop playing at the end of the stoplist.

+

 

+

Q. Can I temporarily insert a set of files into the playlist while it is playing?

+

Yes.  Add a playlist file with the playlist name and the extension ".insertlist"  in the same directory as the playlist file and its list will be insert at the end of the next song and then deleted. The broadcast will revert back to the original list after playing the inserted list.

+

 

+

Q.Where is the streaming server's preference xml file?

+

OS X: /Library/QuickTimeStreaming/Config/streamingserver.xml

+

Windows: c:\Program Files\Darwin Streaming Server\streamingserver.xml

+

Unix style OS: /etc/streaming/streamingserver.xml

+

 

+

Q. Where are the default log, movie folder, modules, and configuration paths defined?

+

See the file defaultPaths.h in the source code.

+

 

+

 

+

Q. What codecs can I use with DSS?

+

Because DSS streams hinted streaming files, any file that has been successfully hinted can be used by DSS.  Hinted files remove the need for the server to understand the media information of the files it streams.

+

 

+

Q. How do I compile on Linux?

+

On Unix platforms, type "./Buildit" from within the source directory.

+

 

+

Q. How do I create an installer directory and tar package?

+

On Unix platforms, type "./Buildit install". A DarwinStreamingSrvr-Platform install directory and tar file will be created.

+

See the file DevNotes.html file  in the source code "Documentation" directory for more information.

+

 

+

 

+

Q. How do I compile on Windows?

+

DSS 5.5.5 or earlier

+

To build Darwin Streaming Server on Windows NT or Windows 2000, you must have a copy of Visual C++ version 6.0. There is a VC++ workspace file located inside the WinNTSupport directory that can be used to to build the server. Once the workspace is open, select Batch Build from the Build menu .

+

See the file DevNotes.html file  in the source code "Documentation" directory for more information.

+

 

+

Q. Why does it take so long (a few seconds) the first time I connect to my streaming server using the QuickTime Player?

+

The first time the player connects to an IP address it checks the bandwidth to the server which can take a few seconds.  

+

 

+

Q. Why does it take so long (30 seconds or more) the first time I connect to my streaming server using the QuickTime Player?

+

If there is a firewall or the default UDP port is unavailable the client will try alternate ports and protocols to connect to the server. This process can take up to a minute.

+

 

+

Q. How do I get through a firewall?

+

The best solution is to configure the firewall to allow streaming access minimally on port 554 and preferably with udp support on 6970-6999, and 1220 for web admin access, 8000 for mp3 streaming, and 7070 for some streaming players.   When that is not possible, the QuickTime Player will automatically try to switch to the HTTP protocol to stream from the server, this sometimes works but if the standard streaming ports are completely blocked by a firewall then streaming on port 80 should be tried.

+

 

+

Q. How do I stream on Port 80 and have a Web server on the same system.

+

This is not possible without changing either DSS or the web server's port to something other than 80.

+

 

+

Q. How do I set up Authenticated access?

+

Version 6.0 and later

+

Turn off guest access in the server preference xml file by setting the "enable_allow_guest_default" preference to "false".

+

The server will authenticate users against Directory Services and qtaccess files.

+

 

+

Please see DSS admin guide located at http://developer.apple.com/opensource/server/streaming/qtss_admin_guide.pdf

+

 

+

 

+

Q. What does this error mean?

+

 "415 - Unsupported Media Type" -- file is probably not hinted or corrupt. The server was found but the requested media couldn't be accessed. 

+

"-3285 disconnect" error -- a  firewall probably, the server was found but a network failure occured.

+

"-5420 connection failed" -- server not found maybe not running or the machine or network is not connected

+

"404 file not found"  -- means a file is not found on the server or a live stream is no longer broadcasting to the server.

+

 

+

 

+

Q. Can I use the QuickTime logo or web badge with my server?

+

Guidelines for use of the QuickTime logo and web badge are available at http://developer.apple.com/softwarelicensing/agreements/quicktime.html.

+
+

 

+

 

\ No newline at end of file diff --git a/Documentation/Howto/Uninstalling_for_OS_X.txt b/Documentation/Howto/Uninstalling_for_OS_X.txt new file mode 100644 index 0000000..b022b3f --- /dev/null +++ b/Documentation/Howto/Uninstalling_for_OS_X.txt @@ -0,0 +1,19 @@ +Here's a brief how-to guide to deinstall QTSS on the OS X platform. + +1. Back up config files sitting at /Library/QuickTimeStreaming/Config/ as needed. Also, the qtaccess privileges file present in the Movies directory. +2. Delete the configuration receipt at /Library/Receipts/DarwinStreamingServer.pkg +3. Remove the server and the webmin perl script: +/usr/sbin/QuickTimeStreamingServer +/usr/sbin/streamingadminserver.pl +4. For completeness, also the Playlist Broadcaster & friends, +/usr/bin/PlaylistBroadcaster +/usr/bin/MP3Broadcaster +/usr/bin/StreamingLoadTool +/usr/bin/createuserstreamingdir + +5. If deinstalling for good, also remove the relevant entries in +/etc/hostconfig +namely, +QTSSWEBADMIN=-YES- +QTSSRUNSERVER=-YES- + diff --git a/Documentation/ReadMe.rtf b/Documentation/ReadMe.rtf index 5808454..936e3f7 100644 --- a/Documentation/ReadMe.rtf +++ b/Documentation/ReadMe.rtf @@ -1,8 +1,7 @@ -{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 -{\fonttbl\f0\froman\fcharset77 Times-Bold;\f1\froman\fcharset77 Times-Roman;\f2\fswiss\fcharset77 Helvetica; -\f3\froman\fcharset77 Times-Italic;} +{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf270 +{\fonttbl\f0\froman\fcharset0 Times-Roman;\f1\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\vieww18380\viewh17680\viewkind0 +\vieww21200\viewh17740\viewkind0 \pard\ql\qnatural \f0\b\fs36 \cf0 About Darwin Streaming Server \ @@ -12,37 +11,76 @@ \fs24 \cf0 Contents\ \pard\ql\qnatural -\f1\b0\fs28 \cf0 \ +\b0\fs28 \cf0 \ Welcome to Darwin Streaming Server, Apple's open source version of the QuickTime Streaming Server technology allowing you to send streaming media across the Internet using the industry standard RTP and RTSP protocols. Based on the same code base as QuickTime Streaming Server, Darwin Streaming Server provides a high level of customizability and runs on a variety of platforms allowing you to manipulate the code to fit your needs. \ \ \pard\ql\qnatural -\f0\b\fs24 \cf0 What's New with Darwin Streaming Server 5.5.5\ +\b\fs24 \cf0 What's New with Darwin Streaming Server 6.0.3\ +\pard\ql\qnatural + +\b0\fs28 \cf0 - DSS now builds and runs 64-bit on MacOS X\ +\pard\pardeftab720\ql\qnatural +\cf0 - Updates for example modules:\ +\'a0\'a0- The example Authorization module has been updated.\ +\'a0\'a0 \'a0Source code is available in:\'a0APIModules/QTSSDemoAuthorizationModule.bproj\ +\'a0\'a0- The example Spam Defense module has been updated.\ +\'a0\'a0 \'a0Source code is available in:\'a0APIModules/QTSSSpamDefenseModule.bproj\ +\'a0\'a0- An example RTSP redirect module has been included\ +\'a0\'a0 \'a0Source code is available in:\'a0APIModules/QTSSDemoRedirectModule.bproj\ +\'a0\'a0Example modules are\'a0installed into:\ +\'a0\'a0 \'a0(MacOS X): /Library/QuickTimeStreamingServer/Modules.disabled\ +\'a0\'a0 \'a0(other Unix):\'a0/usr/local/sbin/StreamingServerModules\ +- OS X based user account support is added using Apple Open Directory services and includes LDAP and Active Directory user account authentication and authorization \ +- Separate thread pools are used for RTSP processing and RTP processing\ +- Performance is improved on OS X systems with 4 and 8 cores over previous releases.\ +- Supports hinted files greater than 4GB in size.\ +- The posted pre-built MacOS package runs on MacOS X 10.5 or later only\ +- No build support yet for non-Mac OS X systems (open source submissions are needed to build on other platforms)\ +- No longer posting pre-built install binaries for non-Mac OS X systems.\ + Version 5.5.5 for Linux and Windows can be downloaded from http://developer.apple.com/opensource/server/streaming/index.html\ +\ +\pard\ql\qnatural +\cf0 This release contains open source submissions for the following issues: +\b\fs24 \ + +\b0\fs28 - Fixed compilation problem on Solaris 10u3 (Stefan Parvu)\ +- Fixed access log c-bytes value (Amir Wolf)\ +- Fixed access log CPU utilization value\ +- Fixed compilation problem on FC6 linux PPC (Matthew McGillis)\ +- Fix to allow streaming of files with bad hint track references, allows compatibility with some popular encoders (Fredrik Widlund)\ +- Fix StreamingProxy compilation problems for some non-MacOSX platforms\ +- Added a HowTo for uninstalling DSS on a MacOS X system\ +- Misc. fixes for Debian linux (Ben Humpert)\ +- Fixed problem with video sync frame detection for MacOS X on Intel (Lorenzo Vicisano)\ +\pard\pardeftab720\ql\qnatural +\cf0 \ +\pard\ql\qnatural +\cf0 Please use http://dss.macosforge.org/ to submit your own Darwin Streaming Server modifications.\ \ +\pard\ql\qnatural + +\b\fs24 \cf0 What's New with Darwin Streaming Server 5.5.5b\ \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 Darwin Streaming Server 5.5.5 is a new release containing open source submissions for the following issues:\ +\b0\fs28 \cf0 Darwin Streaming Server 5.5.5b is a beta release containing open source submissions for the following issues:\ - Compilation problems using gcc 4 (Andreas Thienemann)\ - Support for SDPs created by VLC and Mpeg4IP (David Moore)\ - Fix date display in DSS Web Admin (Maksym Veremeyenko)\ - Better support for streaming through NAT (Denis Ahrens)\ - Better support for running DSS on a multi-homed system (Denis Ahrens)\ - Relaying problems with VLC (Alessandro Falaschi, http://labtel.ing.uniroma1.it/opencdn/darwinp.html)\ -- A security fix for possible stack and heap overflow attacks in the StreamingProxy (CVE-2007-0748, CVE-2007-0749)\ -- A fix for sync sample searching on OS X.\ -- A fix for an infinite loop when the server fails to bind to streaming ports.\ -- An enhancement allowing RTSP requests to contain the hh:mm:ss format for the npt value (Fredrik Widlund) \ \ Please use http://www.opensource.apple.com/projects/modifications.html to submit your own Darwin Streaming Server modifications.\ \ \pard\ql\qnatural -\f0\b\fs24 \cf0 What's New with Darwin Streaming Server 5.5.4\ +\b\fs24 \cf0 What's New with Darwin Streaming Server 5.5.4\ \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 Darwin Streaming Server 5.5.4 includes the following enhancements to 5.5.3:\ +\b0\fs28 \cf0 Darwin Streaming Server 5.5.4 includes the following enhancements to 5.5.3:\ \ - A fix to the unsigned character handling in the string parser resolves the following compiler generated issues:\ -- Failure to stream to non-english QuickTime Players\ @@ -51,10 +89,10 @@ Please use http://www.opensource.apple.com/projects/modifications.html to submit \ \pard\ql\qnatural -\f0\b\fs24 \cf0 What's New with Darwin Streaming Server 5.5.3\ +\b\fs24 \cf0 What's New with Darwin Streaming Server 5.5.3\ \pard\ql\qnatural -\f1\b0\fs28 \cf0 \ +\b0\fs28 \cf0 \ Darwin Streaming Server 5.5.3 includes the following enhancements to 5.5.1:\ \ - A security fix for DSS to prevent a crash when receiving an invalid RTSP request.\ @@ -64,10 +102,10 @@ Darwin Streaming Server 5.5.3 includes the following enhancements to 5.5.1:\ Darwin Streaming Server 5.5.1 includes the following enhancements to 5.5:\ \pard\ql\qnatural -\f0\b\fs24 \cf0 \ +\b\fs24 \cf0 \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 - A security fix for DSS Web Admin on Windows\ +\b0\fs28 \cf0 - A security fix for DSS Web Admin on Windows\ \ Darwin Streaming Server 5.5 includes the following enhancements to 5.0.1.1:\ \ @@ -97,11 +135,11 @@ For more information about the Darwin Streaming Server project and to obtain the \ \pard\ql\qnatural -\f0\b\fs24 \cf0 System Requirements\ +\b\fs24 \cf0 System Requirements\ \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 Darwin Streaming Server is currently available on the following platforms:\ +\b0\fs28 \cf0 Darwin Streaming Server is currently available on the following platforms:\ \ \pard\li720\fi-720\ql\qnatural \cf0 *Mac OS X (version 10.2.8 or later)\ @@ -114,13 +152,13 @@ Darwin Streaming Server is compatible with QuickTime 4 or later client software. \ \pard\ql\qnatural -\f0\b\fs24 \cf0 Installing Darwin Streaming Server ( -\f1\b0\fs28 Mac OS X -\f0\b\fs24 )\ +\b\fs24 \cf0 Installing Darwin Streaming Server ( +\b0\fs28 Mac OS X +\b\fs24 )\ \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 To install Darwin Streaming Server 5.5 software, follow these \ +\b0\fs28 \cf0 To install Darwin Streaming Server 5.5 software, follow these \ steps:\ \ \pard\li90\fi-90\ql\qnatural @@ -139,14 +177,14 @@ steps:\ \ \pard\li360\fi-360\ql\qnatural -\f0\b\fs24 \cf0 Set Up ( -\f1\b0\fs28 Mac OS X -\f0\b\fs24 )\ +\b\fs24 \cf0 Set Up ( +\b0\fs28 Mac OS X +\b\fs24 )\ \pard\ql\qnatural \cf0 \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 After creating an administrator user name and password, you can connect to the Darwin Streaming Server from your web browser.\ +\b0\fs28 \cf0 After creating an administrator user name and password, you can connect to the Darwin Streaming Server from your web browser.\ \pard\li270\fi-270\ql\qnatural \cf0 \ Enter the URL for your Darwin Streaming Server:\ @@ -160,11 +198,11 @@ Replace "myserver.com" with the name of your Darwin Streaming Server computer. \ \ \pard\ql\qnatural -\f0\b\fs24 \cf0 Installing Darwin Streaming Server (Linux, Solaris)\ +\b\fs24 \cf0 Installing Darwin Streaming Server (Linux, Solaris)\ \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 To install Darwin Streaming Server 5.5 software, follow these steps on the server computer:\ +\b0\fs28 \cf0 To install Darwin Streaming Server 5.5 software, follow these steps on the server computer:\ \ Stop any Darwin Streaming Server related processes.\ \ @@ -205,16 +243,16 @@ Replace "myserver.com" with the name of your Darwin Streaming Server computer. \ \cf0 \ \pard\li360\fi-360\ql\qnatural -\f0\b\fs24 \cf0 Set Up (Linux, Solaris)\ +\b\fs24 \cf0 Set Up (Linux, Solaris)\ \pard\li360\fi-360\ql\qnatural -\f1\b0\fs28 \cf0 During the install, you will be asked to create a user name and password for administering the server. You must complete this step to administer the server from a remote system using a web browser.\ +\b0\fs28 \cf0 During the install, you will be asked to create a user name and password for administering the server. You must complete this step to administer the server from a remote system using a web browser.\ \pard\ql\qnatural -\f0\b\fs24 \cf0 \ +\b\fs24 \cf0 \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 After creating an administrator user name and password, you can connect to the Darwin Streaming Server from your web browser.\ +\b0\fs28 \cf0 After creating an administrator user name and password, you can connect to the Darwin Streaming Server from your web browser.\ \pard\li270\fi-270\ql\qnatural \cf0 \ Enter the URL for your Darwin Streaming Server:\ @@ -228,17 +266,17 @@ Replace "myserver.com" with the name of your Darwin Streaming Server computer. \ \ \pard\ql\qnatural -\f0\b\fs24 \cf0 Installing Darwin Streaming Server (Windows 2000/2003 Server) -\f1\b0\fs28 \ +\b\fs24 \cf0 Installing Darwin Streaming Server (Windows 2000/2003 Server) +\b0\fs28 \ -\f0\b\fs24 \ +\b\fs24 \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 The Streaming Admin requires -\f2\fs24 ActivePerl 5.8 -\f1\fs28 (or later) to be running on the server machine. You must install a -\f2\fs24 Perl -\f1\fs28 interpreter in order to use the web-based administration software. \ +\b0\fs28 \cf0 The Streaming Admin requires +\f1\fs24 ActivePerl 5.8 +\f0\fs28 (or later) to be running on the server machine. You must install a +\f1\fs24 Perl +\f0\fs28 interpreter in order to use the web-based administration software. \ \ \ To install Darwin Streaming Server software, follow these steps on the server computer:\ @@ -248,7 +286,7 @@ Stop any Darwin Streaming Server related processes.\ When the Server package is unzipped, a folder with Darwin Streaming Server and associated files will be created. Inside this folder is an Install script, named "Install.bat". Double-click this file to install the server and its components on the server machine. The installer also starts up the Streaming Server Admin, so keep the command prompt window open.\ \pard\ql\qnatural -\fs24 \cf0 \'ca\ +\fs24 \cf0 \'a0\ \pard\ql\qnatural \fs28 \cf0 The Install script will create the following directory:\ @@ -261,51 +299,51 @@ Inside this directory you will find:\ \ \pard\li540\ql\qnatural \cf0 DarwinStreamingServer.exe -\f3\i - Server executable\ +\i - Server executable\ -\f1\i0 PlaylistBroadcaster.exe -\f3\i - PlaylistBroadcaster executable\ +\i0 PlaylistBroadcaster.exe +\i - PlaylistBroadcaster executable\ -\f1\i0 MP3Broadcaster.exe \'d0 -\f3\i MP3 Broadcaster executable -\f1\i0 \ +\i0 MP3Broadcaster.exe \'96 +\i MP3 Broadcaster executable +\i0 \ qtpasswd.exe -\f3\i - Command-line utility for generating password files for access control\ +\i - Command-line utility for generating password files for access control\ -\f1\i0 StreamingLoadTool.exe -\f3\i - RTSP simulated client stress tool -\f1\i0 \ +\i0 StreamingLoadTool.exe +\i - RTSP simulated client stress tool +\i0 \ streamingadminserver.pl -\f3\i - Admin Server that is used for administering the Streaming Server\ +\i - Admin Server that is used for administering the Streaming Server\ -\f1\i0 streamingserver.xml -\f3\i - Default server configuration file\ +\i0 streamingserver.xml +\i - Default server configuration file\ -\f1\i0 relayconfig.xml-Sample -\f3\i - Sample relay configuration file\ +\i0 relayconfig.xml-Sample +\i - Sample relay configuration file\ -\f1\i0 QTSSModules\\ -\f3\i - Folder containing QTSS API modules\ +\i0 QTSSModules\\ +\i - Folder containing QTSS API modules\ -\f1\i0 Movies\\ -\f3\i - Media folder\ +\i0 Movies\\ +\i - Media folder\ -\f1\i0 Playlists\\ - -\f3\i Folder containing Playlist configuration -\f1\i0 \ +\i0 Playlists\\ - +\i Folder containing Playlist configuration +\i0 \ Logs\\ -\f3\i - Folder containing access and error logs\ +\i - Folder containing access and error logs\ -\f1\i0 AdminHtml\\ -\f3\i - Folder containing the CGIs and the HTMl files required by the Admin Server\ +\i0 AdminHtml\\ +\i - Folder containing the CGIs and the HTMl files required by the Admin Server\ -\f1\i0 Documentation\\ -\f3\i - Documentation folder\ +\i0 Documentation\\ +\i - Documentation folder\ \pard\ql\qnatural \cf0 \ \pard\ql\qnatural -\f1\i0 \cf0 The Install script also installs Darwin Streaming Server as a service in the Service Manager. It is possible to start, stop, and check server status from the Service control panel.\ +\i0 \cf0 The Install script also installs Darwin Streaming Server as a service in the Service Manager. It is possible to start, stop, and check server status from the Service control panel.\ \pard\li360\fi-360\ql\qnatural \cf0 \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural @@ -314,13 +352,13 @@ Logs\\ The Admin Server can be launched from the command prompt by typing:\ \ C:\\> -\f3\i perlpath -\f1\i0 "C:\\Program Files\\Darwin Streaming Server\\streamingadminserver.pl"\ +\i perlpath +\i0 "C:\\Program Files\\Darwin Streaming Server\\streamingadminserver.pl"\ \ \pard\li360\fi-360\ql\qnatural \cf0 where -\f3\i perlpath -\f1\i0 is the path to the Perl interpreter on your machine.\ +\i perlpath +\i0 is the path to the Perl interpreter on your machine.\ \ \ If you are installing for the first time, you will be asked to create a user name and password for administering the server. You must complete this step to administer the server from a remote system using a web browser.\ @@ -328,12 +366,12 @@ C:\\> \ \pard\li360\fi-360\ql\qnatural -\f0\b\fs24 \cf0 Set Up (Windows 2000/2003 Server)\ +\b\fs24 \cf0 Set Up (Windows 2000/2003 Server)\ \pard\ql\qnatural \cf0 \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 After creating an administrator user name and password, you can connect to the Darwin Streaming Server from your web browser.\ +\b0\fs28 \cf0 After creating an administrator user name and password, you can connect to the Darwin Streaming Server from your web browser.\ \pard\li270\fi-270\ql\qnatural \cf0 \ Enter the URL for your Darwin Streaming Server:\ @@ -350,57 +388,57 @@ Replace "myserver.com" with the name of your Darwin Streaming Server computer. \ \ \pard\ql\qnatural -\f0\b\fs24 \cf0 Troubleshooting -\f1\b0 \ +\b\fs24 \cf0 Troubleshooting +\b0 \ \ \ \pard\ql\qnatural -\f0\b\fs28 \cf0 * File Locations +\b\fs28 \cf0 * File Locations \fs24 \ \pard\li1080\ql\qnatural -\f1\b0 \cf0 \ +\b0 \cf0 \ \ \pard\ql\qnatural \fs28 \cf0 \ul \ulc0 Darwin Streaming Server (Mac OS X)\ulnone \ /usr/sbin/QuickTimeStreamingServer -\f3\i - Streaming Server app -\f1\i0 \ +\i - Streaming Server app +\i0 \ /usr/sbin/streamingadminserver.pl -\f3\i - QTSS Web Admin server -\f1\i0 \ +\i - QTSS Web Admin server +\i0 \ /Library/QuickTimeStreaming/Modules/ -\f3\i - QTSS plug-ins -\f1\i0 \ +\i - QTSS plug-ins +\i0 \ /usr/bin/PlaylistBroadcaster -\f3\i - The PlaylistBroadcaster -\f1\i0 \ +\i - The PlaylistBroadcaster +\i0 \ /usr//bin/MP3Broadcaster -\f3\i - The MP3Broadcaster -\f1\i0 \ +\i - The MP3Broadcaster +\i0 \ /usr/bin/qtpasswd -\f3\i - Generates password files for access control\ +\i - Generates password files for access control\ -\f1\i0 /usr//bin/StreamingLoadTool -\f3\i - RTSP simulated client stress tool -\f1\i0 \ +\i0 /usr//bin/StreamingLoadTool +\i - RTSP simulated client stress tool +\i0 \ /Library/QuickTimeStreaming/Config/ -\f3\i - QTSS config files -\f1\i0 \ +\i - QTSS config files +\i0 \ /Library/QuickTimeStreaming/Movies/ -\f3\i - Media files -\f1\i0 \ +\i - Media files +\i0 \ /Library/QuickTimeStreaming/Docs/ -\f3\i - readme.html & user manual.pdf files -\f1\i0 \ +\i - readme.html & user manual.pdf files +\i0 \ /Library/QuickTimeStreaming/logs/ -\f3\i - Logs\ +\i - Logs\ -\f1\i0 /Library/QuickTimeStreaming/playlists -\f3\i - Web Admin Playlist files -\f1\i0 \ +\i0 /Library/QuickTimeStreaming/playlists +\i - Web Admin Playlist files +\i0 \ \pard\li1080\ql\qnatural \fs24 \cf0 \ @@ -408,46 +446,46 @@ Replace "myserver.com" with the name of your Darwin Streaming Server computer. \ \fs28 \cf0 \ul Darwin Streaming Server (Unix)\ulnone \ /usr/local/sbin/DarwinStreamingServer -\f3\i - Streaming Server app -\f1\i0 \ +\i - Streaming Server app +\i0 \ /usr/local/sbin/streamingadminserver.pl -\f3\i - QTSS Web Admin server -\f1\i0 \ +\i - QTSS Web Admin server +\i0 \ /usr/local/sbin/StreamingServerModules/ -\f3\i - QTSS plug-ins -\f1\i0 \ +\i - QTSS plug-ins +\i0 \ /usr/local/bin/PlaylistBroadcaster -\f3\i - The PlaylistBroadcaster -\f1\i0 \ +\i - The PlaylistBroadcaster +\i0 \ /usr/local/bin/MP3Broadcaster -\f3\i - The MP3Broadcaster -\f1\i0 \ +\i - The MP3Broadcaster +\i0 \ /usr/local/bin/qtpasswd -\f3\i - Generates password files for access control\ +\i - Generates password files for access control\ -\f1\i0 /usr/local/bin/StreamingLoadTool -\f3\i - RTSP simulated client stress tool -\f1\i0 \ +\i0 /usr/local/bin/StreamingLoadTool +\i - RTSP simulated client stress tool +\i0 \ /etc/streaming/ -\f3\i - QTSS config files -\f1\i0 \ +\i - QTSS config files +\i0 \ /usr/local/movies/ -\f3\i - Media files -\f1\i0 \ +\i - Media files +\i0 \ /var/streaming/ -\f3\i - readme.html & user manual.pdf files -\f1\i0 \ +\i - readme.html & user manual.pdf files +\i0 \ /var/streaming/logs -\f3\i - Logs\ +\i - Logs\ -\f1\i0 /var/streaming/playlists -\f3\i - Web Admin Playlist files -\f1\i0 \ +\i0 /var/streaming/playlists +\i - Web Admin Playlist files +\i0 \ \ \ul Darwin Streaming Server (Windows) -\f0\b \ulnone \ +\b \ulnone \ -\f1\b0 C:\\Program Files\\Darwin Streaming Server\\\ +\b0 C:\\Program Files\\Darwin Streaming Server\\\ C:\\Program Files\\Darwin Streaming Server\\Movies\ C:\\Program Files\\Darwin Streaming Server\\Playlists\ C:\\Program Files\\Darwin Streaming Server\\Logs\ @@ -458,26 +496,26 @@ C:\\Program Files\\Darwin Streaming Server\\AdminHtml \fs28 \ \pard\ql\qnatural -\f0\b\fs24 \cf0 \ +\b\fs24 \cf0 \ Public Mailing Lists\ \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 Through the Apple public mailing lists you can share experiences, questions, and comments with others who use the software. Apple employees may monitor the list, but Apple does not guarantee that questions sent to this list will be answered. For more information about joining the mailing lists, see the Apple mailing lists Web site at www.lists.apple.com.\ +\b0\fs28 \cf0 Through the Apple public mailing lists you can share experiences, questions, and comments with others who use the software. Apple employees may monitor the list, but Apple does not guarantee that questions sent to this list will be answered. For more information about joining the mailing lists, see the Apple mailing lists Web site at www.lists.apple.com.\ \pard\ql\qnatural -\f0\b\fs24 \cf0 \ +\b\fs24 \cf0 \ \pard\ql\qnatural -\f1\b0\fs28 \cf0 For Darwin Streaming Server administration, join the Streaming Server mailing list, \'d2streaming-server-users\'d3. \ +\b0\fs28 \cf0 For Darwin Streaming Server administration, join the Streaming Server mailing list, \'93streaming-server-users\'94. \ \ -If you are interested in plug-in API or Open Source development, join the Streaming Server developer public mailing list, \'d2streaming-server-developers\'d3. \ +If you are interested in plug-in API or Open Source development, join the Streaming Server developer public mailing list, \'93streaming-server-developers\'94. \ \ The Darwin Streaming Server release is not supported by Apple Computer.\ \ \ \pard\ql\qnatural -\fs24 \cf0 \'a9 2003 Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, Macintosh, PowerBook, Power Macintosh, and QuickTime are trademarks of Apple Computer, Inc., registered in the United States and other countries. eMac, iBook, iMac, Power Mac and Xserve are trademarks of Apple Computer, Inc. All other product names are trademarks or registered trademarks of their respective holders.\ +\fs24 \cf0 \'a9 2008 Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, Macintosh, PowerBook, Power Macintosh, and QuickTime are trademarks of Apple Computer, Inc., registered in the United States and other countries. eMac, iBook, iMac, Power Mac and Xserve are trademarks of Apple Computer, Inc. All other product names are trademarks or registered trademarks of their respective holders.\ \ -} +} \ No newline at end of file diff --git a/Documentation/SourceCodeFAQ.html b/Documentation/SourceCodeFAQ.html deleted file mode 100644 index 27fda67..0000000 --- a/Documentation/SourceCodeFAQ.html +++ /dev/null @@ -1,47 +0,0 @@ - - - -Darwin Streaming Server 2 - Source Code FAQ - - - -

Darwin Streaming Server Source Code

-

Frequently Asked Questions

-

 

-

1. What is the QTFile library?

-

One of the major features of the Darwin Streaming Server is the ability to serve hinted QuickTime files over RTSP and RTP. All of the code for parsing hinted QuickTime files has been abstracted into the QTFile library. Separating the code in this way keeps both parts much simpler: QTFile only deals with file parsing, the Darwin Streaming Server only deals with networking and protocols. The RTPFileModule in the server calls the QTFile library to retrieve packets and meta-data from hinted QuickTime files.

-

 

-

2. What is the reflector, and how does it work?

-

The reflector allows an administrator to deliver live broadcasts to RTSP clients. The reflector is implemented as an RTP module, and the source code is entirely in RTPReflectorModule.h/.cpp, and ReflectorSession.h/.cpp.

-

When a QuickTime client wants to view a broadcast, it first connects to the Darwin Streaming Server reflector module and directs the module to look for a proper incoming broadcast. If the broadcast is found, the Darwin Streaming Server will then "reflect" the broadcast to the client. The following is a detailed description of how this works. Readers may want to familiarize themselves with SDP (Session Description Protocol), and IP multicast before continuing.

-

In order to reflect something, there must be a live broadcast available to reflect. A broadcast is a stream of RTP packets generated by an application or process external to the Darwin Streaming Server and typically run on a separate machine. In this discussion we will call the live stream generator the "Broadcaster". The Broadcaster converts a live media source (like a camera, or microphone, or whatever) into RTP packets. It sends the packets over UDP, to either a multicast or unicast destination address. Broadcasters will usually create .sdp files containing all the SDP (Session Description Protocol), information about this live presentation needed by the client and reflector.

-

Most importantly, the .sdp file contains the (destination) IP address and ports for the live presentation. The IP address can define a multicast or unicast connection for the client. QuickTime Clients can read .sdp files directly and use them to connect directly to a Broadcaster. When the IP address in the .sdp file specifies a multicast address, the client will join the multicast provided there are multicast-aware routers between it and the Broadcaster. When the IP address is a unicast type, the client will connect when the .sdp destination IP address is the IP address of the client.This is because the broadcaster is sending UDP packets directly to that machine!

-

In order to reflect the broadcast stream, the .sdp file created by the Broadcaster must be located on the server, and inside the server's media folder. Let's say that on our server, there's a .sdp file called "fish.sdp" located at the root of the media folder.

-

When a RTSP client connects and specifies "rtsp://ourserver.com/fish", the reflector module will look for and find the file called "fish.sdp in the media folder.

-

After the .sdp file is found, the Reflector parses it to get the source IP address and ports for the live presentation. When the server then makes the connection, the same rules apply to the server as to a real client. This is because the .sdp specified server connection is simply a client of the live presentation. This means the IP address must specify a multicast address, or the IP address of the server itself (can it specify another server?).

-

Once the source address for the live presentation is located, the reflector binds some sockets to the specified ports. If the specified IP address is a multicast type, the Reflector will join the multicast. At this point, those sockets will begin receiving all the data being sent by the Broadcaster.

-

The reflector module allows a multicast client to view the broadcast stream as a normal unicast stream coming from the Darwin Streaming Server. The .sdp file is rewritten on the fly by the reflector to erase the source IP address and port information, to hide the information from the client. Once a PLAY request is issued by the client, the reflector begins sending all incoming packets from the broadcaster to the client.

-

As additional clients connect to the same live stream, the Reflector increments refcounts and adds each new client to its stream tracking data structures. This efficiently allows each client to receive identical copies of all incoming packets from the Broadcaster.

-

When all clients have disconnected, the Reflector closes the source UDP sockets, and deallocates all resources for that broadcast.

-

There is no limit on the number of unique live broadcasts that a single server can reflect, nor on the number of clients that can be connected to a single Reflection, apart from the overhead of file descriptor limitations, CPU, memory & bandwidth constraints. The CPU & memory consumed by a reflected streams is typically much less than normal locally stored media. Note: each unique live broadcast must be represented on the server by a unique .sdp file.

-

 

-

3. What is the Event Queue?

-

The Event Queue is an extension to the sockets API that exists on Mac OS X. It consists of three API calls:

-

watchevent: Watch for events on a file descriptor (socket).

-

waitevent: Wait for events on any of sockets (this is a blocking call, it only returns when there is an event pending).

-

modwatch: When waitevent returns an event for a socket, that socket won't receive any new events until modwatch is called for that socket.

-

The use of these API calls is almost exclusively contained within Socket.cpp. This file contains the implementation of a thread object called SocketEventQueueThread. This thread blocks on waitevent and notifies the proper Task object (See "What Are Task Objects?") when an event is received.

-

For other UNIX platforms, an implementation of these three Event Queue API calls is provided in terms of select(). This implementation is contained in ev.cpp.

-

 

-

4. How does the Darwin Streaming Server(DSS) employ threads?

-

Most work done by DSS happens inside the Run function of various Task objects. Task objects run on Task threads (see Task.h / .cpp for this code). By default, DSS uses only 1 task thread. For uniprocessor systems, this tends to run the fastest because it eliminates any unnecessary thread switching the kernel would do. This does mean that every client connection runs on that one thread, so if anything blocks, it will affect all clients. For multiprocessor systems or if blocking is a serious concern, the server is designed to scale up to any number of Task threads.

-

 

-

5. What are Task Objects?

-

Because the server is largely asynchronous, there needs to be a communication mechanism for events. For instance, when a socket used for an RTSP connection gets data, something has to be notified so that data can be processed. The Task object is a generalized mechanism for performing this communication.

-

Each Task object has two major methods: Signal and Run. Signal is called by the server to send an event to a Task object. Run is called to give time to the Task for processing the event. The goal of each Task Object is to implement server functionality using small non-blocking time slices. Run is a pure virtual function that is called when a Task object has events to process. Inside the Run function, the Task object can call GetEvents to receive and automatically dequeue all its current and previously Signaled events. The Run function will never be re-entered: if a Task object calls GetEvents in its Run function, and is then Signaled before the Run function completes, the Run function will be called again for the new event only after exiting the function. In fact, the Task's Run function will be called repeatedly until the all task object's events have been cleared with GetEvents.

-

This core concept of event triggered Tasks is integrated into almost every subsystem in DSS. For instance, a Task object can be associated with a Socket object. If the Socket gets an event (through a select() notification, or through the Mac OS X Event Queue (see "What is the Event Queue?") the corresponding Task object will be Signaled. In this case the body of the Run function will contain the code for processing whatever event was received on that Socket.

-

By using these Task objects, it is possible to run all connections using a single thread, which is the default configuration of DSS.

-

 

-

© 1999 Apple Computer, Inc. All rights reserved. Apple, the Apple logo, Mac, Macintosh, PowerBook, Power Macintosh, and QuickTime are trademarks of Apple Computer, Inc., registered in the United States and other countries. iBook, iMac, and Power Mac are trademarks of Apple Computer, Inc. All other product names are trademarks or registered trademarks of their respective holders.

-

 

- diff --git a/Documentation/readme.txt b/Documentation/readme.txt index 4e28ef8c18601dca12ab2ceca4671f18c2398431..2ff70aa2131275051a5a627c1e347fd18d1446fb 100644 GIT binary patch literal 29312 zcmeI4-EUk~mc{F}^E$6HQi+F|fF@4U(5SmLYRM#oSR&w#9iSy%5<9p9{z%&nA^bJG z&ObRb>vxt{_PO_#%P!+Us|Q($T~+s3)g+E|4(OsYoGo_ zS3c8~-_Ex6+Y(*8HdeHw5e_xlzW(jaUTMt7`kPnQ5gK`=S1;OZtnsADx7+@jYLB^h zCBtKV{#c_Q>)w;LvdFs8w1{>ObuBh|q0g}gbLA>t@3v2v1G!H0+2i&u7G(a1TJ5HO z`(3}@YVSO6^I{V$w6A;Dblr!#66v|uTFh)G`ovn}`dwW!m(TcW#>X;O(J>ZY%_ruv zKRWwP8bJplHH*J_?NZ`jx0_JW-=J>iSbWf^0D6eTCa~as-;-&7YDlIP$NCpEWX=uVGk|6I#RxF(#5xk zG`s=Z*jB{d7g{e;I5Ixfr!RFKeu>>y*X#%Kg5T=jdm8&zyMIdvz|43%7AK1Kn+)Yu zrL_-c@9REvi`UwN9!SES*=KE>FVDt(BpvKF$!$MtaW474*SiP$6dTU<7rutJxb9E7 z`$zpC*|yfl72`YBbv0|pDz@~gep`}$H2lS0`$S_HPhNCV?Me%tZLS%&G(sUwS?bxD z-SH9hf?rv3qVrF>b6wH4F?%pr$8AN*w#M9&=Ra+0JYVYm&NYp0-~Z+kn%L5{=n^k@ zDnDh7#P(3D{}_6RtV2mJUi-S%H1z>c&nQRc0&Drb(|qzGAHZ%qvf&He$GtzF4?G;n zx_tE?EsYdnlQsXSwPSVi0@!3^=RGhc@q~xpl#ljt`nEou&u-5?(Fjj87UR9r>nX-h zv*?!Q2|u_!^8K}D53-3PrPuIH$>e+k+C7q#&$LP;`B5{I1CRBa%)8Upb6f9#HHUh4 zxfH!FVJ9F+5UKJQ8Gu>LYtROfPDTLDPV^T{1Z3fLVt@C{Q-)c(SPL_SvE0>N@kPdQ z*0#1_C&^~cMnhjD!+fGx22l!o*L4>N2m2w?r{kZ$qQ_d1_00;IpIj2O3}?tyixAbC z#NJ>HUIJq>M`4|hr5p0~k$&J9@yqC$PlNpxwZ=GWqj*o`38z_fmF3yg%*U@YGxwPx z+G4Q3FbKzkvqSmAiR?nmfX&EU`Sks^0$b+~`WydXom>SYvF9*43$J*w~xgU$U;gP&TV?XGg%(1QOunAW1s%#Tv zB3C=3`SL!^QXF^XA;xMdZihW zC!PWOIFziGuaDfZr9hCx+ORqxdY{Oi_&{m|^lh9hZe@=!1B-6Zmsj26)06?eJy;<) z1!Ip-So_!r7H=OJ>YvZBkg*ya@eUHgK9P1+jo<@w{e0e}$hzmV-^)Avuf_!F52dB= zb$w#(i}v2GR`RmV4?^H$aHhFpoA^l2Z2ixORU1wKLKy%1xc zD~E4sEpRn?0TjV2K}Bks2U_#TO(L#8 z8LbGM1+S{+cb$zV!LFGBy}2r+W(!_d)}T(t&cSxZBv*p3&JD10Ms%h+nNbzjjMyO> zKz10JHRy`8W+Gx-rGxgVGqIP)cIAHDEPhiy$eg?S|5=lSXy0wtCc_PVW>F_-Q+FQ8 zi(xU5Z@CY%l0;0&I>dMK@Rz!7im&#Ib;%a2p+3Ja8D1*Ju~No{vpJ%Jrm@pqjlQKT z9ZTHbXFcZabBbqtps`N0!nHPo+hFT9(~d>&8nTO{{E^coL}+WF>`dBRmO@}Cu8EheW#-IJ7hiaja9SO9gTi*rXn`r zy^(HDp0K0$V9(?b(8c)4mCnvY349xWJA5448}fbX!N-} z`i@>P8t*=6k+&xaHgq3SU@6BHpHiPN&KUF3qk`*z0mdZoj^-AxBgR#b^dWZFXt64K6I6+ndAEt~r>z=Y6*8$-03*{ktexFK;ZT)7A%wm?X zuFqH@EN8Vj&HRn0WV)=m5cEKE?@RV);tq7)SRq>Pk@Pb1Jk)(Kn^#S{VaZ3*EVwhS z#bRST$~l*=f_)1NyQf!-26B^m$*Ds=%BN4xP;l*R&NZ!twVJ~|7Q5n;(~gzyXl-;H z@Qv(~Jl9o>4dX<+m&3}J%3CiRDw=clvAdWVJ4bvYZBX@}NQz~M7m5Da(DwbGgted$ z(OX?UaAX-05;d;1=_BCXAh7Sk(}LpfwT@a?3K<%%5bb9M{0nT{({INK{)sPlGQHR5CxBSAiM_a&Vx;v8SvZ`IO8tLvGY(T7}(Z0Y9^%b*C^q-q$d7=DN|SRegy zxQO|3k5qXtJde@$+R9F}^2Pf`a1D?EDcrGJWj?e37e@3<_f73}841%zv-gCbAY(DT^y;u#au>Em_b(+OyLx<9cdR1eo8v$1 z7u}Fn3lSI93%rLtUBmZr^QI#5-BCmmA?yWG@wj$Mj3&b-yV;AuTlXyR4Qyh@fkp7# zm--)jnx}yd_+6qB3wmX)ZKij`^r1cl5ts$7k%7_p^Y+S`o%YsXOFO!{`mo5D8l~qFVe?n@w|6xQV_$a$U_a$5 zHeAFW&911(VKnZ)T|LI$#Cq8$h8^`W_K9qW#f-C4FCKc0anwE1?8*#Bcu$=fIycig zh)y&1!$%#PWT&bXY=`^$+^m?60iF!Es}9?J$^Sd`ir@r&#^O5oCmO#Ru9bG)jPA?V zh8nwy&Nswq%q&4>FltM7q>D(@qGwlq)85n7wZolc^pB+J;#SOE)dY9~MuJz&O7E?WyTsHXk5nUVsK-S29VGXfr~M{(iP*WQifPIwK)H+OjkMdU&G2WV zVC{L4ljy}TQa@t4Iek4n-GikI_E5UKH_=m2durpUr&!-rNrtbnW_CW(^Kn0s?lrlz zqUon-wjzB|91`Q@B|QVjht_37axvM;JdQEQzNgZutM%T)u`BwX`czoJA{mn1;H8Ce z*lMp~3e_gwYx}_zB84kOm>V@{7zPM7%|hHq&-y^VX*TZ8^7$Hw%*!-Lv~5Ug^kY`y z9h~fDI|A&J%lEj_VX3;as&!;f-SV~8fIb$VmbxWfQ1im5LFFA?*;l{CI>`0Z7(}#B zt`H&CoL5fIsCG)iF4 z!`Yu@b@YEjv({MzY6n*g&NzjGT)C!G^DzG}#{=VFDwZ9l`B_4e8O?`e!J=`6MEPtpI7 zThWi`qk2)Ue_vOOH8f?zAn&R0ft7d{OK9J5tm`C~$Tk2O+!_B2R z7y(}Ivq$!gn+?h7)?g33814nuzR-2fFuc3C-?P=O9`3338lG#1o3p8J>weZl-Rvk> zJl^7yDC3G@tRw7*|2T8w;YjSR_iDY3oTn?VcVBp08nJe24lJ|U=sk+{RtCxX*bGjR zp{Qn z$*uP1(%SO-9Z}fR93p4>U@UNf6Ztk-2Jhy4SWZ15sqtml9|T8Mk^Z^H-)k}Gni8C2 zgzMCh=P2gH4BL|5s7GG$`oTihPxT%D7<(kX;0#36&4rR>y#t3Ny>;nZ_iXkuUDx;{ zb*6Xk(3#I@;1w{>bY?k^McyrTGVae>Z|^s~!CR9jOV?<~J+YiT&l=flD@--_?V~f_ zGeMW`Z-a%dkAu_rF7NhQ$O>&ma2`Y;N;6{W0$T&T_We_S8CiWkrMCy@2{O%vp?voy zV><(leJu7hi!bdE;mIQKdbEwCbR>dOSr-!V}bAobXML>2L%6{uE$z(L~{jL9@!VoSz7I9LryaD zf$n9EcnfTR@u+5c#@Y8BxRxsWiGF)ug;RmS3hxGiZ~kks5748-KatiN>Ai4lA-oYQ znwg9}@_c!6o{brd4(XygI=3_;`hC>&cV4c}iuwpF4~acpPmi_ly|W>9T*imcMnz7d z(x?iyfex{FJgLt_@X~3|i}l9Wdh0tf@Ysv&8moRJjgF)6k$Chc8Y7Whqpl_y^}?`r zI%vLFvahxLa-cfvT`_SuI+*iNt8?`MZq1d6&byBsHAS?FY@)veX}^ClFr|19+-UwvYOGR@*#V$V3F;U8ToG4ruMApL z*JHav!yvSCJ{E+v61UzcE-Y%IkWWjOE9+Yh=Zv<505{i2cMovJ{kMZxGzDE zW?ZjNF>|Zoxy_G>1~jxw@jhBfshhMvH@@tnKz;VCO%#l(Wy6)TKh zco)srspHBy*dj5qCK>j1UryGK>-q93b7SJkERJjgTP1G#Dgpm6Ho!WMqlKD(HOT!hrW5t?1jXS^!sI#+$aGT!TFycNs;zZqim@GCd$ z(RtV*{>S8oUo?En`I72-pV#M357Wp$&6@NQ(?c2eX<>HjXWb20%clN$&zqhBU4Op4 z2YUcz&7aLF;0ngC@mb_$Opz>52u=?BtHyt!-&J1^v#qP)l8a9*hwD)P?LG!9gVT6s zVa^Wj5mm-^O*K4aP&vErF{Rheu2kR8H8X=XIRB32U5)3FcZcJ{FZ$dX*~x{@((V?I zIn^*%h8GSwIo|Q}aB-f3L5CpHk0TEz+kcnURTw?cALRd>8G^~83pxtcM=V>_;;On1 z^QFs#-r4J}x*`mjs3=BeFRva0a^V9Tk`<1RR9>amFqGBrF>me&kHnUB29K4d<~29> z__>c~NNxp>mpPm9AAPp#Sj9)%v_N3IKqy^E^BX^fkVk9&=dQWzz3+^<>DZqNq>q?xoYB#%F&jq9t|Z;(w$0O%BD(OwL+P96P52wD zXme13%_g7~-d+yKC9lR%>!>%X#Y&HM?s*P&- zr+zz?B22tr6)}R2EMY(YH1ljp%Bq0)4lw%TbWs0^pB0jGOL+!`zpX*dK!2RtGXaY9vft6_4qDxZ zes8sPyUqc_u{kkG4TTSplZW34h&R;?&W2U_6S=t;^rbTg4m!$-ZC1ngv!}M?+lb^z zavs+VWv?@HAfitT7OswWcpb~0nSA6qvGFRkv`?88vl;pn=!OL8@0kY>^QD2@YyZNV zqQhY0R1ZVn_3rIZ>OK#z$v64_5whNuwmHA)?`44-6&DDrry@PjeCz=Rc|7{PX1nBNk4VNskI`jDfNApF zCGYmuST__+IoS@TdE^Ju4u~|){!?72doCl*7$KJF;f6X)d;@>A8HSM+#(}MgE^}#* zdZT0J_hoN9CF{S;TH>X5bRv7B#c^iKC-)Vv4>al!1Mq@6t3gco8=ASRa_QLH;T@b# z$|~l{e%qM8CUJ0n7deV}__XCN*)2NqD+!kz(W#xnqV#${PyH0C7c-uxXqQ45jzc;-MPVg_EJ zk5lQ|sEzNC{bQrCgo!;PILwAQ=<&I)wcTdAJbPhoYO8P~WFK}QOP2He1wElTpElsT z0C=A7WBeN7a`j!=-d%22n$;~FGS49Y(6YmwRL+}i>%7`fN9U~vtU#-&eEZI$C8|B# z*a^E-Rv$CY#2r0qwWH`_e=M&-)cP4r$ubhsg$lkqJ@&)ew6nww)=7$+ivM~;oaAN#$gc){lnmaP{AW3{@SE4)7Jz4vMWXxu4AGXXGerL}Z>o%FCgbN~IAi&H zr{*s{xsD|(f4I6D))$=h-V(ch`>ey~{b(``tYbKC<@Y`l!5z{yitP0?Cud`P$~6R1 zbCsXzlzWqf$T3vcuD0*L)|9g|vyxYR2GAXw+{sCBYUrxf;5)~S&+%=W@L^8Z7Z>2^lzuX2B;-4t{H(?h*au)`I~qIR1!mvjcH^f! z0kod_IXxXeT`BmU&QR*qi+s>~=ZojW0`UUtqWrJ-n(V_s>d>`Xnzb)Ne^y;gpjkNUX+JiEp=8FpV%S6qD#cLhAYXK=JqV+_A@ z_wSOxy*jF3D!QCoA$E5gzfV8R@p84uglW*($%^pFxE~K@ z)Q`tJ9^Qqy>!YQ#an=m2`@9f4dgiqJW?t$o*D|a# z6*|3>dS1pix{K>v)s{BTw?Dd|=FQ6Z-Rt@MJBzEbmxXqag_Y;2m{~F3xNtpAXC&VM za+f0O>{;gJ_U5wVFzpzzrf8ycFwObnzSVhaWxRi#PqR1AK&j5etur6yn~(oC$6txn z^Y<8h7SS=}4ir`+a(mub`{4G6&ssck-Ii?49+|t3?5cAnlZbfU>Lk4Is+t&%#u_h+ zD3{gMbcSAQ;hU>^1(AY}v2*K~0b>%)!{>`x=kD6|9#2Kxe?KYRwExyfex?K`U6+Ii(rqiWl)&+ct$e4V)oN|dB?g$f@p@n8I5Nz z5nDmO@$R~7RX#^5q8OAhPDj?tDL$dW$xvkUw~UBIa#?BYna*OBPMEPiE4@WStlK*I zva{LsY6HF5Px`g^#378t-x|%CPqclJEr{90`dwx{dmZ23_T72P6Zyv9T_a!TTt>c2 F_kTtWQ|15w literal 12869 zcmdT~+ioPsk$rZ3MS>4DDfDHownQupa5ys>0;JSpw=`NnFWFVu-DOr+mMg2sY5mdu z%03z1AKG&wvo1|`aX1#%3)z6p>B>uFTuz*b%(JDfEA>{FcWJKXRcZ7#&DUyf%3D*a zC_1-!W%9~J(MOZTc575+hlY>TSy5!>Pfppwi8^A;Eql$HmS)CPMx1%-n=dfTUN66{O!!C7=tRse_( z?bPx4Pw&Pro;~}^_}O1xeLYhBe}3b)Y<6Lm-AOaSl3HuD+kEpRqg-A~H4; zbdFzF@Ija~v$jxo8{m#avB$5KPBQ?6RZF0O;7AK0bRs9q<;vt6oyRbEUUktXC{dcf z!(S^|BRIUQzuBB_x2FIfhN$-5$bIvoLJ()QQOEB~la%R=`j{qJohK(zH1mN|BY1*! z?(Xg;G=+!Ci6(qbfU;9q`EMq!+;nS`bd|;uCr->H$6%0!aJP4G;sN~LpB;S}B)obY z5?(>~aaI%Lc=9gBd)gGe5kFp@My=&w4o(2*rRy9nA8&N2W5yS(kYu!Za3#c;xV$bM zzLv(>?DoNSP#1s%-`7BiQlOwknXy7dq*+}`+VUYw{pB_vn|z(6ZqtMJ8A1%nDjFZ0 zmZi7I38mFZtX-vmJqQs*ULOdF^ix%3sJ6k5s ze>l9}<92!ZC3blp?D8P$2~JQ{Q6h0MDgd(@%8~#pO>ELzT1Em8{tl4shl`KWFI-b6 z_g35@g~G3(;}E8GA>bYS=S`hv34*}IWs0c7uS@JO$BG?~Q+|$+eZ1Q~K z6?X{}!WY_;1_|NO`P#tnDhzn}?QGU2&etl=kkK&BrxOhOK#q_Yfifn<50e*ve%0eU zj|nc)e1Y&{@y`l=u>}O(B0A@K1yTYh-xdHN&srW8hk^di18SlqwIM+ojno#hC(lbF znWS)}$_hhkc<1qt-(CDXCi6lpfE{=SWb{l60L`I#ZqpHw4##k0NYecg_IDR&SRO8iaCB0Is|*U=&?c zDn>vr4N`tdMg>h;Yzhj{S^^|Xa*9w9a9d#3sup6~j2XMa#7tQY{}+&)sQ1`$3myjH zXjD)9v{WBFSSS{R%n}GUAQsqPsNO?4MhH32emw-Aah=7+%%$Y;X_Bk>f4@Kb!T&^; z1}jfIxN_T}#Mu)Eu<;q$hZYG*T!5WtSduSG?i-qcR2ekkPuSE`-?N_bhY_;s$ar*h zs{SJoiG=k9m_*s*5Q&h2zY_N5o>g9h%^>K=b5PI?2?72J3J3yAx74@DpPKX!Aw-RJ zdA_kY=zR253%SQlz4!dt%aiD<%QUY)spD&td;n$odiu>sv2FwL{AzA9 zpo~-BsN?zU?D`x(eFSB*cTRyjK2yFPo#OA8;qS-g4`>Ckg(i1V|Ed+JMPa+D?sRD; z>TL?puIS)Kopni?;33X*lNM@*vJt4o-;P&liQ(X-rA_J>ZUyUhJI!0F>4jG>C(llR zNMeHCxYxrHAtrMKcP5-@$XqB{e6|C_Tv*5;GX_1|yO=-nC|Hw*1u2bCdK9$g^NBiJ zk&wXvc?QPA%sjCF2!m?)#~4Ws3fQV(BBrs&;-Sl5L&T{px#9NCz=|v9ZPjC@Q@NxkD4WE ziUgpMB_;XfY);S@8=eT+UJ+YaUyIZzyHOAWEhv6ji>IO);LXWq%0`36N`w*$n?ind9F4bE_ zNJVCl(fp305~LsPZoEvsvk-~rYKRpf9#k!Pe**_3iG#XfR2T|nS zIw)M%zztO42sW5=jwaTR1sf4i0GG*3DZ$^Pil zLfSiL^p4Fnnfc@Or6^qn4J>mSg`BkA1xtWCo<4u^;#m}38zc?%1dsaPjym^}Lx8J1 zw!T=ihD2y_aaDGvcq*X^p6)=6Vw{U7pr<6I5t6GUpx=z40-;T=^yhB{2C~ixYC7Ky z+5p`(WJ?4%BhNX*s^#Kp_WkwZ?7PJ&^5tjqfkYAA7jbU01eOaK89m0;(7w9*x~}12%yrQ53ecR4sA^9HrlyLgz!={#4yOLJ&F;-4L4$#Tt%&T{7O4;I zXlVLmsc+c4^iEI12FwvP_RwOB{#}EgjIYoR*_RtX^E8m2VJ&X;*v6sS6z6&OsUSj9 z0v12mfIx_igTuCN-r>N|;Lwn4F~3kVzU6bt+Ku zAh(sbB@*`7GbiMCQU0zlVfbVk90F{}Cz_tZ#8zGXAea%%RAh?1rqEaN=0OfZcaUv~ z47|@L!iicSIo(>+_guJ9H+r$PjH0(n!fgHE-Y%UQO0z@>6_B2`yF=YWL~0CXym>;* zY&E-o(zXd(pw!cnvGeas0Niaj2|S5D z_v?&)fx%P&pPx4f7j6gwfk%%Y-0IfM4B8B@QRf`Dg$|t>Sl6`qL!j^bwda6BP8xXA zO4eeVy9C-W<$@QW7s%XeNr5B=k(xt)q(=e>(XOpyQ1Bsan{@}$bUXfD5%7PJz&ycIJ{MWQ73=)e*hLLn79BD{uA+65YIF&T%%l|gLAQ>Tff|R1Sj3Q3x zURV`-A-x5-3{At4u%<*Eg`bgos-p+>19Kmf7>v;9lwcSPN`X>b5HLpo|4~`r%l-k$ z0Hv4|7Jx~0=5VcvM1l!5_~@Ri1wEaSp`sID)r}!%#TaY@^c8-90t0A9+9(%rljy(2 zVfT;d@h%W)F3=%zlbCkkCGqJmsBA%Ax40xjQ~Q?z{r@5*X{+0I389)|2J|o!Ea>OA z!Q&4!LGMiA3eS6iZ=|uefSVD$Lo>d5(=_3v08m zy0jr(iXN!=YSZ<_Xx>_59189*^IqCSe^9O?gQleZWw4NeP`oDeyP~I+p=pn_OFLf< zftiifTeH%*Y;1hDNxh!q(a9rb^qv2G!YOlq9S5WNKjeFxvwIVNSj^{F=!4LCVB_~b zmZ>7`FNrxooy{)TU*V|eiv4{Vd?nZUK2Td<7+9uphMJ5RAp3F=a`V#?VOg z`vJF}hlORNoPT@aFJ<_T4~wfTctFSia^uWTeN#nmZCtazCYs^edp`t-^O@ydpb8)a zd}x{+z3dZQ0r%lr%!g8)`GErP6aRUobD%2fB6M=$E$ziEfJ=Y|NP_YMNDEcO8-s3* z_YHon>cElv3kC;A2;{ta9fTL$02`taHtID{`g)l_IP^%I+{Ce)!)*@aJE?BqWzmyV@0qZ(!B==`Vj(=$&S`;n=7n z{PSs8*oK&9u!cA*vZE-%H5vLL?UIn5BFOU4(ZRFdJ2B2CHEgfB5PXA}bf~@3LGbUa zh0?Y>9${kSdH>&S5Qy+Ec0$lC)Y-D@Yx18yVB(iZicH0f45+8SainR0&jW1NZbaM zCDy_(UkM{pm#`rh#Kp5CA*bO*#ue`JnIJDwY9o&=!oyYO zOL=La3O{Ze#<3)K!Yg?h=g(Xr3{W8RRu|KY{SUd4beB6tw$AgmiwzSQ85ssE-V zJRhO)9uuN{Wpc<-4oTHc@S-iC+aXn;u^`XNQ7h5R;RzHZ2etFgf@V!2_kM8b|KhWd zm-jyKIZ2GWZrnAMcu)t|<-HKN7A!AI_!|+w8lcIJ5D~Hb53g_BW~62op7O@poA4(G zG~ZY@w`5K+7H~74;9+`+$IrO-*_YA_L&~~_FVg**3Km(F7MY{yhEH=<|H>-n+XsXe zuIrT%!BQ`YO66Z78wHX%Kg-FUD2C`HyycR|DwT9TvHQJK@Re;V@BZ-+0jWH~#rrOH NzVSqh?OI+?{x3u+-H!kO diff --git a/HTTPUtilitiesLib/HTTPProtocol.cpp b/HTTPUtilitiesLib/HTTPProtocol.cpp index f5b5b06..7e15eab 100644 --- a/HTTPUtilitiesLib/HTTPProtocol.cpp +++ b/HTTPUtilitiesLib/HTTPProtocol.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/HTTPUtilitiesLib/HTTPProtocol.h b/HTTPUtilitiesLib/HTTPProtocol.h index 94c19f3..59f3a19 100644 --- a/HTTPUtilitiesLib/HTTPProtocol.h +++ b/HTTPUtilitiesLib/HTTPProtocol.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/HTTPUtilitiesLib/HTTPRequest.cpp b/HTTPUtilitiesLib/HTTPRequest.cpp index 4f3dd79..c9b428e 100644 --- a/HTTPUtilitiesLib/HTTPRequest.cpp +++ b/HTTPUtilitiesLib/HTTPRequest.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -374,7 +374,7 @@ void HTTPRequest::AppendContentLengthHeader(UInt64 length_64bit) void HTTPRequest::AppendContentLengthHeader(UInt32 length_32bit) { char* contentLength = NEW char[256]; - qtss_sprintf(contentLength, "%lu", length_32bit); + qtss_sprintf(contentLength, "%"_U32BITARG_"", length_32bit); StrPtrLen contentLengthPtr(contentLength); AppendResponseHeader(httpContentLengthHeader, &contentLengthPtr); } diff --git a/HTTPUtilitiesLib/HTTPRequest.h b/HTTPUtilitiesLib/HTTPRequest.h index c56664f..ca73224 100644 --- a/HTTPUtilitiesLib/HTTPRequest.h +++ b/HTTPUtilitiesLib/HTTPRequest.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Install b/Install index f89c747..99207aa 100755 --- a/Install +++ b/Install @@ -23,8 +23,8 @@ if [ $USERID = 0 ]; then fi if [ `uname` = "Linux" ]; then - ps -ax | awk '{print $1" " $5}' | awk '/DarwinStreamingServer/ {print $1}' | xargs -r kill -9 - ps -ax | awk '/streamingadminserver.pl/ {print $1}' | xargs -r kill -9 + ps ax | awk '{print $1" " $5}' | awk '/DarwinStreamingServer/ {print $1}' | xargs -r kill -9 + ps ax | awk '/streamingadminserver.pl/ {print $1}' | xargs -r kill -9 fi if [ `uname` = "SunOS" -o `uname` = "IRIX" -o `uname` = "IRIX64" ]; then @@ -191,8 +191,10 @@ fi # Add the unprivileged user qtss as the server's run user echo "Creating unprivileged user to run the server = \"qtss\"." if [ $INSTALL_OS = "Linux" ]; then + /usr/sbin/groupadd qtss > /dev/null 2>&1 /usr/sbin/useradd -M qtss > /dev/null 2>&1 else + /usr/sbin/groupadd qtss > /dev/null 2>&1 /usr/sbin/useradd qtss > /dev/null 2>&1 fi diff --git a/Jamfile b/Jamfile index 0024bdb..0c8dff7 100644 --- a/Jamfile +++ b/Jamfile @@ -1,5 +1,5 @@ # Copyright (c) 1999 Apple Computer, Inc. All rights reserved. -# $Id: Jamfile,v 1.28 2002/12/18 14:37:28 murata Exp $ +# $Id: Jamfile,v 1.1 2006/01/05 13:20:32 murata Exp $ # diff --git a/MP3Broadcaster/BroadcasterMain.cpp b/MP3Broadcaster/BroadcasterMain.cpp index 77021e5..110436e 100755 --- a/MP3Broadcaster/BroadcasterMain.cpp +++ b/MP3Broadcaster/BroadcasterMain.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -216,7 +216,7 @@ static void RegisterEventHandlers() struct sigaction act; -#if defined(sun) || defined(i386) || defined(__MacOSX__) || defined(__sgi__) || defined(__osf__) || defined(__hpux__) +#if defined(sun) || defined(i386) || defined(__MacOSX__) || defined(__sgi__) || defined(__osf__) || defined(__hpux__) || defined(__linuxppc__) sigemptyset(&act.sa_mask); act.sa_flags = 0; act.sa_handler = (void(*)(int))&SignalEventHandler; @@ -229,14 +229,14 @@ struct sigaction act; if ( ::signal(SIGTERM, SIG_IGN) != SIG_IGN) { // from kill... if ( ::sigaction(SIGTERM, &act, NULL) != 0 ) - { qtss_printf( "- PlaylistBroadcaster: System error (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } if ( ::signal(SIGINT, SIG_IGN) != SIG_IGN) { // ^C signal if ( ::sigaction(SIGINT, &act, NULL) != 0 ) - { qtss_printf( "- PlaylistBroadcaster: System error (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } @@ -244,7 +244,7 @@ struct sigaction act; 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 (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } @@ -252,7 +252,7 @@ struct sigaction act; if ( ::signal(SIGHUP, SIG_IGN) != SIG_IGN) { // catch any SIGHUP if ( ::sigaction(SIGHUP, &act, NULL) != 0) - { qtss_printf( "- PlaylistBroadcaster: System error (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } @@ -260,7 +260,7 @@ struct sigaction act; if ( ::signal(SIGALRM, SIG_IGN) != SIG_IGN) { // catch any SIGALRM if ( ::sigaction(SIGALRM, &act, NULL) != 0) - { qtss_printf( "- PlaylistBroadcaster: System error (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } @@ -282,7 +282,7 @@ static void SignalEventHandler( int signalID ) { - qtss_printf( "- PlaylistBroadcaster: Unexpected signal type (%i).\n", signalID ); + qtss_printf( "- PlaylistBroadcaster: Unexpected signal type (%"_SPOINTERSIZEARG_").\n", signalID ); // just ignore it... diff --git a/MP3Broadcaster/MP3Broadcaster.cpp b/MP3Broadcaster/MP3Broadcaster.cpp index 2dc76c2..bcfd199 100755 --- a/MP3Broadcaster/MP3Broadcaster.cpp +++ b/MP3Broadcaster/MP3Broadcaster.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -299,12 +299,12 @@ Bool16 MP3Broadcaster::ConfigSetter( const char* paramName, const char* paramVal if ( !paramValue[0] || !::strlen(paramValue[0]) ) return true; - unsigned long setvalue = kSInt32_Max; + UInt32 setvalue = kSInt32_Max; int maxValue = ::atoi( paramValue[0] ); if (maxValue >= 0) - setvalue = (unsigned long) maxValue; + setvalue = (UInt32) maxValue; - qtss_setmaxprintfcharsinK( (unsigned long) setvalue); + qtss_setmaxprintfcharsinK( (UInt32) setvalue); return false; } @@ -492,9 +492,9 @@ void MP3Broadcaster::PreFlightOrBroadcast( bool preflight, bool daemonize, bool MP3FileBroadcaster fileBroadcaster(&mSocket, mBitRate, mFrequency); MP3MetaInfoUpdater* metaInfoUpdater = NULL; - long moviePlayCount; + SInt32 moviePlayCount; char* thePick = NULL; - long numMovieErrors; + SInt32 numMovieErrors; bool didAtLeastOneMoviePlay = false; int err; @@ -521,7 +521,7 @@ void MP3Broadcaster::PreFlightOrBroadcast( bool preflight, bool daemonize, bool if ( picker->mNumToPickFrom == 1 ) qtss_printf( "\nThere is one movie in the Playlist.\n\n" ); else - qtss_printf( "\nThere are (%li) movies in the Playlist.\n\n", (long) picker->mNumToPickFrom ); + qtss_printf( "\nThere are (%li) movies in the Playlist.\n\n", (SInt32) picker->mNumToPickFrom ); } if ( picker->mNumToPickFrom == 0 ) @@ -973,7 +973,7 @@ void MP3Broadcaster::ShowSetupParams() qtss_printf( "broadcast_genre \"%s\"\n", mGenre); qtss_printf( "broadcast_mount_point \"%s\"\n", mMountPoint); qtss_printf( "broadcast_password \"XXXXX\"\n"); - qtss_printf( "max_err_file_k_size %lu\n", qtss_getmaxprintfcharsinK()); + qtss_printf( "max_err_file_k_size %"_U32BITARG_"\n", qtss_getmaxprintfcharsinK()); qtss_printf( "\n" ); } @@ -1025,13 +1025,13 @@ void MP3Broadcaster::Cleanup(bool signalHandler) if (mPreflight) { - qtss_printf("Warnings: %ld\n", mNumWarnings); - qtss_printf("Errors: %ld\n", mNumErrors); + qtss_printf("Warnings: %"_S32BITARG_"\n", mNumWarnings); + qtss_printf("Errors: %"_S32BITARG_"\n", mNumErrors); } else { - qtss_printf("Broadcast Warnings: %ld\n", mNumWarnings); - qtss_printf("Broadcast Errors: %ld\n", mNumErrors); + qtss_printf("Broadcast Warnings: %"_S32BITARG_"\n", mNumWarnings); + qtss_printf("Broadcast Errors: %"_S32BITARG_"\n", mNumErrors); } RemoveFiles(); diff --git a/MP3Broadcaster/MP3Broadcaster.h b/MP3Broadcaster/MP3Broadcaster.h index 0607c04..710756f 100755 --- a/MP3Broadcaster/MP3Broadcaster.h +++ b/MP3Broadcaster/MP3Broadcaster.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -104,10 +104,10 @@ class MP3Broadcaster Bool16 mShowCurrent; Bool16 mShowUpcoming; - long mNumErrors; - long mNumWarnings; - bool mPreflight; - bool mCleanupDone; + SInt32 mNumErrors; + SInt32 mNumWarnings; + bool mPreflight; + bool mCleanupDone; PlaylistPicker* mTempPicker; int mElementCount; diff --git a/MP3Broadcaster/MP3BroadcasterLog.cpp b/MP3Broadcaster/MP3BroadcasterLog.cpp index c365527..50e28ee 100644 --- a/MP3Broadcaster/MP3BroadcasterLog.cpp +++ b/MP3Broadcaster/MP3BroadcasterLog.cpp @@ -2,9 +2,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -237,7 +237,7 @@ void MP3BroadcasterLog::LogMediaData( const char* song, const char* title, const } // add the duration in seconds - qtss_sprintf(dateBuff, " %ld ", duration); + qtss_sprintf(dateBuff, " %"_S32BITARG_" ", duration); ::strcat(strBuff,dateBuff); // add the result code diff --git a/MP3Broadcaster/MP3BroadcasterLog.h b/MP3Broadcaster/MP3BroadcasterLog.h index 5a33852..645359f 100644 --- a/MP3Broadcaster/MP3BroadcasterLog.h +++ b/MP3Broadcaster/MP3BroadcasterLog.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/MP3Broadcaster/MP3FileBroadcaster.cpp b/MP3Broadcaster/MP3FileBroadcaster.cpp index 4d151ab..eed0fe0 100755 --- a/MP3Broadcaster/MP3FileBroadcaster.cpp +++ b/MP3Broadcaster/MP3FileBroadcaster.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/MP3Broadcaster/MP3FileBroadcaster.h b/MP3Broadcaster/MP3FileBroadcaster.h index aba6fbe..e160361 100755 --- a/MP3Broadcaster/MP3FileBroadcaster.h +++ b/MP3Broadcaster/MP3FileBroadcaster.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/MP3Broadcaster/MP3MetaInfoUpdater.cpp b/MP3Broadcaster/MP3MetaInfoUpdater.cpp index 34e3bd9..307d932 100644 --- a/MP3Broadcaster/MP3MetaInfoUpdater.cpp +++ b/MP3Broadcaster/MP3MetaInfoUpdater.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/MP3Broadcaster/MP3MetaInfoUpdater.h b/MP3Broadcaster/MP3MetaInfoUpdater.h index 6e9e64f..8749e16 100644 --- a/MP3Broadcaster/MP3MetaInfoUpdater.h +++ b/MP3Broadcaster/MP3MetaInfoUpdater.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/OSMemoryLib/OSMemory.cpp b/OSMemoryLib/OSMemory.cpp index 41ba844..f600676 100644 --- a/OSMemoryLib/OSMemory.cpp +++ b/OSMemoryLib/OSMemory.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlatformHeader.h b/PlatformHeader.h index 576e465..7993b84 100644 --- a/PlatformHeader.h +++ b/PlatformHeader.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -35,15 +35,15 @@ #else #define PLATFORM_SERVER_BIN_NAME "DarwinStreamingServer" #define PLATFORM_SERVER_TEXT_NAME "Darwin Streaming Server" + #define MMAP_TABLES 0 #endif - // Platform-specific switches #if __MacOSX__ #define USE_ATOMICLIB 0 -#define MACOSXEVENTQUEUE 1 +//#define MACOSXEVENTQUEUE 1 #define __PTHREADS__ 1 #define __PTHREADS_MUTEXES__ 1 @@ -64,6 +64,23 @@ #define MACOSX_PUBLICBETA 0 #define USE_DEFAULT_STD_LIB 1 +#ifdef __LP64__ + #define MACOSXEVENTQUEUE 1 + #define EVENTS_KQUEUE 0 // future + #define EVENTS_SELECT 0 // future + #define EVENTS_OSXEVENTQUEUE 0 // future + #define SET_SELECT_SIZE 1024 + #define MMAP_TABLES 0 +#else + #define MACOSXEVENTQUEUE 1 + #define EVENTS_KQUEUE 0 + #define EVENTS_SELECT 0 + #define EVENTS_OSXEVENTQUEUE 1 + #define SET_SELECT_SIZE 0 + #define MMAP_TABLES 0 +#endif + + #elif __Win32__ #define USE_ATOMICLIB 0 diff --git a/PlaylistBroadcaster.tproj/BCasterTracker.cpp b/PlaylistBroadcaster.tproj/BCasterTracker.cpp index 5b04dc2..e549568 100644 --- a/PlaylistBroadcaster.tproj/BCasterTracker.cpp +++ b/PlaylistBroadcaster.tproj/BCasterTracker.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -72,7 +72,7 @@ void TestBCasterTracker(int x ) error = tracker.Remove( x ); if ( error ) // remove the xth item from the list. - qtss_printf( "Playlist Broadcast (%li) not found.\n", (long)x ); + qtss_printf( "Playlist Broadcast (%li) not found.\n", (SInt32)x ); else tracker.Save(); } @@ -96,8 +96,8 @@ static void ShowElement( PLDoubleLinkedListNode* ten, void* us info = ", (not running)"; - //qtss_printf( "[%li] %li %s%s\n", (long)*showIndex, (long)ten->fElement->mPID, ten->fElement->mName, info ); - qtss_printf( "[%3li] %s; pid: %li%s\n", (long)*showIndex, ten->fElement->mName, (long)ten->fElement->mPID, info ); + //qtss_printf( "[%li] %li %s%s\n", (SInt32)*showIndex, (SInt32)ten->fElement->mPID, ten->fElement->mName, info ); + qtss_printf( "[%3li] %s; pid: %li%s\n", (SInt32)*showIndex, ten->fElement->mName, (SInt32)ten->fElement->mPID, info ); *(int*)userData = *showIndex + 1; @@ -137,7 +137,7 @@ bool BCasterTracker::IsProcessRunning( pid_t pid ) // Generic unix code char procPath[256]; - qtss_sprintf( procPath, "ps -p%li | grep %li > %s ",(long)pid,(long)pid,gTrackerFileTempDataPath); + qtss_sprintf( procPath, "ps -p%li | grep %li > %s ",(SInt32)pid,(SInt32)pid,gTrackerFileTempDataPath); int result = system(procPath); if (0 == result) @@ -149,7 +149,7 @@ bool BCasterTracker::IsProcessRunning( pid_t pid ) // a no-grep version to find the pid char pidStr[32]; - qtss_sprintf( pidStr, "%li",(long)pid); + qtss_sprintf( pidStr, "%li",(SInt32)pid); char procPath[64] = "ps -p"; ::strcat( procPath, pidStr); @@ -346,14 +346,14 @@ BCasterTracker::~BCasterTracker() int err = OSThread::GetErrno(); if ( ::fseek( mTrackerFile, mEofPos, SEEK_SET ) < 0 ) - qtss_printf( "fseek at close eof(%li), err(%li), fileno(%li)\n", mEofPos, (long)err, (long)fileno(mTrackerFile) ); + qtss_printf( "fseek at close eof(%li), err(%li), fileno(%li)\n", mEofPos, (SInt32)err, (SInt32)fileno(mTrackerFile) ); if ( ::fflush( mTrackerFile ) ) - qtss_printf( "fflush at close eof(%li), err(%li), fileno(%li)\n", mEofPos, (long)err, (long)fileno(mTrackerFile) ); + qtss_printf( "fflush at close eof(%li), err(%li), fileno(%li)\n", mEofPos, (SInt32)err, (SInt32)fileno(mTrackerFile) ); if ( ::ftruncate( fileno(mTrackerFile), (off_t)mEofPos ) ) { - qtss_printf( "ftruncate at close eof(%li), err(%li), fileno(%li)\n", mEofPos, (long)err, (long)fileno(mTrackerFile) ); + qtss_printf( "ftruncate at close eof(%li), err(%li), fileno(%li)\n", mEofPos, (SInt32)err, (SInt32)fileno(mTrackerFile) ); } (void)::fclose( mTrackerFile ); @@ -371,7 +371,7 @@ static bool SaveElement( PLDoubleLinkedListNode* ten, void* us */ - qtss_sprintf( buff, "%li \"%s\"\n", (long)ten->fElement->mPID, ten->fElement->mName ); + qtss_sprintf( buff, "%li \"%s\"\n", (SInt32)ten->fElement->mPID, ten->fElement->mName ); // linux version of fputs returns <0 for err, or num bytes written // mac os X version of fputs returns <0 for err, or 0 for no err @@ -435,12 +435,12 @@ BCasterTracker::BCasterTracker( const char* name ) calendarTime = ::time(NULL) + 10; - // wait a long time for access to the file. + // wait a SInt32 time for access to the file. // 2 possible loops one to try to open ( and possible create ) the file // the second to obtain an exclusive lock on the file. // the app should probably fail if this cannot be done within the alloted time - //qtss_printf("time=%ld\n",calendarTime); + //qtss_printf("time=%"_S32BITARG_"\n",calendarTime); while ( mTrackerFile == NULL && calendarTime > ::time(NULL) ) @@ -513,8 +513,8 @@ BCasterTracker::BCasterTracker( const char* name ) if ( mTrackerFile ) { - long lineBuffSize = kTrackerLineBuffSize; - long wordBuffSize = kTrackerLineBuffSize; + SInt32 lineBuffSize = kTrackerLineBuffSize; + SInt32 wordBuffSize = kTrackerLineBuffSize; char lineBuff[kTrackerLineBuffSize]; char wordBuff[kTrackerLineBuffSize]; diff --git a/PlaylistBroadcaster.tproj/BCasterTracker.h b/PlaylistBroadcaster.tproj/BCasterTracker.h index f141f25..7a2cc3c 100644 --- a/PlaylistBroadcaster.tproj/BCasterTracker.h +++ b/PlaylistBroadcaster.tproj/BCasterTracker.h @@ -2,9 +2,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -50,7 +50,7 @@ class BCasterTracker enum { kTrackerLineBuffSize = 512 }; FILE* mTrackerFile; - long mEofPos; + SInt32 mEofPos; PLDoubleLinkedList mTrackingList; diff --git a/PlaylistBroadcaster.tproj/BogusDefs.c b/PlaylistBroadcaster.tproj/BogusDefs.c index 33b03f4..f8dad10 100644 --- a/PlaylistBroadcaster.tproj/BogusDefs.c +++ b/PlaylistBroadcaster.tproj/BogusDefs.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -55,7 +55,7 @@ char * inet_ntoa(struct in_addr) return 0; } -int ioctl(int, unsigned long, char*) +int ioctl(int, UInt32, char*) { return 0; } @@ -82,7 +82,7 @@ void mymutex_lock(void* x) x =x; } -long long timestamp = 0; +SInt64 timestamp = 0; int ftruncate(int fd, int length) diff --git a/PlaylistBroadcaster.tproj/BroadcastLog.cpp b/PlaylistBroadcaster.tproj/BroadcastLog.cpp index 9bbdbc0..66cbd9c 100644 --- a/PlaylistBroadcaster.tproj/BroadcastLog.cpp +++ b/PlaylistBroadcaster.tproj/BroadcastLog.cpp @@ -2,9 +2,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -279,7 +279,7 @@ void BroadcastLog::LogMediaData( const char* path, const char* title, const char } // add the duration in seconds - qtss_sprintf(dateBuff, " %ld ", duration); + qtss_sprintf(dateBuff, " %"_S32BITARG_" ", duration); ::strcat(strBuff,dateBuff); // add the result code diff --git a/PlaylistBroadcaster.tproj/BroadcastLog.h b/PlaylistBroadcaster.tproj/BroadcastLog.h index 473acd4..ca86334 100644 --- a/PlaylistBroadcaster.tproj/BroadcastLog.h +++ b/PlaylistBroadcaster.tproj/BroadcastLog.h @@ -5,9 +5,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/BroadcasterSession.cpp b/PlaylistBroadcaster.tproj/BroadcasterSession.cpp index 2e03c96..97cba7b 100755 --- a/PlaylistBroadcaster.tproj/BroadcasterSession.cpp +++ b/PlaylistBroadcaster.tproj/BroadcasterSession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -96,7 +96,7 @@ BroadcasterSession::BroadcasterSession( UInt32 inAddr, UInt16 inPort, char* inUR StrPtrLen theURL(inURL); fSDPParser.Parse(sdpSPLPtr->Ptr, sdpSPLPtr->Len); if (fBurst && deepDebug) - printf("Burst Mode enabled: broadcast will be delayed for %lu seconds before starting\n", fBurstTime); + printf("Burst Mode enabled: broadcast will be delayed for %"_U32BITARG_" seconds before starting\n", fBurstTime); #if BROADCAST_SESSION_DEBUG @@ -189,7 +189,7 @@ char* BroadcasterSession::GetNextPacket(UInt32 *packetLen, UInt8 *channel) char* thePacketData = NULL; *packetLen = 0; *channel = 0; - //qtss_printf("BroadcasterSession::GetNextPacket Q len=%lu\n",fPacketQueue.GetLength()); + //qtss_printf("BroadcasterSession::GetNextPacket Q len=%"_U32BITARG_"\n",fPacketQueue.GetLength()); OSQueueElem *thePacketQElemPtr = fPacketQueue.GetHead(); if(thePacketQElemPtr != NULL) { @@ -278,7 +278,7 @@ OS_Error BroadcasterSession::SendWaitingPackets() if (sFirstTime > OS::Milliseconds()) { - // qtss_printf("BroadcasterSession::GetNextPacket NOT sending packets Q len=%lu\n",fPacketQueue.GetLength()); + // qtss_printf("BroadcasterSession::GetNextPacket NOT sending packets Q len=%"_U32BITARG_"\n",fPacketQueue.GetLength()); return QTSS_NoErr; } } @@ -305,7 +305,7 @@ OS_Error BroadcasterSession::SendWaitingPackets() { if (theErr == EAGAIN || theErr == EINPROGRESS) { // keep the packet around and try again - //qtss_printf("BroadcasterSession::SendWaitingPackets- Broadcasting SendInterleavedWrite err=%ld Request Write Event\n",theErr); + //qtss_printf("BroadcasterSession::SendWaitingPackets- Broadcasting SendInterleavedWrite err=%"_S32BITARG_" Request Write Event\n",theErr); break; } // some bad error bail. @@ -318,7 +318,7 @@ OS_Error BroadcasterSession::SendWaitingPackets() // we sent the packet and may or may not have another packet to send fTimeoutTask.RefreshTimeout(); - //qtss_printf("send channel=%u len=%lu\n",(UInt16)fChannel,fPacketLen); + //qtss_printf("send channel=%u len=%"_U32BITARG_"\n",(UInt16)fChannel,fPacketLen); } return theErr; @@ -419,7 +419,7 @@ SInt64 BroadcasterSession::Run() theErr = fRTSPClient->SendAnnounce(theSDP); #if BROADCAST_SESSION_DEBUG - qtss_printf("BroadcasterSession::Run Sending ANNOUNCE. Result = %lu. Response code = %lu\n", theErr, fRTSPClient->GetStatus()); + qtss_printf("BroadcasterSession::Run Sending ANNOUNCE. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fRTSPClient->GetStatus()); #endif if (theErr == OS_NoErr) { @@ -452,7 +452,7 @@ SInt64 BroadcasterSession::Run() { if ( (fRTSPClient->GetStatus() == 0) && ( (theErr == EAGAIN) || (theErr== EINPROGRESS)) ) { - qtss_printf("BroadcasterSession::Run Sending ANNOUNCE. Result = %lu. Response code = %lu\n", theErr, fRTSPClient->GetStatus()); + qtss_printf("BroadcasterSession::Run Sending ANNOUNCE. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fRTSPClient->GetStatus()); } } #endif @@ -473,7 +473,7 @@ SInt64 BroadcasterSession::Run() { theErr = fRTSPClient->SendTCPSetup(fSDPParser.GetStreamInfo(fNumSetups)->fTrackID,fNumSetups * 2, (fNumSetups * 2) +1); #if BROADCAST_SESSION_DEBUG - qtss_printf("Sending SETUP #%lu. Result = %lu. Response code = %lu\n", fNumSetups, theErr, fRTSPClient->GetStatus()); + qtss_printf("Sending SETUP #%"_U32BITARG_". Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", fNumSetups, theErr, fRTSPClient->GetStatus()); if (theErr == EAGAIN || theErr == EINPROGRESS) { if (theErr == EAGAIN) @@ -520,7 +520,7 @@ SInt64 BroadcasterSession::Run() theErr = fRTSPClient->SendReceive(fStartPlayTimeInSec); #if BROADCAST_SESSION_DEBUG - qtss_printf("BroadcasterSession::fRTSPClient->SendReceive. Result = %lu. Response code = %lu\n", theErr, fRTSPClient->GetStatus()); + qtss_printf("BroadcasterSession::fRTSPClient->SendReceive. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fRTSPClient->GetStatus()); if (theErr == EAGAIN) qtss_printf("BroadcasterSession::SendReceive EAGAIN\n"); if (theErr == EINPROGRESS) @@ -584,7 +584,7 @@ SInt64 BroadcasterSession::Run() if (theErr != OS_NoErr) { // we've encountered some fatal error, bail. - //qtss_printf("kBroadcasting FATAL ERROR err=%ld\n",theErr); + //qtss_printf("kBroadcasting FATAL ERROR err=%"_S32BITARG_"\n",theErr); sBroadcastingConnections--; break; } @@ -625,7 +625,7 @@ SInt64 BroadcasterSession::Run() if (theErr != OS_NoErr) { // we've encountered some fatal error, bail. - //qtss_printf("FATAL ERROR err=%ld\n",theErr); + //qtss_printf("FATAL ERROR err=%"_S32BITARG_"\n",theErr); sBroadcastingConnections--; break; } @@ -655,7 +655,7 @@ SInt64 BroadcasterSession::Run() sActiveConnections--; #if BROADCAST_SESSION_DEBUG - qtss_printf("Sending TEARDOWN. Result = %lu. Response code = %lu\n", theErr, fRTSPClient->GetStatus()); + qtss_printf("Sending TEARDOWN. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fRTSPClient->GetStatus()); #endif // Once the TEARDOWN is complete, we are done, so mark ourselves as dead, and wait // for the owner of this object to delete us @@ -684,7 +684,7 @@ SInt64 BroadcasterSession::Run() { // #if BROADCAST_SESSION_DEBUG - qtss_printf("BroadCasterSession::RUN FATAL ERROR err=%ld\n",theErr); + qtss_printf("BroadCasterSession::RUN FATAL ERROR err=%"_S32BITARG_"\n",theErr); #endif // We encountered some fatal error with the socket. Record this as a connection failure if (fState == kSendingTeardown) @@ -704,7 +704,7 @@ SInt64 BroadcasterSession::Run() #if BROADCAST_SESSION_DEBUG if (fState == kDone) - qtss_printf("Client connection complete. Death reason = %lu RTSPClientStatus=%ld\n", fDeathReason,fRTSPClient->GetStatus()); + qtss_printf("Client connection complete. Death reason = %"_U32BITARG_" RTSPClientStatus=%"_S32BITARG_"\n", fDeathReason,fRTSPClient->GetStatus()); #endif return 0; @@ -766,7 +766,7 @@ void BroadcasterSession::SetupUDPSockets() } } #if BROADCAST_SESSION_DEBUG - qtss_printf("Opened UDP sockets for %lu streams\n", fSDPParser.GetNumStreams()); + qtss_printf("Opened UDP sockets for %"_U32BITARG_" streams\n", fSDPParser.GetNumStreams()); #endif } @@ -916,7 +916,7 @@ void BroadcasterSession::ProcessMediaPacket( char* inPacket, UInt32 inLength, fStats[x].fWrapSeqNum += (UInt16) halfSeqNumMap; #if BROADCAST_SESSION_DEBUG - qtss_printf("Got %lu packets for trackID %lu. %lu packets lost, %lu packets out of order\n", fStats[x].fNumPacketsReceived, inTrackID, fStats[x].fNumLostPackets, fStats[x].fNumOutOfOrderPackets); + qtss_printf("Got %"_U32BITARG_" packets for trackID %"_U32BITARG_". %"_U32BITARG_" packets lost, %"_U32BITARG_" packets out of order\n", fStats[x].fNumPacketsReceived, inTrackID, fStats[x].fNumLostPackets, fStats[x].fNumOutOfOrderPackets); #endif } diff --git a/PlaylistBroadcaster.tproj/BroadcasterSession.h b/PlaylistBroadcaster.tproj/BroadcasterSession.h index 6ffdddc..ca8aa79 100755 --- a/PlaylistBroadcaster.tproj/BroadcasterSession.h +++ b/PlaylistBroadcaster.tproj/BroadcasterSession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/GetLocalIPAddressString.c b/PlaylistBroadcaster.tproj/GetLocalIPAddressString.c index 7509a25..f161b66 100644 --- a/PlaylistBroadcaster.tproj/GetLocalIPAddressString.c +++ b/PlaylistBroadcaster.tproj/GetLocalIPAddressString.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -67,7 +67,7 @@ short GetLocalIPAddressString(char *returnStr, short maxSize) //Unix Network Programming, section 16.6 //Use the SIOCGIFCONF ioctl call to iterate through the network interfaces - static const unsigned long kMaxAddrBufferSize = 2048; + static const UInt32 kMaxAddrBufferSize = 2048; char* ifReqIter = NULL; struct ifconf ifc; diff --git a/PlaylistBroadcaster.tproj/GetLocalIPAddressString.h b/PlaylistBroadcaster.tproj/GetLocalIPAddressString.h index d3f6d94..7d86711 100644 --- a/PlaylistBroadcaster.tproj/GetLocalIPAddressString.h +++ b/PlaylistBroadcaster.tproj/GetLocalIPAddressString.h @@ -5,9 +5,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/Jamfile b/PlaylistBroadcaster.tproj/Jamfile index 610f90d..2062bdf 100644 --- a/PlaylistBroadcaster.tproj/Jamfile +++ b/PlaylistBroadcaster.tproj/Jamfile @@ -1,5 +1,5 @@ # Copyright (c) 1999 Apple Computer, Inc. All rights reserved. -# $Id: Jamfile,v 1.4 2001/03/13 01:31:33 serenyi Exp $ +# $Id: Jamfile,v 1.1 2006/01/05 13:20:36 murata Exp $ # PlaylistBroadcaster # diff --git a/PlaylistBroadcaster.tproj/NoRepeat.cpp b/PlaylistBroadcaster.tproj/NoRepeat.cpp index 1327211..d970167 100644 --- a/PlaylistBroadcaster.tproj/NoRepeat.cpp +++ b/PlaylistBroadcaster.tproj/NoRepeat.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/NoRepeat.h b/PlaylistBroadcaster.tproj/NoRepeat.h index be7646f..6890635 100644 --- a/PlaylistBroadcaster.tproj/NoRepeat.h +++ b/PlaylistBroadcaster.tproj/NoRepeat.h @@ -3,9 +3,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/PLBroadcastDef.cpp b/PlaylistBroadcaster.tproj/PLBroadcastDef.cpp index c2d0cff..88df2ac 100644 --- a/PlaylistBroadcaster.tproj/PLBroadcastDef.cpp +++ b/PlaylistBroadcaster.tproj/PLBroadcastDef.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -160,7 +160,7 @@ Bool16 PLBroadcastDef::ConfigSetter( const char* paramName, const char* paramVal { UInt32 startTime = time(NULL) + 2208988800LU + (time_t) ::strtol(&theValue[1], NULL, 10); char startTimeStr[20] = ""; - qtss_sprintf(startTimeStr,"%lu", startTime); // current time + qtss_sprintf(startTimeStr,"%"_U32BITARG_"", startTime); // current time return broadcastParms->SetValue( &broadcastParms->mStartTime, startTimeStr ); } @@ -179,7 +179,7 @@ Bool16 PLBroadcastDef::ConfigSetter( const char* paramName, const char* paramVal return true; char endTimeStr[20] = ""; - qtss_sprintf(endTimeStr,"%lu", endTime); // current time + offset time + qtss_sprintf(endTimeStr,"%"_U32BITARG_"", endTime); // current time + offset time return broadcastParms->SetValue( &broadcastParms->mEndTime, endTimeStr ); } @@ -225,12 +225,12 @@ Bool16 PLBroadcastDef::ConfigSetter( const char* paramName, const char* paramVal if ( !paramValue[0] || !strlen(paramValue[0]) ) return true; - unsigned long setvalue = kSInt32_Max; + UInt32 setvalue = kSInt32_Max; int maxValue = ::atoi( paramValue[0] ); if (maxValue >= 0) - setvalue = (unsigned long) maxValue; + setvalue = (UInt32) maxValue; - qtss_setmaxprintfcharsinK( (unsigned long) setvalue); + qtss_setmaxprintfcharsinK( (UInt32) setvalue); return false; } @@ -283,46 +283,42 @@ Bool16 PLBroadcastDef::SetDefaults( const char* setupFileName ) if ( !didFail ) didFail = this->SetValue( &mRTSPPort, "554" ); - char nameBuff[512]; - ::strcpy( nameBuff, "broadcast" ); + char nameBuff[kBufferLen]; + int maxNameLen = kMaxBufferStringLen; //maxNameLen = 492 + nameBuff[ sizeof(nameBuff) -1] = 0; //term buffer + ::strncpy( nameBuff, "broadcast" , maxNameLen); + if (setupFileName) - ::strcpy( nameBuff, setupFileName ); + ::strncpy( nameBuff, setupFileName , maxNameLen); + + nameBuff[maxNameLen] = '\0'; //zero term the name - int baseLen = strlen(nameBuff); + int baseLen = ::strlen(nameBuff); //maxNameLen max + +//add .log to the base name of the description file with the .ext stripped -/* - - if you want to add .log to the base name of the - description file with the .ext stripped, un comment - this code. - rt 8.12.99 -*/ char *ext = NULL; ext = ::strrchr( nameBuff, '.' ); if ( ext ) { *ext = 0; - baseLen = ::strlen(nameBuff); + baseLen = ::strlen(nameBuff); } + nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".log" ); + ::strncat( nameBuff, ".log",sizeof(nameBuff) - strlen(nameBuff) - 1 ); if ( !didFail ) didFail = this->SetValue( &mLogFile, nameBuff ); nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".ply" ); + ::strncat( nameBuff, ".ply" ,sizeof(nameBuff) - strlen(nameBuff) - 1); if ( !didFail ) didFail = this->SetValue( &mPlayListFile, nameBuff ); - -// nameBuff[baseLen] = 0; -// ::strcat( nameBuff, ".mov" ); -// if ( !didFail ) -// didFail = this->SetValue( &mSDPReferenceMovie, nameBuff ); nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".sdp" ); + ::strncat( nameBuff, ".sdp" ,sizeof(nameBuff) - strlen(nameBuff) - 1 ); if ( !didFail ) didFail = this->SetValue( &mSDPFile, nameBuff ); @@ -332,27 +328,27 @@ Bool16 PLBroadcastDef::SetDefaults( const char* setupFileName ) /* current, upcoming, and replacelist created by emil@popwire.com */ nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".current" ); + ::strncat( nameBuff, ".current" ,sizeof(nameBuff) - strlen(nameBuff) - 1 ); if ( !didFail ) didFail = this->SetValue( &mCurrentFile, nameBuff ); nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".upcoming" ); + ::strncat( nameBuff, ".upcoming" ,sizeof(nameBuff) - strlen(nameBuff) - 1); if ( !didFail ) didFail = this->SetValue( &mUpcomingFile, nameBuff ); nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".replacelist" ); + ::strncat( nameBuff, ".replacelist" ,sizeof(nameBuff) - strlen(nameBuff) - 1 ); if ( !didFail ) didFail = this->SetValue( &mReplaceFile, nameBuff ); nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".stoplist" ); + ::strncat( nameBuff, ".stoplist" ,sizeof(nameBuff) - strlen(nameBuff) - 1); if ( !didFail ) didFail = this->SetValue( &mStopFile, nameBuff ); nameBuff[baseLen] = 0; - ::strcat( nameBuff, ".insertlist" ); + ::strncat( nameBuff, ".insertlist" ,sizeof(nameBuff) - strlen(nameBuff) - 1 ); if ( !didFail ) didFail = this->SetValue( &mInsertFile, nameBuff ); @@ -547,7 +543,7 @@ void PLBroadcastDef::ShowSettings() qtss_printf( "broadcast_start_time %s (NTP seconds)\n",mStartTime); startTime -= 2208988800LU; //1970 - 1900 secs - qtss_printf( "-->broadcast_start_time = %lu (unix seconds)\n",startTime); + qtss_printf( "-->broadcast_start_time = %"_U32BITARG_" (unix seconds)\n",startTime); time_t tmpTime; tmpTime = (time_t) startTime; @@ -577,7 +573,7 @@ void PLBroadcastDef::ShowSettings() qtss_printf( "broadcast_end_time %s (NTP seconds)\n",mEndTime); endTime -= 2208988800LU;//convert to 1970 secs - qtss_printf( "-->broadcast_end_time = %lu (unix seconds)\n",endTime); + qtss_printf( "-->broadcast_end_time = %"_U32BITARG_" (unix seconds)\n",endTime); time_t tmpTime = (time_t) endTime; struct tm timeResult; @@ -600,7 +596,7 @@ void PLBroadcastDef::ShowSettings() else qtss_printf( "broadcast_end_time 1900 + %s seconds (looks invalid)\n", mEndTime); - qtss_printf( "max_err_file_k_size %lu\n", qtss_getmaxprintfcharsinK()); + qtss_printf( "max_err_file_k_size %"_U32BITARG_"\n", qtss_getmaxprintfcharsinK()); qtss_printf( "============================\n" ); diff --git a/PlaylistBroadcaster.tproj/PLBroadcastDef.h b/PlaylistBroadcaster.tproj/PLBroadcastDef.h index d01c0b5..48da003 100644 --- a/PlaylistBroadcaster.tproj/PLBroadcastDef.h +++ b/PlaylistBroadcaster.tproj/PLBroadcastDef.h @@ -6,9 +6,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -112,7 +112,10 @@ class PLBroadcastDef { enum { kInvalidNone = 0x00000000, - kInvalidDestAddress = 0x00000001 + kInvalidDestAddress = 0x00000001, + kBufferLen = 512, + kExtensionLen = 20, + kMaxBufferStringLen = kBufferLen - kExtensionLen }; protected: diff --git a/PlaylistBroadcaster.tproj/PickerFromFile.cpp b/PlaylistBroadcaster.tproj/PickerFromFile.cpp index 92f1298..f85915c 100644 --- a/PlaylistBroadcaster.tproj/PickerFromFile.cpp +++ b/PlaylistBroadcaster.tproj/PickerFromFile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -223,8 +223,8 @@ int PopulatePickerFromFile( PlaylistPicker* picker, char* fname, const char* bas if ( !pickErr ) { - long lineBuffSize = (kMaxPickerPath *2) - 1; - long wordBuffSize = kMaxPickerPath - 1; + SInt32 lineBuffSize = (kMaxPickerPath *2) - 1; + SInt32 wordBuffSize = kMaxPickerPath - 1; char lineBuff[kMaxPickerPath * 2]; char wordBuff[kMaxPickerPath]; @@ -414,7 +414,7 @@ int PopulatePickerFromDir( PlaylistPicker* picker, char* dirPath, int weight ) findResultHandle = ::FindFirstFile( expandedFileName, &findData); if ( NULL == findResultHandle || INVALID_HANDLE_VALUE == findResultHandle ) { - //qtss_printf( "FindFirstFile( \"%s\" ): gle = %lu\n", searchPath, GetLastError() ); + //qtss_printf( "FindFirstFile( \"%s\" ): gle = %"_U32BITARG_"\n", searchPath, GetLastError() ); return 0; } diff --git a/PlaylistBroadcaster.tproj/PickerFromFile.h b/PlaylistBroadcaster.tproj/PickerFromFile.h index 42cd61e..5ba148a 100644 --- a/PlaylistBroadcaster.tproj/PickerFromFile.h +++ b/PlaylistBroadcaster.tproj/PickerFromFile.h @@ -4,9 +4,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp b/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp index 87e5b7b..1997565 100644 --- a/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp +++ b/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -452,7 +452,7 @@ Bool16 AnnounceBroadcast(PLBroadcastDef *broadcastParms,QTFileBroadcaster *fil } if (200 != broadcastErr) - { //qtss_printf("broadcastErr = %ld sBroadcasterSession->GetDeathState()=%ld sBroadcasterSession->GetReasonForDying()=%ld\n",broadcastErr,sBroadcasterSession->GetDeathState(),sBroadcasterSession->GetReasonForDying()); + { //qtss_printf("broadcastErr = %"_S32BITARG_" sBroadcasterSession->GetDeathState()=%"_S32BITARG_" sBroadcasterSession->GetReasonForDying()=%"_S32BITARG_"\n",broadcastErr,sBroadcasterSession->GetDeathState(),sBroadcasterSession->GetReasonForDying()); if (sBroadcasterSession->GetDeathState() == BroadcasterSession::kSendingAnnounce && sBroadcasterSession->GetReasonForDying() == BroadcasterSession::kConnectionFailed) ::EvalBroadcasterErr(QTFileBroadcaster::eNetworkConnectionError); else if (sBroadcasterSession->GetDeathState() == BroadcasterSession::kSendingAnnounce && sBroadcasterSession->GetReasonForDying() == BroadcasterSession::kBadSDP) @@ -678,7 +678,7 @@ static void PreFlightOrBroadcast( const char *bcastSetupFilePath, bool preflight QTFileBroadcaster fileBroadcaster; int broadcastErr = 0; - long moviePlayCount; + SInt32 moviePlayCount; char* thePick = NULL; int numMovieErrors; bool didAtLeastOneMoviePlay = false; @@ -772,9 +772,9 @@ static void PreFlightOrBroadcast( const char *bcastSetupFilePath, bool preflight if ( preflight ) { if ( picker->mNumToPickFrom == 1 ) - qtss_printf( "\nThere is (%li) movie in the Playlist.\n\n", (long) picker->mNumToPickFrom ); + qtss_printf( "\nThere is (%li) movie in the Playlist.\n\n", (SInt32) picker->mNumToPickFrom ); else - qtss_printf( "\nThere are (%li) movies in the Playlist.\n\n", (long) picker->mNumToPickFrom ); + qtss_printf( "\nThere are (%li) movies in the Playlist.\n\n", (SInt32) picker->mNumToPickFrom ); } if ( !picker->mNumToPickFrom ) @@ -1842,7 +1842,7 @@ static bool DoSDPGen( PLBroadcastDef *broadcastParms, bool preflight, bool overW if (sdpResult == -2) qtss_printf("- SDP generation failed: Unable to create the SDP File.\n (path: %s, errno: %d).\n", broadcastParms->mSDPFile, sdpResult); else - qtss_printf( "- SDP generation failed (error: %li).\n", (long)sdpResult ); + qtss_printf( "- SDP generation failed (error: %li).\n", (SInt32)sdpResult ); (*numErrorsPtr)++; return sdpFileCreated; @@ -1916,7 +1916,12 @@ static bool PreFlightSetupFile( const char * bcastSetupFilePath ) ::usage(); success = false; } - else + else if (::strlen(bcastSetupFilePath) > PLBroadcastDef::kMaxBufferStringLen) + { qtss_printf("- PlaylistBroadcaster: A broadcast description file path cannot be longer than %d in length.\n",PLBroadcastDef::kMaxBufferStringLen ); + ::usage(); + success = false; + } + else { int accessError; accessError = MyAccess(bcastSetupFilePath, R_OK ); @@ -1982,7 +1987,7 @@ static void ShowPickDistribution( PlaylistPicker *picker ) for ( bucketIndex = 0; bucketIndex < picker->GetNumBuckets(); bucketIndex++ ) { - qtss_printf( "bucket total for w: %li, (%li)\n", (bucketIndex + 1), (long)picker->mPickCounts[bucketIndex] ); + qtss_printf( "bucket total for w: %li, (%li)\n", (bucketIndex + 1), (SInt32)picker->mPickCounts[bucketIndex] ); } } @@ -2094,14 +2099,14 @@ struct sigaction act; if ( ::signal(SIGTERM, SIG_IGN) != SIG_IGN) { // from kill... if ( ::sigaction(SIGTERM, &act, NULL) != 0 ) - { qtss_printf( "- PlaylistBroadcaster: System error (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } if ( ::signal(SIGINT, SIG_IGN) != SIG_IGN) { // ^C signal if ( ::sigaction(SIGINT, &act, NULL) != 0 ) - { qtss_printf( "- PlaylistBroadcaster: System error (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } @@ -2109,7 +2114,7 @@ struct sigaction act; 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 (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } @@ -2117,7 +2122,7 @@ struct sigaction act; 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 (%i).\n", (int)SIG_ERR ); + { qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR ); } } diff --git a/PlaylistBroadcaster.tproj/PlaylistPicker.cpp b/PlaylistBroadcaster.tproj/PlaylistPicker.cpp index c454310..e54ed41 100644 --- a/PlaylistBroadcaster.tproj/PlaylistPicker.cpp +++ b/PlaylistBroadcaster.tproj/PlaylistPicker.cpp @@ -1,20 +1,26 @@ /* - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. */ #include @@ -58,7 +64,7 @@ PlaylistPicker::PlaylistPicker( UInt32 numBuckets, UInt32 numNoRepeats ) /* ***************************************************** */ mLastResult = (UInt32) OS::Milliseconds(); - mPickCounts = new long[numBuckets]; + mPickCounts = new SInt32[numBuckets]; UInt32 x; for ( x = 0; x < mBuckets; x++ ) @@ -95,7 +101,7 @@ PlaylistPicker::PlaylistPicker(bool doLoop) /* ***************************************************** */ - mPickCounts = new long[mBuckets]; + mPickCounts = new SInt32[mBuckets]; UInt32 bucketIndex; @@ -295,7 +301,7 @@ void PlaylistPicker::CleanList() mUsedElements = new NoRepeat( mRecentMoviesListSize ); delete [] mPickCounts; - mPickCounts = new long[mBuckets]; + mPickCounts = new SInt32[mBuckets]; UInt32 x; for ( x = 0; x < mBuckets; x++ ) diff --git a/PlaylistBroadcaster.tproj/PlaylistPicker.h b/PlaylistBroadcaster.tproj/PlaylistPicker.h index 40012a5..c760f9e 100644 --- a/PlaylistBroadcaster.tproj/PlaylistPicker.h +++ b/PlaylistBroadcaster.tproj/PlaylistPicker.h @@ -2,22 +2,28 @@ #define __playlist_picker__ /* - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. */ @@ -49,8 +55,8 @@ class PlaylistPicker bool mRemoveFlag; bool mStopFlag; /* ***************************************************** */ - long* mPickCounts; - long mNumToPickFrom; + SInt32* mPickCounts; + SInt32 mNumToPickFrom; UInt32 mRecentMoviesListSize; char* fLastPick; PLDoubleLinkedList* GetBucket( UInt32 myIndex ) { return mElementLists[myIndex]; } diff --git a/PlaylistBroadcaster.tproj/SimplePlayListElement.h b/PlaylistBroadcaster.tproj/SimplePlayListElement.h index 58bee0b..a500d7f 100644 --- a/PlaylistBroadcaster.tproj/SimplePlayListElement.h +++ b/PlaylistBroadcaster.tproj/SimplePlayListElement.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/StSmartArrayPointer.h b/PlaylistBroadcaster.tproj/StSmartArrayPointer.h index 4d07304..55efd20 100644 --- a/PlaylistBroadcaster.tproj/StSmartArrayPointer.h +++ b/PlaylistBroadcaster.tproj/StSmartArrayPointer.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/TrackingElement.h b/PlaylistBroadcaster.tproj/TrackingElement.h index 9c41706..faa2621 100644 --- a/PlaylistBroadcaster.tproj/TrackingElement.h +++ b/PlaylistBroadcaster.tproj/TrackingElement.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/notes.c b/PlaylistBroadcaster.tproj/notes.c index 368f4ac..7d40345 100644 --- a/PlaylistBroadcaster.tproj/notes.c +++ b/PlaylistBroadcaster.tproj/notes.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.cpp b/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.cpp index ae23814..5d6b1a3 100644 --- a/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.cpp +++ b/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: playlist_QTRTPBroadcastFile.cpp,v 1.7 2003/08/15 23:53:06 sbasu Exp $ +// $Id: playlist_QTRTPBroadcastFile.cpp,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTRTPBroadcastFile: // An interface to QTFile for TimeShare. diff --git a/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.h b/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.h index b23ff64..7a0ac65 100644 --- a/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.h +++ b/PlaylistBroadcaster.tproj/playlist_QTRTPBroadcastFile.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: playlist_QTRTPBroadcastFile.h,v 1.7 2003/08/15 23:53:06 sbasu Exp $ +// $Id: playlist_QTRTPBroadcastFile.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTRTPFile: // An interface to QTFile for TimeShare. diff --git a/PlaylistBroadcaster.tproj/playlist_SDPGen.cpp b/PlaylistBroadcaster.tproj/playlist_SDPGen.cpp index fa783d1..7150ac2 100644 --- a/PlaylistBroadcaster.tproj/playlist_SDPGen.cpp +++ b/PlaylistBroadcaster.tproj/playlist_SDPGen.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -140,7 +140,7 @@ char *SDPGen::Process( char *sdpFileName, Assert(SocketUtils::GetIPAddrStr(0) != NULL); Assert(SocketUtils::GetIPAddrStr(0)->Ptr != NULL); - qtss_sprintf(ownerLine, "o=%s %lu %lu IN IP4 %s\r\n",userName ,sessIDAsRandomTime,versAsRandomTime,SocketUtils::GetIPAddrStr(0)->Ptr); + qtss_sprintf(ownerLine, "o=%s %"_U32BITARG_" %"_U32BITARG_" IN IP4 %s\r\n",userName ,sessIDAsRandomTime,versAsRandomTime,SocketUtils::GetIPAddrStr(0)->Ptr); currentPos = AddToBuff(fSDPFileContentsBuf, currentPos, ownerLine); if (currentPos < 0) break; } @@ -185,7 +185,7 @@ char *SDPGen::Process( char *sdpFileName, char timeLine[255]; UInt32 startTimeNTPSecs = strtoul(startTime, NULL, 10); UInt32 endTimeNTPSecs = strtoul(endTime, NULL, 10); - qtss_sprintf(timeLine, "t=%lu %lu\r\n", startTimeNTPSecs, endTimeNTPSecs); + qtss_sprintf(timeLine, "t=%"_U32BITARG_" %"_U32BITARG_"\r\n", startTimeNTPSecs, endTimeNTPSecs); currentPos = AddToBuff(fSDPFileContentsBuf, currentPos, timeLine); if (currentPos < 0) break; } @@ -198,8 +198,8 @@ char *SDPGen::Process( char *sdpFileName, char *found = NULL; enum {eMaxLineLen = 1024}; - char aLine[eMaxLineLen]; - ::memset(aLine, 0, eMaxLineLen); + char aLine[eMaxLineLen +1]; + ::memset(aLine, 0, sizeof(aLine)); int portCount = atoi(basePort); @@ -209,7 +209,7 @@ char *SDPGen::Process( char *sdpFileName, while ( sdpParser.GetLine(&sdpBuffString,&resultString) ) { numLines ++; - if (resultString.fLen > 1024) continue; + if (resultString.fLen > eMaxLineLen) continue; memcpy(aLine,resultString.fTheString,resultString.fLen); aLine[resultString.fLen] = '\0'; diff --git a/PlaylistBroadcaster.tproj/playlist_SDPGen.h b/PlaylistBroadcaster.tproj/playlist_SDPGen.h index 7e607e9..ffdd239 100644 --- a/PlaylistBroadcaster.tproj/playlist_SDPGen.h +++ b/PlaylistBroadcaster.tproj/playlist_SDPGen.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_SimpleParse.cpp b/PlaylistBroadcaster.tproj/playlist_SimpleParse.cpp index 206d77d..b0bdfa4 100644 --- a/PlaylistBroadcaster.tproj/playlist_SimpleParse.cpp +++ b/PlaylistBroadcaster.tproj/playlist_SimpleParse.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -87,7 +87,7 @@ void SimpleString::Print() char* buff = new char[fLen +1]; memcpy (buff, fTheString,fLen); buff[fLen] = 0; - printf("SimpleString( len=%ld str=>%s< )\n",fLen,buff); + printf("SimpleString( len=%"_S32BITARG_" str=>%s< )\n",fLen,buff); delete [] buff; } diff --git a/PlaylistBroadcaster.tproj/playlist_SimpleParse.h b/PlaylistBroadcaster.tproj/playlist_SimpleParse.h index 0baac78..b5634ea 100644 --- a/PlaylistBroadcaster.tproj/playlist_SimpleParse.h +++ b/PlaylistBroadcaster.tproj/playlist_SimpleParse.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_array.h b/PlaylistBroadcaster.tproj/playlist_array.h index af155bd..959e55e 100644 --- a/PlaylistBroadcaster.tproj/playlist_array.h +++ b/PlaylistBroadcaster.tproj/playlist_array.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_broadcaster.cpp b/PlaylistBroadcaster.tproj/playlist_broadcaster.cpp index 4ab4615..eae3d6f 100644 --- a/PlaylistBroadcaster.tproj/playlist_broadcaster.cpp +++ b/PlaylistBroadcaster.tproj/playlist_broadcaster.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -583,13 +583,13 @@ int QTFileBroadcaster::Play(char *mTimeFile) memset (&start,0, sizeof(start)); SInt64 timenow = OS::Milliseconds(); - start.tv_sec = (long) OS::TimeMilli_To_UnixTimeSecs(timenow); - start.tv_usec = (long) ((OS::TimeMilli_To_UnixTimeMilli(timenow) - (start.tv_sec * 1000)) * 1000); + start.tv_sec = (SInt32) OS::TimeMilli_To_UnixTimeSecs(timenow); + start.tv_usec = (SInt32) ((OS::TimeMilli_To_UnixTimeMilli(timenow) - (start.tv_sec * 1000)) * 1000); - dur.tv_sec = (long)fMovieDuration; - dur.tv_usec = (long)((fMovieDuration - dur.tv_sec) * 1000000); + dur.tv_sec = (SInt32)fMovieDuration; + dur.tv_usec = (SInt32)((fMovieDuration - dur.tv_sec) * 1000000); - end.tv_sec = start.tv_sec + dur.tv_sec + (long)((start.tv_usec + dur.tv_usec) / 1000000); + end.tv_sec = start.tv_sec + dur.tv_sec + (SInt32)((start.tv_usec + dur.tv_usec) / 1000000); end.tv_usec = (start.tv_usec + dur.tv_usec) % 1000000; time_t startSecs = start.tv_sec; time_t endSecs = end.tv_sec; @@ -642,9 +642,9 @@ int QTFileBroadcaster::Play(char *mTimeFile) time_t endTime = (time_t) end.tv_sec; char buffer[kTimeStrSize]; char *timestringStart = qtss_ctime(&startTime, buffer, sizeof(buffer)); - qtss_fprintf(fTimeFile,"b=%02d:%02d:%02d:%06d %ld %s", (int) tm_start.tm_hour, (int) tm_start.tm_min, (int) tm_start.tm_sec, (int)start.tv_usec, (long int) startTime, timestringStart); + qtss_fprintf(fTimeFile,"b=%02d:%02d:%02d:%06d %"_S32BITARG_" %s", (int) tm_start.tm_hour, (int) tm_start.tm_min, (int) tm_start.tm_sec, (int)start.tv_usec, (SInt32) startTime, timestringStart); char *timestringEnd = qtss_ctime(&endTime, buffer, sizeof(buffer)); - qtss_fprintf(fTimeFile,"e=%02d:%02d:%02d:%06d %ld %s", (int)tm_end.tm_hour, (int) tm_end.tm_min,(int) tm_end.tm_sec, (int) end.tv_usec,(long int) endTime, timestringEnd); + qtss_fprintf(fTimeFile,"e=%02d:%02d:%02d:%06d %"_S32BITARG_" %s", (int)tm_end.tm_hour, (int) tm_end.tm_min,(int) tm_end.tm_sec, (int) end.tv_usec,(SInt32) endTime, timestringEnd); qtss_fprintf(fTimeFile,"d=%02d:%02d:%02d:%06d %d \n", (int) tm_dur.tm_hour, (int) tm_dur.tm_min,(int) tm_dur.tm_sec, (int) dur.tv_usec, (int)dur.tv_sec); fclose(fTimeFile); @@ -660,13 +660,13 @@ int QTFileBroadcaster::Play(char *mTimeFile) thePacketQLen = fBroadcastDefPtr->mTheSession->GetPacketQLen(); SInt64 maxSleep = PlayListUtils::Milliseconds() + 1000; if (thePacketQLen > eMaxPacketQLen) - { //qtss_printf("PacketQ too big = %lu \n", (UInt32) thePacketQLen); + { //qtss_printf("PacketQ too big = %"_U32BITARG_" \n", (UInt32) thePacketQLen); while ( (eMaxPacketQLen/2) < fBroadcastDefPtr->mTheSession->GetPacketQLen()) { this->SleepInterval(100.0); if (maxSleep < PlayListUtils::Milliseconds()) break; } - //qtss_printf("PacketQ after sleep = %lu \n", (UInt32) fBroadcastDefPtr->mTheSession->GetPacketQLen()); + //qtss_printf("PacketQ after sleep = %"_U32BITARG_" \n", (UInt32) fBroadcastDefPtr->mTheSession->GetPacketQLen()); continue; } } diff --git a/PlaylistBroadcaster.tproj/playlist_broadcaster.h b/PlaylistBroadcaster.tproj/playlist_broadcaster.h index 6490663..366c6a5 100644 --- a/PlaylistBroadcaster.tproj/playlist_broadcaster.h +++ b/PlaylistBroadcaster.tproj/playlist_broadcaster.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_elements.cpp b/PlaylistBroadcaster.tproj/playlist_elements.cpp index 7c60c4a..5ec11e8 100644 --- a/PlaylistBroadcaster.tproj/playlist_elements.cpp +++ b/PlaylistBroadcaster.tproj/playlist_elements.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -75,7 +75,7 @@ UInt32 MediaStream::GetACName(char* ioCNameBuffer) void MediaStream::TestAndIncSoundDescriptor(RTpPacket *packetPtr) { // currently not executed - short test = 0; + SInt16 test = 0; do { if (!fData.fIsSoundStream) break; @@ -85,7 +85,7 @@ void MediaStream::TestAndIncSoundDescriptor(RTpPacket *packetPtr) SoundDescription *packetSDPtr = NULL; SoundDescription *savedSDPtr = (SoundDescription *) fData.fSoundDescriptionBuffer; (void) packetPtr->GetSoundDescriptionRef(&packetSDPtr); - long descSize = packetPtr->fSoundDescriptionLen; + SInt32 descSize = packetPtr->fSoundDescriptionLen; if (descSize == 0) break; if (descSize > eMaxSoundDescriptionSize) break; @@ -153,8 +153,8 @@ void MediaStream::MapToStream(UInt32 curRTpTimeStamp, UInt16 curRTpSequenceNumbe outPayload |= (curPayload & 0x80);// the movie payload marker } -// qtss_printf("MediaStream::MapToStream outTime = %lu\n", outTime); -// qtss_printf("MediaStream::MapToStream calculated time = %lu\n",(UInt32) curTimeInScale); +// qtss_printf("MediaStream::MapToStream outTime = %"_U32BITARG_"\n", outTime); +// qtss_printf("MediaStream::MapToStream calculated time = %"_U32BITARG_"\n",(UInt32) curTimeInScale); if (outRTpTimeStampPtr) *outRTpTimeStampPtr = outTime; if (outRTpSequenceNumberPtr) *outRTpSequenceNumberPtr = outSeq; @@ -360,7 +360,7 @@ int MediaStream::UpdateSenderReport(SInt64 theTime) curTimeInScale +=(Float64) fData.fRTpRandomOffset; curTimeInScale = (UInt32) ( (UInt64) curTimeInScale & (UInt64) 0xFFFFFFFF ); - //qtss_printf("MediaStream::UpdateSenderReport RTCP timestamp = %lu\n",(UInt32) curTimeInScale); + //qtss_printf("MediaStream::UpdateSenderReport RTCP timestamp = %"_U32BITARG_"\n",(UInt32) curTimeInScale); *theReport = htonl((UInt32) curTimeInScale); theReport++; @@ -766,12 +766,12 @@ SInt16 RTpPacket::GetSoundDescriptionRef(SoundDescription **soundDescriptionPtr) if (fThePacket && soundDescriptionPtr) { - long minSoundLength = sizeof(SoundHeader) + sizeof(SoundDescription) + kRTpHeaderSize; + SInt32 minSoundLength = sizeof(SoundHeader) + sizeof(SoundDescription) + kRTpHeaderSize; if ( fLength >= minSoundLength ) { char *offsetPtr = fThePacket + kRTpHeaderSize + sizeof(SoundHeader); *soundDescriptionPtr = (SoundDescription *) offsetPtr; - long descSize = ntohl( (**soundDescriptionPtr).descSize); + SInt32 descSize = ntohl( (**soundDescriptionPtr).descSize); fSoundDescriptionLen = descSize; result = 0; } @@ -788,7 +788,7 @@ bool RTpPacket::HasSoundDescription() { // WritePacketToLog(fThePacket, fLength); - long minSoundLength = sizeof(SoundHeader) + sizeof(SoundDescription) + kRTpHeaderSize; + SInt32 minSoundLength = sizeof(SoundHeader) + sizeof(SoundDescription) + kRTpHeaderSize; if (fLength >= minSoundLength ) { char *offsetPtr = fThePacket + kRTpHeaderSize; diff --git a/PlaylistBroadcaster.tproj/playlist_elements.h b/PlaylistBroadcaster.tproj/playlist_elements.h index c1347aa..3e61213 100644 --- a/PlaylistBroadcaster.tproj/playlist_elements.h +++ b/PlaylistBroadcaster.tproj/playlist_elements.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -49,19 +49,19 @@ class MediaStream; struct SoundDescription { - long descSize; /* total size of SoundDescription including extra data */ - long dataFormat; /* sound format */ - long resvd1; /* reserved for apple use. set to zero */ - short resvd2; /* reserved for apple use. set to zero */ - short dataRefIndex; - short version; /* which version is this data */ - short revlevel; /* what version of that codec did this */ - long vendor; /* whose codec compressed this data */ - short numChannels; /* number of channels of sound */ - short sampleSize; /* number of bits per sample */ - short compressionID; /* unused. set to zero. */ - short packetSize; /* unused. set to zero. */ - unsigned long sampleRate; /* sample rate sound is captured at */ + SInt32 descSize; /* total size of SoundDescription including extra data */ + SInt32 dataFormat; /* sound format */ + SInt32 resvd1; /* reserved for apple use. set to zero */ + SInt16 resvd2; /* reserved for apple use. set to zero */ + SInt16 dataRefIndex; + SInt16 version; /* which version is this data */ + SInt16 revlevel; /* what version of that codec did this */ + SInt32 vendor; /* whose codec compressed this data */ + SInt16 numChannels; /* number of channels of sound */ + SInt16 sampleSize; /* number of bits per sample */ + SInt16 compressionID; /* unused. set to zero. */ + SInt16 packetSize; /* unused. set to zero. */ + UInt32 sampleRate; /* sample rate sound is captured at */ }; @@ -86,7 +86,7 @@ class TypeMap { SimpleString fTheTypeStr; SimpleString fProtocolStr; ArrayList fPayLoadTypes; - ArrayList fPayLoads; + ArrayList fPayLoads; }; @@ -97,9 +97,9 @@ class RTpPacket struct SoundHeader { char bytes[4]; - long skip1; + SInt32 skip1; char sndtype[4]; - long skip2; + SInt32 skip2; char test[4]; }; @@ -109,7 +109,7 @@ struct SoundHeader { char *fThePacket; int fLength; bool fHasSoundDescription; - long fSoundDescriptionLen; + SInt32 fSoundDescriptionLen; RTpPacket() : fThePacket(NULL), fLength(0), fHasSoundDescription(false), fSoundDescriptionLen(0) {}; @@ -297,8 +297,8 @@ class MediaStream bool fIsVideoStream; char *fSoundDescriptionBuffer; - long fSavedSoundDescSize; - short fSavedDataRefIndex; + SInt32 fSavedSoundDescSize; + SInt16 fSavedDataRefIndex; UDPSocketPair *fSocketPair; QTRTPFile *fRTPFilePtr; }; diff --git a/PlaylistBroadcaster.tproj/playlist_lists.cpp b/PlaylistBroadcaster.tproj/playlist_lists.cpp index f501d21..70abf30 100644 --- a/PlaylistBroadcaster.tproj/playlist_lists.cpp +++ b/PlaylistBroadcaster.tproj/playlist_lists.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_lists.h b/PlaylistBroadcaster.tproj/playlist_lists.h index 0a62522..c40c8b7 100644 --- a/PlaylistBroadcaster.tproj/playlist_lists.h +++ b/PlaylistBroadcaster.tproj/playlist_lists.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_parsers.cpp b/PlaylistBroadcaster.tproj/playlist_parsers.cpp index 1f28284..d06cf87 100644 --- a/PlaylistBroadcaster.tproj/playlist_parsers.cpp +++ b/PlaylistBroadcaster.tproj/playlist_parsers.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -279,18 +279,18 @@ bool SDPFileParser::GetRTPMap(TextLine *theLinePtr,PayLoad *payloadPtr) { bool lineOK = false; SimpleString *aWordPtr; - SimpleString mapString("rtpmap"); + SimpleString mapString("rtpmap"); do { if (!theLinePtr || !payloadPtr) break; - aWordPtr = theLinePtr->fWords.SetPos(1); // the attribute name - if (!aWordPtr) break; - if (!Compare(aWordPtr, &mapString, false)) - break; + aWordPtr = theLinePtr->fWords.SetPos(1); // the attribute name + if (!aWordPtr) break; + if (!Compare(aWordPtr, &mapString, false)) + break; - aWordPtr = theLinePtr->fWords.Next(); // the Payload ID + aWordPtr = theLinePtr->fWords.Next(); // the Payload ID if (!aWordPtr) break; payloadPtr->payloadID = aWordPtr->GetInt(); @@ -496,7 +496,7 @@ SInt32 SDPFileParser::ParseSDP(char *theBuff) SInt32 SDPFileParser::ReadSDP(char *filename) { int result = -1; - long int bytes= 0; + SInt32 bytes= 0; FILE *f = NULL; diff --git a/PlaylistBroadcaster.tproj/playlist_parsers.h b/PlaylistBroadcaster.tproj/playlist_parsers.h index f135806..7b82c71 100644 --- a/PlaylistBroadcaster.tproj/playlist_parsers.h +++ b/PlaylistBroadcaster.tproj/playlist_parsers.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PlaylistBroadcaster.tproj/playlist_timestamp.h b/PlaylistBroadcaster.tproj/playlist_timestamp.h index 239cbcc..6b67b41 100644 --- a/PlaylistBroadcaster.tproj/playlist_timestamp.h +++ b/PlaylistBroadcaster.tproj/playlist_timestamp.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -40,11 +40,11 @@ extern "C" { #endif /* Get a 64 bit timestamp */ -extern long long timestamp(void); +extern SInt64 timestamp(void); struct timescale { - long long tsc_numerator; - long long tsc_denominator; + SInt64 tsc_numerator; + SInt64 tsc_denominator; }; /* diff --git a/PlaylistBroadcaster.tproj/playlist_utils.cpp b/PlaylistBroadcaster.tproj/playlist_utils.cpp index 669856e..5a235d2 100644 --- a/PlaylistBroadcaster.tproj/playlist_utils.cpp +++ b/PlaylistBroadcaster.tproj/playlist_utils.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -37,9 +37,9 @@ static int gLogSwitchSetting = switchEntries; - static long gLogEntries = 0; + static SInt32 gLogEntries = 0; static SInt64 gLogTimeStart = 0; - static long gLogNumBytes = 0; + static SInt32 gLogNumBytes = 0; static gLogNumPackets = 0; static char gTempStr[256]; static FILE *gLogFile_1 = 0; @@ -201,15 +201,15 @@ void LogFloat(char *str, float num, char *str2) LogNum(str,gTempStr,str2); } -void LogInt(char *str, long num, char *str2) +void LogInt(char *str, SInt32 num, char *str2) { - qtss_sprintf(gTempStr,"%ld",num); + qtss_sprintf(gTempStr,"%"_S32BITARG_"",num); LogNum(str,gTempStr,str2); } -void LogUInt (char *str, unsigned long num, char *str2) +void LogUInt (char *str, UInt32 num, char *str2) { - qtss_sprintf(gTempStr,"%lu",num); + qtss_sprintf(gTempStr,"%"_U32BITARG_"",num); LogNum(str,gTempStr,str2); } diff --git a/PlaylistBroadcaster.tproj/playlist_utils.h b/PlaylistBroadcaster.tproj/playlist_utils.h index ef980c6..ca7ffab 100644 --- a/PlaylistBroadcaster.tproj/playlist_utils.h +++ b/PlaylistBroadcaster.tproj/playlist_utils.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -59,8 +59,8 @@ void PrintLogBuffer(bool log); void LogNum(void); void LogFloat(char *str, float num, char *str2= "\0"); - void LogInt(char *str, long num, char *str2= "\0"); - void LogUInt (char *str, unsigned long num, char *str2 = "\0"); + void LogInt(char *str, SInt32 num, char *str2= "\0"); + void LogUInt (char *str, UInt32 num, char *str2 = "\0"); void LogStr(char *str); #else diff --git a/PlaylistBroadcaster.tproj/tailor.h b/PlaylistBroadcaster.tproj/tailor.h index a5eac72..4a50641 100644 --- a/PlaylistBroadcaster.tproj/tailor.h +++ b/PlaylistBroadcaster.tproj/tailor.h @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -32,7 +32,7 @@ * The target dependent functions should be defined in tailor.c. */ -/* $Id: tailor.h,v 1.5 2003/08/15 23:53:06 sbasu Exp $ */ +/* $Id: tailor.h,v 1.1 2006/01/05 13:20:36 murata Exp $ */ #if defined(__MSDOS__) && !defined(MSDOS) # define MSDOS @@ -162,7 +162,7 @@ void fcfree (void *ptr); # else /* MSC */ # include -# define fcalloc(nitems,itemsize) halloc((long)(nitems),(itemsize)) +# define fcalloc(nitems,itemsize) halloc((SInt32)(nitems),(itemsize)) # define fcfree(ptr) hfree(ptr) # endif #else diff --git a/PrefsSourceLib/FilePrefsSource.cpp b/PrefsSourceLib/FilePrefsSource.cpp index 66ec2ad..c4f2145 100644 --- a/PrefsSourceLib/FilePrefsSource.cpp +++ b/PrefsSourceLib/FilePrefsSource.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PrefsSourceLib/FilePrefsSource.h b/PrefsSourceLib/FilePrefsSource.h index cb66f24..6f0a92b 100644 --- a/PrefsSourceLib/FilePrefsSource.h +++ b/PrefsSourceLib/FilePrefsSource.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PrefsSourceLib/NetInfoPrefsSource.cpp b/PrefsSourceLib/NetInfoPrefsSource.cpp index 428c057..d710239 100644 --- a/PrefsSourceLib/NetInfoPrefsSource.cpp +++ b/PrefsSourceLib/NetInfoPrefsSource.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PrefsSourceLib/NetInfoPrefsSource.h b/PrefsSourceLib/NetInfoPrefsSource.h index 2c0c2d9..cfcb52e 100644 --- a/PrefsSourceLib/NetInfoPrefsSource.h +++ b/PrefsSourceLib/NetInfoPrefsSource.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PrefsSourceLib/PrefsSource.h b/PrefsSourceLib/PrefsSource.h index 5e348bb..aa0e6c9 100644 --- a/PrefsSourceLib/PrefsSource.h +++ b/PrefsSourceLib/PrefsSource.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -48,7 +48,7 @@ class PrefsSource virtual int GetValue(const char* inKey, char* ioValue) = 0; virtual int GetValueByIndex(const char* inKey, UInt32 inIndex, char* ioValue) = 0; - + virtual ~PrefsSource(){}; }; #endif diff --git a/PrefsSourceLib/XMLParser.cpp b/PrefsSourceLib/XMLParser.cpp index ce8529d..a472f65 100644 --- a/PrefsSourceLib/XMLParser.cpp +++ b/PrefsSourceLib/XMLParser.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -65,7 +65,7 @@ Bool16 XMLParser::ParseFile(char* errorBuffer, int errorBufferSize) if ((fFile.GetLength() == 0) || fFile.IsDir()) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Couldn't read xml file"); + qtss_snprintf(errorBuffer, errorBufferSize, "Couldn't read xml file"); return false; // we don't have a valid file; } @@ -274,7 +274,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (!parser->GetThru(NULL, '<')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Couldn't find a valid tag"); + qtss_snprintf(errorBuffer, errorBufferSize, "Couldn't find a valid tag"); return false; // couldn't find beginning of tag } @@ -282,7 +282,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (c == '/') { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "End tag with no begin tag on line %d", parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize, "End tag with no begin tag on line %d", parser->GetCurrentLineNumber()); return false; // we shouldn't be seeing a close tag here } @@ -302,9 +302,9 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (errorBuffer != NULL) { if (parser->GetDataRemaining() == 0) - qtss_sprintf(errorBuffer, "Unexpected end of file on line %d", parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize, "Unexpected end of file on line %d", parser->GetCurrentLineNumber()); else - qtss_sprintf(errorBuffer, "Unexpected character (%c) on line %d", parser->PeekFast(), parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"Unexpected character (%c) on line %d", parser->PeekFast(), parser->GetCurrentLineNumber()); } return false; // bad file } @@ -323,9 +323,9 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (errorBuffer != NULL) { if (parser->GetDataRemaining() == 0) - qtss_sprintf(errorBuffer, "Unexpected end of file on line %d", parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize, "Unexpected end of file on line %d", parser->GetCurrentLineNumber()); else - qtss_sprintf(errorBuffer, "Unexpected character (%c) on line %d", parser->PeekFast(), parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"Unexpected character (%c) on line %d", parser->PeekFast(), parser->GetCurrentLineNumber()); } return false; // bad file } @@ -335,13 +335,13 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (!parser->Expect('=')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Missing '=' after attribute %s on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"Missing '=' after attribute %s on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); return false; // bad attribute specification } if (!parser->Expect('"')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Attribute %s value not in quotes on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"Attribute %s value not in quotes on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); return false; // bad attribute specification } @@ -350,21 +350,21 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (!parser->Expect('"')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Attribute %s value not in quotes on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize, "Attribute %s value not in quotes on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); return false; // bad attribute specification } if (verifier && !verifier->IsValidAttributeName(fTag, attr->fAttrName)) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Attribute %s not allowed in tag %s on line %d", attr->fAttrName, fTag, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize, "Attribute %s not allowed in tag %s on line %d", attr->fAttrName, fTag, parser->GetCurrentLineNumber()); return false; // bad attribute specification } if (verifier && !verifier->IsValidAttributeValue(fTag, attr->fAttrName, attr->fAttrValue)) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Bad value for attribute %s on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"Bad value for attribute %s on line %d", attr->fAttrName, parser->GetCurrentLineNumber()); return false; // bad attribute specification } @@ -378,7 +378,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (!parser->Expect('>')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "'>' must follow '/' on line %d", parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"'>' must follow '/' on line %d", parser->GetCurrentLineNumber()); return false; // bad attribute specification } @@ -388,7 +388,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (!parser->Expect('>')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Bad format for tag <%s> on line %d", fTag, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize,"Bad format for tag <%s> on line %d", fTag, parser->GetCurrentLineNumber()); return false; // bad attribute specification } @@ -398,7 +398,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (parser->GetDataRemaining() < 4) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Reached end of file without end for tag <%s> declared on line %d", fTag, tagStartLine); + qtss_snprintf(errorBuffer, errorBufferSize, "Reached end of file without end for tag <%s> declared on line %d", fTag, tagStartLine); return false; } if ((*parser)[1] == '/') @@ -416,9 +416,9 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (errorBuffer) { if (fEmbeddedTags.GetLength() > 0) - qtss_sprintf(errorBuffer, "Unexpected text outside of tag on line %d", tagStartLine); + qtss_snprintf(errorBuffer, errorBufferSize,"Unexpected text outside of tag on line %d", tagStartLine); else - qtss_sprintf(errorBuffer, "Tag <%s> on line %d not allowed to have data", fTag, tagStartLine); + qtss_snprintf(errorBuffer, errorBufferSize, "Tag <%s> on line %d not allowed to have data", fTag, tagStartLine); } } } @@ -436,7 +436,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (verifier && !verifier->IsValidSubtag(fTag, tag->GetTagName())) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Tag %s not allowed in tag %s on line %d", tag->GetTagName(), fTag, parser->GetCurrentLineNumber()); + qtss_snprintf(errorBuffer, errorBufferSize, "Tag %s not allowed in tag %s on line %d", tag->GetTagName(), fTag, parser->GetCurrentLineNumber()); return false; // bad attribute specification } } @@ -453,7 +453,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu { char* newTag = temp.GetAsCString(); if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "End tag on line %d doesn't match tag <%s> declared on line %d", newTag, parser->GetCurrentLineNumber(),fTag, tagStartLine); + qtss_snprintf(errorBuffer, errorBufferSize,"End tag on line %d doesn't match tag <%s> declared on line %d", newTag, parser->GetCurrentLineNumber(),fTag, tagStartLine); delete newTag; return false; // bad attribute specification } @@ -461,7 +461,7 @@ bool XMLTag::ParseTag(StringParser* parser, DTDVerifier* verifier, char* errorBu if (!parser->GetThru(NULL, '>')) { if (errorBuffer != NULL) - qtss_sprintf(errorBuffer, "Couldn't find end of tag <%s> declared on line %d", fTag, tagStartLine); + qtss_snprintf(errorBuffer, errorBufferSize,"Couldn't find end of tag <%s> declared on line %d", fTag, tagStartLine); return false; // bad attribute specification } diff --git a/PrefsSourceLib/XMLParser.h b/PrefsSourceLib/XMLParser.h index d42f045..1de563d 100644 --- a/PrefsSourceLib/XMLParser.h +++ b/PrefsSourceLib/XMLParser.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -39,6 +39,7 @@ class DTDVerifier virtual bool IsValidAttributeValue(char* tagName, char* attrName, char* attrValue) = 0; virtual char* GetRequiredAttribute(char* tagName, int index) = 0; virtual bool CanHaveValue(char* tagName) = 0; + virtual ~DTDVerifier(){}; }; class XMLTag diff --git a/PrefsSourceLib/XMLPrefsParser.cpp b/PrefsSourceLib/XMLPrefsParser.cpp index 6402fdb..9f8a06f 100644 --- a/PrefsSourceLib/XMLPrefsParser.cpp +++ b/PrefsSourceLib/XMLPrefsParser.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PrefsSourceLib/XMLPrefsParser.h b/PrefsSourceLib/XMLPrefsParser.h index 51d4a21..977fb30 100644 --- a/PrefsSourceLib/XMLPrefsParser.h +++ b/PrefsSourceLib/XMLPrefsParser.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/PrefsSourceLib/nilib2.c b/PrefsSourceLib/nilib2.c index 68943d4..4905a53 100644 --- a/PrefsSourceLib/nilib2.c +++ b/PrefsSourceLib/nilib2.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -732,7 +732,7 @@ ni_status ni2_pathsearch(void *domain, ni_id *dir, char *pathname) if (!isdigit(pathname[i])) is_id = false; if (is_id) { - dir->nii_object = (unsigned long)atoi(pathname); + dir->nii_object = (UInt32)atoi(pathname); return ni_self(domain, dir); } else { diff --git a/PrefsSourceLib/nilib2.h b/PrefsSourceLib/nilib2.h index a7c3967..727ca03 100644 --- a/PrefsSourceLib/nilib2.h +++ b/PrefsSourceLib/nilib2.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom.cpp b/QTFileLib/QTAtom.cpp index 2b141af..9b41e21 100644 --- a/QTFileLib/QTAtom.cpp +++ b/QTFileLib/QTAtom.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom.h b/QTFileLib/QTAtom.h index 6ef0696..d68d281 100644 --- a/QTFileLib/QTAtom.h +++ b/QTFileLib/QTAtom.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_dref.cpp b/QTFileLib/QTAtom_dref.cpp index a121b41..566743f 100644 --- a/QTFileLib/QTAtom_dref.cpp +++ b/QTFileLib/QTAtom_dref.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -237,7 +237,7 @@ Bool16 QTAtom_dref::Read(UInt32 RefID, UInt64 Offset, char * const Buffer, UInt3 if( (RefID == 0) || (RefID > fNumRefs) ) return false; -// qtss_printf("QTAtom_dref::Read Offset = %qd, Length = %ld \n", Offset, Length); +// qtss_printf("QTAtom_dref::Read Offset = %qd, Length = %"_S32BITARG_" \n", Offset, Length); // // If this data reference is in the movie file itself, then we can forward // the request directly to QTFile. @@ -316,7 +316,7 @@ void QTAtom_dref::DumpAtom(void) { DEBUG_PRINT(("QTAtom_dref::DumpAtom - Dumping atom.\n")); for( UInt32 CurRef = 1; CurRef <= fNumRefs; CurRef++ ) - DEBUG_PRINT(("QTAtom_dref::DumpAtom - ..Ref #%lu is in file: %s\n", CurRef, IsRefInThisFile(CurRef) ? "yes" : "no")); + DEBUG_PRINT(("QTAtom_dref::DumpAtom - ..Ref #%"_U32BITARG_" is in file: %s\n", CurRef, IsRefInThisFile(CurRef) ? "yes" : "no")); } diff --git a/QTFileLib/QTAtom_dref.h b/QTFileLib/QTAtom_dref.h index 2484858..4f2b704 100644 --- a/QTFileLib/QTAtom_dref.h +++ b/QTFileLib/QTAtom_dref.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_elst.cpp b/QTFileLib/QTAtom_elst.cpp index c88bb20..be4bc63 100644 --- a/QTFileLib/QTAtom_elst.cpp +++ b/QTFileLib/QTAtom_elst.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -113,7 +113,7 @@ Bool16 QTAtom_elst::Initialize(void) // // Read in all of the edits. if( fNumEdits > 0 ) { - DEEP_DEBUG_PRINT(("QTAtom_elst::Initialize ..%lu edits found.\n", fNumEdits)); + DEEP_DEBUG_PRINT(("QTAtom_elst::Initialize ..%"_U32BITARG_" edits found.\n", fNumEdits)); // // Allocate our ref table. @@ -147,7 +147,7 @@ Bool16 QTAtom_elst::Initialize(void) } - DEEP_DEBUG_PRINT(("QTAtom_elst::Initialize ..Edit #%lu: Duration=%"_64BITARG_"u; MediaTime=%"_64BITARG_"d\n", CurEdit, fEdits[CurEdit].EditDuration, fEdits[CurEdit].StartingMediaTime)); + DEEP_DEBUG_PRINT(("QTAtom_elst::Initialize ..Edit #%"_U32BITARG_": Duration=%"_64BITARG_"u; MediaTime=%"_64BITARG_"d\n", CurEdit, fEdits[CurEdit].EditDuration, fEdits[CurEdit].StartingMediaTime)); // // Adjust our starting media time. @@ -170,5 +170,5 @@ void QTAtom_elst::DumpAtom(void) { DEBUG_PRINT(("QTAtom_elst::DumpAtom - Dumping atom.\n")); DEBUG_PRINT(("QTAtom_elst::DumpAtom - ..Version: %d.\n", (int) fVersion)); - DEBUG_PRINT(("QTAtom_elst::DumpAtom - ..Number of edits: %ld\n", fNumEdits)); + DEBUG_PRINT(("QTAtom_elst::DumpAtom - ..Number of edits: %"_S32BITARG_"\n", fNumEdits)); } diff --git a/QTFileLib/QTAtom_elst.h b/QTFileLib/QTAtom_elst.h index 3837e14..94908a7 100644 --- a/QTFileLib/QTAtom_elst.h +++ b/QTFileLib/QTAtom_elst.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_hinf.cpp b/QTFileLib/QTAtom_hinf.cpp index 754f91c..b36f5c5 100644 --- a/QTFileLib/QTAtom_hinf.cpp +++ b/QTFileLib/QTAtom_hinf.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -201,12 +201,12 @@ void QTAtom_hinf::DumpAtom(void) DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Total Repeat Packet bytes: %"_64BITARG_"u\n", this->GetRepeatBytes())); DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Total Immediate Bytes: %"_64BITARG_"u\n", this->GetTotalImmediateBytes())); - DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Minimum Transmission Time: %lu\n", this->GetMinTransTime())); - DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Maximum Transmission Time: %lu\n", this->GetMaxTransTime())); - DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Maximum Packet Size bytes: %lu\n", this->GetMaxPacketSizeBytes())); - DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Maximum Maximum Packet Duration: %lu\n", this->GetMaxPacketDuration())); + DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Minimum Transmission Time: %"_U32BITARG_"\n", this->GetMinTransTime())); + DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Maximum Transmission Time: %"_U32BITARG_"\n", this->GetMaxTransTime())); + DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Maximum Packet Size bytes: %"_U32BITARG_"\n", this->GetMaxPacketSizeBytes())); + DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Maximum Maximum Packet Duration: %"_U32BITARG_"\n", this->GetMaxPacketDuration())); - DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Payload ID: %lu\n", this->GetPayLoadID())); + DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Payload ID: %"_U32BITARG_"\n", this->GetPayLoadID())); DEBUG_PRINT(("QTAtom_hinf::DumpAtom - ..Payload string: %s\n", this->GetPayLoadStr())); } diff --git a/QTFileLib/QTAtom_hinf.h b/QTFileLib/QTAtom_hinf.h index a8ebf1a..3f21e55 100644 --- a/QTFileLib/QTAtom_hinf.h +++ b/QTFileLib/QTAtom_hinf.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_mdhd.cpp b/QTFileLib/QTAtom_mdhd.cpp index 7d6184a..cf192ef 100644 --- a/QTFileLib/QTAtom_mdhd.cpp +++ b/QTFileLib/QTAtom_mdhd.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_mdhd.h b/QTFileLib/QTAtom_mdhd.h index 828616a..92694a6 100644 --- a/QTFileLib/QTAtom_mdhd.h +++ b/QTFileLib/QTAtom_mdhd.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_mvhd.cpp b/QTFileLib/QTAtom_mvhd.cpp index 149a5a0..af8c88f 100644 --- a/QTFileLib/QTAtom_mvhd.cpp +++ b/QTFileLib/QTAtom_mvhd.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_mvhd.h b/QTFileLib/QTAtom_mvhd.h index 377899a..f74f17f 100644 --- a/QTFileLib/QTAtom_mvhd.h +++ b/QTFileLib/QTAtom_mvhd.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_stco.cpp b/QTFileLib/QTAtom_stco.cpp index bdcaa68..ee71e35 100644 --- a/QTFileLib/QTAtom_stco.cpp +++ b/QTFileLib/QTAtom_stco.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -95,7 +95,7 @@ Bool16 QTAtom_stco::Initialize(void) // // Validate the size of the sample table. - if( (unsigned long)(fNumEntries * fOffSetSize) != (fTOCEntry.AtomDataLength - 8) ) + if( (UInt32)(fNumEntries * fOffSetSize) != (fTOCEntry.AtomDataLength - 8) ) return false; // @@ -124,7 +124,7 @@ Bool16 QTAtom_stco::Initialize(void) void QTAtom_stco::DumpAtom(void) { DEBUG_PRINT(("QTAtom_stco::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_stco::DumpAtom - ..Number of chunk offset entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_stco::DumpAtom - ..Number of chunk offset entries: %"_S32BITARG_"\n", fNumEntries)); } void QTAtom_stco::DumpTable(void) @@ -142,8 +142,8 @@ void QTAtom_stco::DumpTable(void) for( UInt32 CurEntry = 1; CurEntry <= fNumEntries; CurEntry++ ) { if (ChunkOffset(CurEntry, &offset)) - qtss_printf(" %10lu: %"_64BITARG_"u\n", CurEntry, offset); + qtss_printf(" %10"_U32BITARG_": %"_64BITARG_"u\n", CurEntry, offset); else - qtss_printf(" %10lu: QTAtom_stco::DumpTable ChunkOffset error\n", CurEntry); + qtss_printf(" %10"_U32BITARG_": QTAtom_stco::DumpTable ChunkOffset error\n", CurEntry); } } diff --git a/QTFileLib/QTAtom_stco.h b/QTFileLib/QTAtom_stco.h index 1a2164b..4c785f0 100644 --- a/QTFileLib/QTAtom_stco.h +++ b/QTFileLib/QTAtom_stco.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTAtom_stsc.cpp b/QTFileLib/QTAtom_stsc.cpp index 9685635..8081bc0 100644 --- a/QTFileLib/QTAtom_stsc.cpp +++ b/QTFileLib/QTAtom_stsc.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -135,7 +135,7 @@ QTAtom_stsc::~QTAtom_stsc(void) { // // Free our variables. -#if __MacOSX__ +#if MMAP_TABLES if( fSampleToChunkTable != NULL ) this->UnMap(fSampleToChunkTable, fTableSize); #else @@ -165,12 +165,12 @@ Bool16 QTAtom_stsc::Initialize(void) // // Validate the size of the sample table. - if( (unsigned long)(fNumEntries * 12) != (fTOCEntry.AtomDataLength - 8) ) + if( (UInt32)(fNumEntries * 12) != (fTOCEntry.AtomDataLength - 8) ) return false; // // Read in the sample-to-chunk table. -#if __MacOSX__ +#if MMAP_TABLES fTableSize = fNumEntries * 12; fSampleToChunkTable = this->MemMap(stscPos_SampleTable, fTableSize); if( fSampleToChunkTable == NULL ) @@ -241,7 +241,7 @@ Bool16 QTAtom_stsc::GetChunkFirstLastSample(UInt32 chunkNumber, UInt32 *firstSam if (STCB->fCurEntry_GetChunkFirstLastSample > 0) { -// qtss_printf("GetChunkFirstLastSample cached loop chunk start = %d look for chunk = %ld\n",STCB->fLastFirstChunk_GetChunkFirstLastSample,chunkNumber); +// qtss_printf("GetChunkFirstLastSample cached loop chunk start = %d look for chunk = %"_S32BITARG_"\n",STCB->fLastFirstChunk_GetChunkFirstLastSample,chunkNumber); samplesPerChunk = STCB->fLastSamplesPerChunk_GetChunkFirstLastSample; totalSamples = STCB->fLastTotalSamples_GetChunkFirstLastSample; thisFirstChunk = STCB->fLastFirstChunk_GetChunkFirstLastSample; @@ -277,7 +277,7 @@ Bool16 QTAtom_stsc::GetChunkFirstLastSample(UInt32 chunkNumber, UInt32 *firstSam if ( chunkNumber < thisFirstChunk ) // found chunk in group { -// qtss_printf("found chunk in group numEntries = %ld this chunk = %ld \n",fNumEntries, chunkNumber); +// qtss_printf("found chunk in group numEntries = %"_S32BITARG_" this chunk = %"_S32BITARG_" \n",fNumEntries, chunkNumber); numSamplesInChunks = (chunkNumber - prevFirstChunk) * prevSamplesPerChunk; totalSamples += numSamplesInChunks; prevSamplesPerChunk = totalSamples - prevSamplesPerChunk; @@ -309,7 +309,7 @@ Bool16 QTAtom_stsc::GetChunkFirstLastSample(UInt32 chunkNumber, UInt32 *firstSam if (firstSample) *firstSample = prevSamplesPerChunk + 1; if (lastSample) *lastSample = totalSamples; -// qtss_printf("Get Chunk %ld First %ld Last %ld prevSamplesPerChunk %ld samplesPerChunk %ld\n",chunkNumber,*firstSample,*lastSample,prevSamplesPerChunk,samplesPerChunk); +// qtss_printf("Get Chunk %"_S32BITARG_" First %"_S32BITARG_" Last %"_S32BITARG_" prevSamplesPerChunk %"_S32BITARG_" samplesPerChunk %"_S32BITARG_"\n",chunkNumber,*firstSample,*lastSample,prevSamplesPerChunk,samplesPerChunk); STCB->chunkNumber_GetChunkFirstLastSample = chunkNumber; STCB->firstSample_GetChunkFirstLastSample = prevSamplesPerChunk + 1; @@ -414,7 +414,7 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh gstscCallCount ++; if (gstscCallCount == 1000) { - qtss_printf("QTAtom_stsc::SampleToChunkInfo #calls = %ld, cache hits = %ld \n",gstscCallCount, gstscCacheCount); + qtss_printf("QTAtom_stsc::SampleToChunkInfo #calls = %"_S32BITARG_", cache hits = %"_S32BITARG_" \n",gstscCallCount, gstscCacheCount); gstscCacheCount = 0; gstscCallCount = 0; @@ -426,11 +426,11 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh // STCB as we would have no way to know when we are seeking around in the // movie. -// qtss_printf("------ QTAtom_stsc::SampleToChunkInfo SampleNumber = %ld\n",SampleNumber); +// qtss_printf("------ QTAtom_stsc::SampleToChunkInfo SampleNumber = %"_S32BITARG_"\n",SampleNumber); if (STCB->fFirstSampleNumber_SampleToChunkInfo == SampleNumber) { -// qtss_printf("------ QTAtom_stsc::SampleToChunkInfo cache hit SampleNumber = %ld\n",SampleNumber); +// qtss_printf("------ QTAtom_stsc::SampleToChunkInfo cache hit SampleNumber = %"_S32BITARG_"\n",SampleNumber); // gstscCacheCount ++; aChunkNumber = STCB->fFirstChunkNumber_SampleToChunkInfo; @@ -449,7 +449,7 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh goto done; } -// qtss_printf("QTAtom_stsc::SampleToChunkInfo missed cache SampleNumber = %ld\n",SampleNumber); +// qtss_printf("QTAtom_stsc::SampleToChunkInfo missed cache SampleNumber = %"_S32BITARG_"\n",SampleNumber); // // Assume that this sample came out of the last chunk. @@ -474,7 +474,7 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh if (STCB->fCurSample_SampleToChunkInfo > SampleNumber) // we missed the cache start over { missedCache = true; -// qtss_printf("missed loop Cache!! STCB = %ld STCB->fCurSample_SampleToChunkInfo = %ld > SampleNumber = %ld \n",STCB, STCB->fCurSample_SampleToChunkInfo, SampleNumber); +// qtss_printf("missed loop Cache!! STCB = %"_S32BITARG_" STCB->fCurSample_SampleToChunkInfo = %"_S32BITARG_" > SampleNumber = %"_S32BITARG_" \n",STCB, STCB->fCurSample_SampleToChunkInfo, SampleNumber); STCB->fCurEntry_SampleToChunkInfo = 0; STCB->fCurSample_SampleToChunkInfo = 1; STCB->fLastFirstChunk_SampleToChunkInfo = 1; @@ -512,14 +512,14 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh if (SampleNumber == 1 || missedCache) { -// qtss_printf("QTAtom_stsc::SampleToChunkInfo (SampleNumber == %ld) \n",SampleNumber); +// qtss_printf("QTAtom_stsc::SampleToChunkInfo (SampleNumber == %"_S32BITARG_") \n",SampleNumber); STCB->fFirstChunkNumber_SampleToChunkInfo = aChunkNumber; STCB->fFirstSampleDescriptionIndex_SampleToChunkInfo = aSampleDescriptionIndex; STCB->fFirstSamplesPerChunk_SampleToChunkInfo = aSamplesPerChunk; STCB->fFirstSampleOffsetInChunk_SampleToChunkInfo = aSampleOffsetInChunk; STCB->fFirstSampleNumber_SampleToChunkInfo = SampleNumber; } -// qtss_printf("GetSample Info in for loop returning offset %ld \n",aSampleOffsetInChunk); +// qtss_printf("GetSample Info in for loop returning offset %"_S32BITARG_" \n",aSampleOffsetInChunk); goto done; } @@ -546,7 +546,7 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh } -// qtss_printf("GetSample Info fall out of loop returning offset%ld \n",aSampleOffsetInChunk); +// qtss_printf("GetSample Info fall out of loop returning offset%"_S32BITARG_" \n",aSampleOffsetInChunk); // // Falling out of the loop means that the sample is in the last chunk of // the table. @@ -583,7 +583,7 @@ Bool16 QTAtom_stsc::SampleToChunkInfo(UInt32 SampleNumber, UInt32 *samplesPerCh void QTAtom_stsc::DumpAtom(void) { DEBUG_PRINT(("QTAtom_stsc::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_stsc::DumpAtom - ..Number of STC entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_stsc::DumpAtom - ..Number of STC entries: %"_S32BITARG_"\n", fNumEntries)); } void QTAtom_stsc::DumpTable(void) @@ -613,7 +613,7 @@ void QTAtom_stsc::DumpTable(void) // // Print out a listing. - qtss_printf(" %10lu : %10lu %10lu %10lu\n", + qtss_printf(" %10"_U32BITARG_" : %10"_U32BITARG_" %10"_U32BITARG_" %10"_U32BITARG_"\n", CurEntry+1, FirstChunk, SamplesPerChunk, SampleDescription); } } diff --git a/QTFileLib/QTAtom_stsc.h b/QTFileLib/QTAtom_stsc.h index 565d227..58d269a 100644 --- a/QTFileLib/QTAtom_stsc.h +++ b/QTFileLib/QTAtom_stsc.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stsc.h,v 1.9 2004/05/14 23:03:13 murata Exp $ +// $Id: QTAtom_stsc.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stsc: // The 'stsc' QTAtom class. diff --git a/QTFileLib/QTAtom_stsd.cpp b/QTFileLib/QTAtom_stsd.cpp index 5ca027b..58d9129 100644 --- a/QTFileLib/QTAtom_stsd.cpp +++ b/QTFileLib/QTAtom_stsd.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stsd.cpp,v 1.10 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_stsd.cpp,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stsd: // The 'stsd' QTAtom class. @@ -218,5 +218,5 @@ UInt16 QTAtom_stsd::SampleDescriptionToDataReference(UInt32 SampleDescriptionID) void QTAtom_stsd::DumpAtom(void) { DEBUG_PRINT(("QTAtom_stsd::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_stsd::DumpAtom - ..Number of sample description entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_stsd::DumpAtom - ..Number of sample description entries: %"_S32BITARG_"\n", fNumEntries)); } diff --git a/QTFileLib/QTAtom_stsd.h b/QTFileLib/QTAtom_stsd.h index 3d18c92..96c1dfc 100644 --- a/QTFileLib/QTAtom_stsd.h +++ b/QTFileLib/QTAtom_stsd.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stsd.h,v 1.7 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_stsd.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stsd: // The 'stsd' QTAtom class. diff --git a/QTFileLib/QTAtom_stss.cpp b/QTFileLib/QTAtom_stss.cpp index 139e00e..c303252 100644 --- a/QTFileLib/QTAtom_stss.cpp +++ b/QTFileLib/QTAtom_stss.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stss.cpp,v 1.11.14.2 2007/04/19 04:16:21 murata Exp $ +// $Id: QTAtom_stss.cpp,v 1.2 2006/03/29 00:47:00 murata Exp $ // // QTAtom_stss: // The 'stss' QTAtom class. @@ -76,7 +76,7 @@ QTAtom_stss::~QTAtom_stss(void) { // // Free our variables. -#if __MacOSX__ +#if MMAP_TABLES if( fSyncSampleTable != NULL ) this->UnMap(fSyncSampleTable, fTableSize); #else @@ -108,17 +108,17 @@ Bool16 QTAtom_stss::Initialize(void) // // Validate the size of the sample table. - if( (unsigned long)(fNumEntries * 4) != (fTOCEntry.AtomDataLength - 8) ) + if( (UInt32)(fNumEntries * 4) != (fTOCEntry.AtomDataLength - 8) ) return false; -#if 0 //__MacOSX__ MMAP_TABLES needs fixing. It should be page aligned and maybe on a 64bit system the whole file should be mapped. +#if 0// MMAP_TABLES needs fixing should be page aligned and maybe on a 64bit system the whole file should be mapped. fTableSize = (fNumEntries * 4); fSyncSampleTable = this->MemMap(stssPos_SampleTable, fTableSize); fTable = (UInt32 *) fSyncSampleTable; if (fSyncSampleTable == NULL) return false; - + #else // // Read in the sync sample table. @@ -132,8 +132,9 @@ Bool16 QTAtom_stss::Initialize(void) fTable = (UInt32 *)(((PointerSizedInt)fSyncSampleTable + 4) & ~((PointerSizedInt)0x3)); initSucceeds = ReadBytes(stssPos_SampleTable, (char *)fTable, fNumEntries * 4); + +#endif -#endif if ( initSucceeds ) { // This atom has been successfully read in. @@ -208,7 +209,7 @@ void QTAtom_stss::NextSyncSample(UInt32 SampleNumber, UInt32 *SyncSampleNumber) void QTAtom_stss::DumpAtom(void) { DEBUG_PRINT(("QTAtom_stss::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_stss::DumpAtom - ..Number of sync sample entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_stss::DumpAtom - ..Number of sync sample entries: %"_S32BITARG_"\n", fNumEntries)); } void QTAtom_stss::DumpTable(void) @@ -225,6 +226,6 @@ void QTAtom_stss::DumpTable(void) for( UInt32 CurEntry = 1; CurEntry <= fNumEntries; CurEntry++ ) { // // Print out a listing. - qtss_printf(" %10lu : %10lu\n", CurEntry, fTable[CurEntry-1]); + qtss_printf(" %10"_U32BITARG_" : %10"_U32BITARG_"\n", CurEntry, fTable[CurEntry-1]); } } diff --git a/QTFileLib/QTAtom_stss.h b/QTFileLib/QTAtom_stss.h index 5a8c9c6..65f78c2 100644 --- a/QTFileLib/QTAtom_stss.h +++ b/QTFileLib/QTAtom_stss.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stss.h,v 1.8 2004/05/14 23:03:13 murata Exp $ +// $Id: QTAtom_stss.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stss: // The 'stss' QTAtom class. diff --git a/QTFileLib/QTAtom_stsz.cpp b/QTFileLib/QTAtom_stsz.cpp index 8b309d5..4c82f08 100644 --- a/QTFileLib/QTAtom_stsz.cpp +++ b/QTFileLib/QTAtom_stsz.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stsz.cpp,v 1.10 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_stsz.cpp,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stsz: // The 'stsz' QTAtom class. @@ -114,7 +114,7 @@ Bool16 QTAtom_stsz::Initialize(void) // // Validate the size of the sample table. - if( (unsigned long)(fNumEntries * 4) != (fTOCEntry.AtomDataLength - 12) ) + if( (UInt32)(fNumEntries * 4) != (fTOCEntry.AtomDataLength - 12) ) return false; // @@ -144,13 +144,13 @@ Bool16 QTAtom_stsz::SampleRangeSize(UInt32 firstSampleNumber, UInt32 lastSampleN { if (lastSampleNumber < firstSampleNumber) { -// qtss_printf("QTAtom_stsz::SampleRangeSize (lastSampleNumber %ld < firstSampleNumber %ld) \n",lastSampleNumber, firstSampleNumber); +// qtss_printf("QTAtom_stsz::SampleRangeSize (lastSampleNumber %"_S32BITARG_" < firstSampleNumber %"_S32BITARG_") \n",lastSampleNumber, firstSampleNumber); break; } if(fCommonSampleSize) { -// qtss_printf("QTAtom_stsz::SampleRangeSize fCommonSampleSize %ld firstSampleNumber %ld lastSampleNumber %ld *sizePtr %ld\n",fCommonSampleSize,firstSampleNumber,lastSampleNumber,*sizePtr); +// qtss_printf("QTAtom_stsz::SampleRangeSize fCommonSampleSize %"_S32BITARG_" firstSampleNumber %"_S32BITARG_" lastSampleNumber %"_S32BITARG_" *sizePtr %"_S32BITARG_"\n",fCommonSampleSize,firstSampleNumber,lastSampleNumber,*sizePtr); if( sizePtr != NULL ) *sizePtr = fCommonSampleSize * (lastSampleNumber - firstSampleNumber + 1) ; @@ -183,7 +183,7 @@ Bool16 QTAtom_stsz::SampleRangeSize(UInt32 firstSampleNumber, UInt32 lastSampleN void QTAtom_stsz::DumpAtom(void) { DEBUG_PRINT(("QTAtom_stsz::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_stsz::DumpAtom - ..Number of sample size entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_stsz::DumpAtom - ..Number of sample size entries: %"_S32BITARG_"\n", fNumEntries)); } void QTAtom_stsz::DumpTable(void) @@ -200,6 +200,6 @@ void QTAtom_stsz::DumpTable(void) for( UInt32 CurEntry = 1; CurEntry <= fNumEntries; CurEntry++ ) { // // Print out a listing. - qtss_printf(" %10lu : %10lu\n", CurEntry, fTable[CurEntry-1]); + qtss_printf(" %10"_U32BITARG_" : %10"_U32BITARG_"\n", CurEntry, fTable[CurEntry-1]); } } diff --git a/QTFileLib/QTAtom_stsz.h b/QTFileLib/QTAtom_stsz.h index d74b8e2..a71ff64 100644 --- a/QTFileLib/QTAtom_stsz.h +++ b/QTFileLib/QTAtom_stsz.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stsz.h,v 1.9 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_stsz.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stsz: // The 'stsz' QTAtom class. diff --git a/QTFileLib/QTAtom_stts.cpp b/QTFileLib/QTAtom_stts.cpp index de95036..d343298 100644 --- a/QTFileLib/QTAtom_stts.cpp +++ b/QTFileLib/QTAtom_stts.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stts.cpp,v 1.15 2004/05/14 23:03:13 murata Exp $ +// $Id: QTAtom_stts.cpp,v 1.2 2006/03/29 00:47:00 murata Exp $ // // QTAtom_stts: // The 'stts' QTAtom class. @@ -106,7 +106,7 @@ QTAtom_stts::~QTAtom_stts(void) { // // Free our variables. -#if __MacOSX__ +#if MMAP_TABLES if( fTimeToSampleTable != NULL ) this->UnMap(fTimeToSampleTable, fTableSize); #else @@ -138,13 +138,13 @@ Bool16 QTAtom_stts::Initialize(void) // // Validate the size of the sample table. - if( (unsigned long)(fNumEntries * 8) != (fTOCEntry.AtomDataLength - 8) ) + if( (UInt32)(fNumEntries * 8) != (fTOCEntry.AtomDataLength - 8) ) return false; // // Read in the time-to-sample table. -#if __MacOSX__ +#if MMAP_TABLES fTableSize = (fNumEntries * 8); fTimeToSampleTable = this->MemMap(sttsPos_SampleTable, fTableSize); if( fTimeToSampleTable == NULL ) @@ -235,7 +235,7 @@ Bool16 QTAtom_stts::SampleNumberToMediaTime(UInt32 SampleNumber, UInt32 * MediaT if ( STCB->fGetSampleMediaTime_SampleNumber == SampleNumber) { -// qtss_printf("QTTrack::GetSampleMediaTime cache hit SampleNumber %ld \n", SampleNumber); +// qtss_printf("QTTrack::GetSampleMediaTime cache hit SampleNumber %"_S32BITARG_" \n", SampleNumber); *MediaTime = STCB->fGetSampleMediaTime_MediaTime; return true; } @@ -291,7 +291,7 @@ Bool16 QTAtom_stts::SampleNumberToMediaTime(UInt32 SampleNumber, UInt32 * MediaT void QTAtom_stts::DumpAtom(void) { DEBUG_PRINT(("QTAtom_stts::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_stts::DumpAtom - ..Number of TTS entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_stts::DumpAtom - ..Number of TTS entries: %"_S32BITARG_"\n", fNumEntries)); } void QTAtom_stts::DumpTable(void) @@ -317,7 +317,7 @@ void QTAtom_stts::DumpTable(void) SampleDuration = ntohl(SampleDuration); // Print out a listing. - qtss_printf(" %10lu : %10lu %10lu\n", CurEntry, SampleCount, SampleDuration); + qtss_printf(" %10"_U32BITARG_" : %10"_U32BITARG_" %10"_U32BITARG_"\n", CurEntry, SampleCount, SampleDuration); } } @@ -405,7 +405,7 @@ Bool16 QTAtom_ctts::Initialize(void) // // Validate the size of the sample table. - if( (unsigned long)(fNumEntries * 8) != (fTOCEntry.AtomDataLength - 8) ) + if( (UInt32)(fNumEntries * 8) != (fTOCEntry.AtomDataLength - 8) ) return false; // @@ -494,7 +494,7 @@ Bool16 QTAtom_ctts::SampleNumberToMediaTimeOffset(UInt32 SampleNumber, UInt32 * if ( STCB->fGetSampleMediaTime_SampleNumber == SampleNumber) { -// qtss_printf("QTTrack::GetSampleMediaTime cache hit SampleNumber %ld \n", SampleNumber); +// qtss_printf("QTTrack::GetSampleMediaTime cache hit SampleNumber %"_S32BITARG_" \n", SampleNumber); *MediaTimeOffset = STCB->fGetSampleMediaTime_MediaTime; return true; } @@ -550,7 +550,7 @@ Bool16 QTAtom_ctts::SampleNumberToMediaTimeOffset(UInt32 SampleNumber, UInt32 * void QTAtom_ctts::DumpAtom(void) { DEBUG_PRINT(("QTAtom_ctts::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_ctts::DumpAtom - ..Number of CTTS entries: %ld\n", fNumEntries)); + DEBUG_PRINT(("QTAtom_ctts::DumpAtom - ..Number of CTTS entries: %"_S32BITARG_"\n", fNumEntries)); } void QTAtom_ctts::DumpTable(void) @@ -576,6 +576,6 @@ void QTAtom_ctts::DumpTable(void) SampleOffset = ntohl(SampleOffset); // Print out a listing. - qtss_printf(" %10lu : %10lu %10lu\n", CurEntry, SampleCount, SampleOffset); + qtss_printf(" %10"_U32BITARG_" : %10"_U32BITARG_" %10"_U32BITARG_"\n", CurEntry, SampleCount, SampleOffset); } } diff --git a/QTFileLib/QTAtom_stts.h b/QTFileLib/QTAtom_stts.h index f939090..f16d66b 100644 --- a/QTFileLib/QTAtom_stts.h +++ b/QTFileLib/QTAtom_stts.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_stts.h,v 1.10 2004/05/14 23:03:13 murata Exp $ +// $Id: QTAtom_stts.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_stts: // The 'stts' QTAtom class. diff --git a/QTFileLib/QTAtom_tkhd.cpp b/QTFileLib/QTAtom_tkhd.cpp index 4059b97..13e2c24 100644 --- a/QTFileLib/QTAtom_tkhd.cpp +++ b/QTFileLib/QTAtom_tkhd.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_tkhd.cpp,v 1.10 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_tkhd.cpp,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_tkhd: // The 'tkhd' QTAtom class. @@ -204,7 +204,7 @@ void QTAtom_tkhd::DumpAtom(void) DEBUG_PRINT(("QTAtom_tkhd::DumpAtom - Dumping atom.\n")); DEBUG_PRINT(("QTAtom_tkhd::DumpAtom - ..Version: %d.\n", (int) fVersion)); - DEBUG_PRINT(("QTAtom_tkhd::DumpAtom - ..Track ID: %ld\n", fTrackID)); + DEBUG_PRINT(("QTAtom_tkhd::DumpAtom - ..Track ID: %"_S32BITARG_"\n", fTrackID)); DEBUG_PRINT(("QTAtom_tkhd::DumpAtom - ..Flags:%s%s%s%s\n", (fFlags & flagEnabled) ? " Enabled" : "", (fFlags & flagInMovie) ? " InMovie" : "", (fFlags & flagInPreview) ? " InPreview" : "", (fFlags & flagInPoster) ? " InPoster" : "")); DEBUG_PRINT(("QTAtom_tkhd::DumpAtom - ..Creation date: %s", qtss_asctime(qtss_gmtime(&unixCreationTime, &timeResult),buffer,sizeof(buffer)))); } diff --git a/QTFileLib/QTAtom_tkhd.h b/QTFileLib/QTAtom_tkhd.h index d9b3888..d860278 100644 --- a/QTFileLib/QTAtom_tkhd.h +++ b/QTFileLib/QTAtom_tkhd.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_tkhd.h,v 1.7 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_tkhd.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_tkhd: // The 'tkhd' QTAtom class. diff --git a/QTFileLib/QTAtom_tref.cpp b/QTFileLib/QTAtom_tref.cpp index 80b7084..0cc0317 100644 --- a/QTFileLib/QTAtom_tref.cpp +++ b/QTFileLib/QTAtom_tref.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_tref.cpp,v 1.10 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_tref.cpp,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_tref: // The 'tref' QTAtom class. @@ -110,5 +110,5 @@ Bool16 QTAtom_tref::Initialize(void) void QTAtom_tref::DumpAtom(void) { DEBUG_PRINT(("QTAtom_tref::DumpAtom - Dumping atom.\n")); - DEBUG_PRINT(("QTAtom_tref::DumpAtom - ..Number of track reference entries: %lu\n", (UInt32) fNumEntries)); + DEBUG_PRINT(("QTAtom_tref::DumpAtom - ..Number of track reference entries: %"_U32BITARG_"\n", (UInt32) fNumEntries)); } diff --git a/QTFileLib/QTAtom_tref.h b/QTFileLib/QTAtom_tref.h index 040988b..fff9650 100644 --- a/QTFileLib/QTAtom_tref.h +++ b/QTFileLib/QTAtom_tref.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTAtom_tref.h,v 1.8 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTAtom_tref.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTAtom_tref: // The 'tref' QTAtom class. diff --git a/QTFileLib/QTFile.cpp b/QTFileLib/QTFile.cpp index 0ca0f72..15617a2 100644 --- a/QTFileLib/QTFile.cpp +++ b/QTFileLib/QTFile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -54,7 +54,7 @@ #include "QTTrack.h" #include "QTHintTrack.h" #include "OSMemory.h" -#if __MacOSX__ +#if MMAP_TABLES #include #endif @@ -141,7 +141,7 @@ QTFile::~QTFile(void) #if DSS_USE_API_CALLBACKS (void)QTSS_CloseFileObject(fMovieFD); #endif -#if __MacOSX__ +#if MMAP_TABLES ::close(fFile); #endif } @@ -174,7 +174,7 @@ QTFile::ErrorCode QTFile::Open(const char * MoviePath) fMoviePath = NEW char[strlen(MoviePath) + 1]; ::strcpy(fMoviePath, MoviePath); -#if __MacOSX__ +#if MMAP_TABLES fFile = open(fMoviePath, O_RDONLY); #endif @@ -302,6 +302,11 @@ QTFile::ErrorCode QTFile::Open(const char * MoviePath) return errNoError; } +char *QTFile::GetModDateStr() +{ + return fModDateBuffer.GetDateBuffer(); +} + void QTFile::AllocateBuffers(UInt32 inUnitSizeInK, UInt32 inBufferInc, UInt32 inBufferSizeUnits, UInt32 inMaxBitRateBuffSizeInBlocks, UInt32 inBitrate) { @@ -369,7 +374,7 @@ Bool16 QTFile::FindTOCEntry(const char * AtomPath, AtomTOCEntry **TOCEntry, Atom // // Is this a root search or a rooted search? if( *pCurAtomType == ':' ) { - DEEP_DEBUG_PRINT(("QTFile::FindTOCEntry - ..Rooting search at [%03lu].\n", LastFoundTOCEntry->TOCID)); + DEEP_DEBUG_PRINT(("QTFile::FindTOCEntry - ..Rooting search at [%03"_U32BITARG_"].\n", LastFoundTOCEntry->TOCID)); RootTOCID = LastFoundTOCEntry->TOCID; pCurAtomType++; @@ -385,7 +390,7 @@ Bool16 QTFile::FindTOCEntry(const char * AtomPath, AtomTOCEntry **TOCEntry, Atom Atom = Atom->NextAtom; if( Atom != NULL ) { - DEEP_DEBUG_PRINT(("QTFile::FindTOCEntry - ..Starting search at [%03lu] '%c%c%c%c'. Search path is \"%s\"\n", + DEEP_DEBUG_PRINT(("QTFile::FindTOCEntry - ..Starting search at [%03"_U32BITARG_"] '%c%c%c%c'. Search path is \"%s\"\n", Atom->TOCID, (char)((Atom->AtomType & 0xff000000) >> 24), (char)((Atom->AtomType & 0x00ff0000) >> 16), @@ -403,7 +408,7 @@ Bool16 QTFile::FindTOCEntry(const char * AtomPath, AtomTOCEntry **TOCEntry, Atom // // Recurse through our table of contents until we find this path. while( Atom != NULL ) { // already initialized by the above - DEEP_DEBUG_PRINT(("QTFile::FindTOCEntry - ..Comparing against [%03lu] '%c%c%c%c'\n", + DEEP_DEBUG_PRINT(("QTFile::FindTOCEntry - ..Comparing against [%03"_U32BITARG_" '%c%c%c%c'\n", Atom->TOCID, (char)((Atom->AtomType & 0xff000000) >> 24), (char)((Atom->AtomType & 0x00ff0000) >> 16), @@ -599,12 +604,12 @@ Bool16 QTFile::Read(UInt64 Offset, char * const Buffer, UInt32 Length, QTFile_Fi // General vars OSMutexLocker ReadMutex(fReadMutex); Bool16 rv = false; + UInt32 gotlen = 0; if( FCB ) rv = FCB->Read(&fMovieFD,Offset,Buffer,Length); else { - UInt32 gotlen; #if DSS_USE_API_CALLBACKS QTSS_Error theErr = QTSS_Seek(fMovieFD, Offset); if (theErr == QTSS_NoErr) @@ -634,7 +639,7 @@ Bool16 QTFile::GenerateAtomTOC(void) UInt64 BigAtomLength; UInt64 CurPos; - unsigned long CurAtomHeaderSize; + UInt32 CurAtomHeaderSize; AtomTOCEntry *NewTOCEntry = NULL, *CurParent = NULL, *LastTOCEntry = NULL; @@ -741,7 +746,7 @@ Bool16 QTFile::GenerateAtomTOC(void) if (0 == BigAtomLength) { - DEEP_DEBUG_PRINT(("QTFile::GenerateAtomTOC - Bail atom is bad. type= '%c%c%c%c'; pos=%"_64BITARG_"u; length=%"_64BITARG_"u; header=%lu.\n", + DEEP_DEBUG_PRINT(("QTFile::GenerateAtomTOC - Bail atom is bad. type= '%c%c%c%c'; pos=%"_64BITARG_"u; length=%"_64BITARG_"u; header=%"_U32BITARG_".\n", (char)((AtomType & 0xff000000) >> 24), (char)((AtomType & 0x00ff0000) >> 16), (char)((AtomType & 0x0000ff00) >> 8), @@ -752,7 +757,7 @@ Bool16 QTFile::GenerateAtomTOC(void) } if (hasBigAtom) - { DEEP_DEBUG_PRINT(("QTFile::GenerateAtomTOC - Found 64 bit atom '%c%c%c%c'; pos=%"_64BITARG_"u; length=%"_64BITARG_"u; header=%lu.\n", + { DEEP_DEBUG_PRINT(("QTFile::GenerateAtomTOC - Found 64 bit atom '%c%c%c%c'; pos=%"_64BITARG_"u; length=%"_64BITARG_"u; header=%"_U32BITARG_".\n", (char)((AtomType & 0xff000000) >> 24), (char)((AtomType & 0x00ff0000) >> 16), (char)((AtomType & 0x0000ff00) >> 8), @@ -760,7 +765,7 @@ Bool16 QTFile::GenerateAtomTOC(void) CurPos - CurAtomHeaderSize, BigAtomLength, CurAtomHeaderSize)); } else - { DEEP_DEBUG_PRINT(("QTFile::GenerateAtomTOC - Found 32 bit atom '%c%c%c%c'; pos=%"_64BITARG_"u; length=%"_64BITARG_"u; header=%lu.\n", + { DEEP_DEBUG_PRINT(("QTFile::GenerateAtomTOC - Found 32 bit atom '%c%c%c%c'; pos=%"_64BITARG_"u; length=%"_64BITARG_"u; header=%"_U32BITARG_".\n", (char)((AtomType & 0xff000000) >> 24), (char)((AtomType & 0x00ff0000) >> 16), (char)((AtomType & 0x0000ff00) >> 8), @@ -905,7 +910,7 @@ Bool16 QTFile::GenerateAtomTOC(void) char *QTFile::MapFileToMem(UInt64 offset, UInt32 length) { -#if __MacOSX__ +#if MMAP_TABLES char* mappedMem = (char *) mmap( NULL, (size_t) length, PROT_READ, @@ -926,7 +931,7 @@ char *QTFile::MapFileToMem(UInt64 offset, UInt32 length) int QTFile::UnmapMem(char* memPtr, UInt32 length) { -#if __MacOSX__ +#if MMAP_TABLES return munmap( (caddr_t) memPtr, (size_t) length); #else return 0; @@ -949,7 +954,7 @@ void QTFile::DumpAtomTOC(void) { // Print out this atom. - DEBUG_PRINT(("%s[%03lu] AtomType=%c%c%c%c; AtomDataPos=%"_64BITARG_"u; AtomDataLength=%"_64BITARG_"u\n", + DEBUG_PRINT(("%s[%03"_U32BITARG_"] AtomType=%c%c%c%c; AtomDataPos=%"_64BITARG_"u; AtomDataLength=%"_64BITARG_"u\n", Indent, Atom->TOCID, (char)((Atom->AtomType & 0xff000000) >> 24), diff --git a/QTFileLib/QTFile.h b/QTFileLib/QTFile.h index 870aa85..8ff65b3 100644 --- a/QTFileLib/QTFile.h +++ b/QTFileLib/QTFile.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTFile.h,v 1.16 2004/05/14 23:03:13 murata Exp $ +// $Id: QTFile.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTFile: // The central point of control for a file in the QuickTime File Format. @@ -129,7 +129,7 @@ class QTFile { Float64 GetDurationInSeconds(void); SInt64 GetModDate(); // Returns the mod date as a RFC 1123 formatted string - char* GetModDateStr() { return fModDateBuffer.GetDateBuffer(); } + char* GetModDateStr(); // // Read functions. Bool16 Read(UInt64 Offset, char * const Buffer, UInt32 Length, QTFile_FileControlBlock * FCB = NULL); diff --git a/QTFileLib/QTFile_FileControlBlock.cpp b/QTFileLib/QTFile_FileControlBlock.cpp index d273799..303bd7d 100644 --- a/QTFileLib/QTFile_FileControlBlock.cpp +++ b/QTFileLib/QTFile_FileControlBlock.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -146,8 +146,8 @@ Bool16 QTFile_FileControlBlock::Read(FILE_SOURCE *dflt, UInt64 inPosition, void* ) { //if ( !fCacheEnabled) qtss_printf("QTFile_FileControlBlock::Read cache not enabled\n"); - //if ( inLength > fDataBufferSize) qtss_printf("QTFile_FileControlBlock::Read read too big for cache len=%lu max%lu\n",inLength,fDataBufferSize); - //if ( inPosition < fDataBufferPosStart) qtss_printf("QTFile_FileControlBlock::Read backing up skipping cache missed by =%lu bytes\n", fDataBufferPosStart - inPosition); + //if ( inLength > fDataBufferSize) qtss_printf("QTFile_FileControlBlock::Read read too big for cache len=%"_U32BITARG_" max%"_U32BITARG_"\n",inLength,fDataBufferSize); + //if ( inPosition < fDataBufferPosStart) qtss_printf("QTFile_FileControlBlock::Read backing up skipping cache missed by =%"_U32BITARG_" bytes\n", fDataBufferPosStart - inPosition); result = this->ReadInternal(dataFD, inPosition, inBuffer, inLength); goto done; } @@ -305,7 +305,7 @@ void QTFile_FileControlBlock::AdjustDataBufferBitRate(UInt32 inUnitSizeInK, UInt newDataBufferSize = newDataBufferSizeInUnits * kBlockByteSize; - //qtss_printf("QTFile_FileControlBlock::AdjustDataBuffer private buffers NewDataBufferSizeInUnits =%lu NewDataBufferSize = %lu\n",newDataBufferSizeInUnits,newDataBufferSize); + //qtss_printf("QTFile_FileControlBlock::AdjustDataBuffer private buffers NewDataBufferSizeInUnits =%"_U32BITARG_" NewDataBufferSize = %"_U32BITARG_"\n",newDataBufferSizeInUnits,newDataBufferSize); // Free the old buffer. delete[] fDataBufferPool; diff --git a/QTFileLib/QTFile_FileControlBlock.h b/QTFileLib/QTFile_FileControlBlock.h index 1b58e3b..92ea087 100644 --- a/QTFileLib/QTFile_FileControlBlock.h +++ b/QTFileLib/QTFile_FileControlBlock.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileLib/QTHintTrack.cpp b/QTFileLib/QTHintTrack.cpp index 98780c2..180793b 100644 --- a/QTFileLib/QTHintTrack.cpp +++ b/QTFileLib/QTHintTrack.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -175,7 +175,9 @@ QTHintTrack::QTHintTrack(QTFile * File, QTFile::AtomTOCEntry * Atom, Bool16 Debu fTimestampRandomOffset(0), fSequenceNumberRandomOffset(0), fHintTrackInitialized(false), - fHintType(QTHintTrack::kUnknown) + fHintType(QTHintTrack::kUnknown), + fFirstTransmitTime(0.0), + fAllowInvalidHintRefs(false) { #if TESTTIME qtss_printf(" QTHintTrack initialized \n"); @@ -325,12 +327,13 @@ QTTrack::ErrorCode QTHintTrack::Initialize(void) // // Get the reference and make sure it's not empty. if( !fHintTrackReferenceAtom->TrackReferenceToTrackID(CurRef, &trackID) ) - return errInvalidQuickTimeFile; - + return errInvalidQuickTimeFile; + // // Store away a reference to this track. if( !fFile->FindTrack( trackID, &fTrackRefs[CurRef]) ) - return errInvalidQuickTimeFile; + if ( !fAllowInvalidHintRefs ) + return errInvalidQuickTimeFile; } @@ -677,7 +680,7 @@ QTTrack::ErrorCode QTHintTrack::GetNumPackets(UInt32 sampleNumber, UInt16 * numP QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock * htcb, char **buffPtr, char **ppPacketBufOut, UInt32 sampleNumber, UInt16 packetNumber, UInt32 buffOutLen ) { -// qtss_printf("GetSampleData sampleNumber = %lu packetNumber = %lu buffOutLen = %lu \n",sampleNumber, packetNumber, buffOutLen); +// qtss_printf("GetSampleData sampleNumber = %"_U32BITARG_" packetNumber = %"_U32BITARG_" buffOutLen = %"_U32BITARG_" \n",sampleNumber, packetNumber, buffOutLen); // General vars SInt8 trackRefIndex = 0; UInt16 readLength = 0; @@ -744,13 +747,13 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock if( samplesPerCompressionBlock == 0 ) samplesPerCompressionBlock = 1; - DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ....Sample entry found (sample#=%lu; offset=%lu; length=%u; BPCB=%u; SPCB=%u)\n", mediaSampleNumber, readOffset, readLength, bytesPerCompressionBlock, samplesPerCompressionBlock)); + DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ....Sample entry found (sample#=%"_U32BITARG_"; offset=%"_U32BITARG_"; length=%u; BPCB=%u; SPCB=%u)\n", mediaSampleNumber, readOffset, readLength, bytesPerCompressionBlock, samplesPerCompressionBlock)); if( trackRefIndex == -1 ) { if (kUnknown == fHintType) fHintType = kOptimized; -// qtss_printf("hint track sample = %ld \n", mediaSampleNumber); +// qtss_printf("hint track sample = %"_S32BITARG_" \n", mediaSampleNumber); // // We're getting data out of the hint track.. #if TESTTIME @@ -770,7 +773,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock && (readLength == htcb->fCachedHintTrackSampleLength) ) { -// qtss_printf("found cached hint sample = %ld \n", mediaSampleNumber); +// qtss_printf("found cached hint sample = %"_S32BITARG_" \n", mediaSampleNumber); if ( (char *) (*ppPacketBufOut + readLength -1) > maxBuffPtr ) { return errInvalidQuickTimeFile; } @@ -785,7 +788,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock } if (hintPacketCount >= kMaxPacketCount) { -// qtss_printf("hintPacketCount = %ld hint get info time = %f hint bytes read = %d read time = %f\n", hintPacketCount, (float) (totalHintSampleReadTime - totalHintReadTime) / eMilli,totalHintLength, (float) totalHintReadTime/ eMilli); +// qtss_printf("hintPacketCount = %"_S32BITARG_" hint get info time = %f hint bytes read = %d read time = %f\n", hintPacketCount, (float) (totalHintSampleReadTime - totalHintReadTime) / eMilli,totalHintLength, (float) totalHintReadTime/ eMilli); hintPacketCount = 0; totalHintSampleReadTime = 0; totalHintLength = 0; @@ -803,7 +806,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock && ((readOffset + readLength) <= htcb->fCachedSampleLength) ) { -// qtss_printf("found currently cached sample = %ld \n", mediaSampleNumber); +// qtss_printf("found currently cached sample = %"_S32BITARG_" \n", mediaSampleNumber); if ( (char *) (*ppPacketBufOut + readLength -1) > maxBuffPtr) { return errInvalidQuickTimeFile; } @@ -819,7 +822,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock if (hintPacketCount >= kMaxPacketCount) { -// qtss_printf("hintPacketCount = %ld hint get info time = %f hint bytes read = %d read time = %f\n", hintPacketCount, (float) (totalHintSampleReadTime - totalHintReadTime) / eMilli,totalHintLength, (float) totalHintReadTime/ eMilli); +// qtss_printf("hintPacketCount = %"_S32BITARG_" hint get info time = %f hint bytes read = %d read time = %f\n", hintPacketCount, (float) (totalHintSampleReadTime - totalHintReadTime) / eMilli,totalHintLength, (float) totalHintReadTime/ eMilli); hintPacketCount = 0; totalHintSampleReadTime = 0; totalHintLength = 0; @@ -853,7 +856,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock if (kUnknown == fHintType || kOptimized == fHintType) // if uninitialized or self-referencing then reset fHintType = kUnoptimized; -// qtss_printf("media track sample = %ld \n", mediaSampleNumber); +// qtss_printf("media track sample = %"_S32BITARG_" \n", mediaSampleNumber); #if TESTTIME isMediaSample = true; @@ -867,7 +870,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock // Initialize this track if we haven't done so yet. if( !track->IsInitialized() ) - { TEMP_PRINT_ONE( "QTHintTrack::GetPacket trackRefIndex %li, not initialized,\n", (long)trackRefIndex ); + { TEMP_PRINT_ONE( "QTHintTrack::GetPacket trackRefIndex %li, not initialized,\n", (SInt32)trackRefIndex ); OSMutexLocker theLocker(fFile->GetMutex()); TEMP_PRINT("Initializing media track\n"); @@ -897,8 +900,8 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock || (!isOneForOne) // compressed data is normally defined by bytesPerCompressionBlock or samplesPerCompressionBlock ) { -// qtss_printf("track = %ld sample = %ld is compressed \n",this, mediaSampleNumber); -// qtss_printf("is compressed bytesPerCompressionBlock = %ld samplesPerCompressionBlock = %d sampleLength = %ld\n", bytesPerCompressionBlock, samplesPerCompressionBlock, sampleLength); +// qtss_printf("track = %"_S32BITARG_" sample = %"_S32BITARG_" is compressed \n",this, mediaSampleNumber); +// qtss_printf("is compressed bytesPerCompressionBlock = %"_S32BITARG_" samplesPerCompressionBlock = %d sampleLength = %"_S32BITARG_"\n", bytesPerCompressionBlock, samplesPerCompressionBlock, sampleLength); isCompressed = true; } @@ -934,13 +937,13 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock if ( (remainingLength > 0) && (sampleFirstPartLength > 0) ) // this packet is split across chunks { -// qtss_printf("mediaSampleNumber = %ld is compressed and split across chunks first part = %ld remaining = %ld\n",mediaSampleNumber, readLength, remainingLength); +// qtss_printf("mediaSampleNumber = %"_S32BITARG_" is compressed and split across chunks first part = %"_S32BITARG_" remaining = %"_S32BITARG_"\n",mediaSampleNumber, readLength, remainingLength); readLength = (UInt16) sampleFirstPartLength; } else { // this is still needed. For some movies the compressed split packet calculation doesn't match the simple dataOffset calc below --a problem with sampleOffsetInChunk // qtss_printf("compressed but not split across chunks \n"); -// qtss_printf("chunkOffset = %ld ",chunkOffset); +// qtss_printf("chunkOffset = %"_S32BITARG_" ",chunkOffset); // qtss_printf("old dataOffset = %qd ",dataOffset); remainingLength = 0; dataOffset = chunkOffset + readOffset + (UInt64)(sampleOffsetInChunk * ((Float64)bytesPerCompressionBlock / (Float64)samplesPerCompressionBlock)); @@ -953,7 +956,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock } #if TESTTIME -// qtss_printf("Read mediaSampleNumber = %ld dataOffset = %qd readLength = %ld remaining = %ld\n",mediaSampleNumber, dataOffset, readLength, remainingLength); +// qtss_printf("Read mediaSampleNumber = %"_S32BITARG_" dataOffset = %qd readLength = %"_S32BITARG_" remaining = %"_S32BITARG_"\n",mediaSampleNumber, dataOffset, readLength, remainingLength); readStart = GetMicroseconds(); if ( (char *) (*ppPacketBufOut + readLength -1) > maxBuffPtr) @@ -964,7 +967,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock return (errInvalidQuickTimeFile); totalMediaReadTime += GetMicroseconds() - readStart; #else -// qtss_printf("Read mediaSampleNumber = %ld dataOffset = %qd readLength = %ld remaining = %ld\n",mediaSampleNumber, dataOffset, readLength, remainingLength); +// qtss_printf("Read mediaSampleNumber = %"_S32BITARG_" dataOffset = %qd readLength = %"_S32BITARG_" remaining = %"_S32BITARG_"\n",mediaSampleNumber, dataOffset, readLength, remainingLength); if ( (char *) (*ppPacketBufOut + readLength -1) > maxBuffPtr) { return errInvalidQuickTimeFile; @@ -982,7 +985,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock while (remainingLength > 0) // loop if packet is split across more than just two chunks { -// qtss_printf("mediaSampleNumber = %ld remaining read = %ld\n",mediaSampleNumber, remainingLength); +// qtss_printf("mediaSampleNumber = %"_S32BITARG_" remaining read = %"_S32BITARG_"\n",mediaSampleNumber, remainingLength); readLength = (UInt16) remainingLength; // set the read to what is left chunkNumber++; // The rest of the sample is in the next N chunks @@ -1018,7 +1021,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock } #if TESTTIME -// qtss_printf("Read next parts mediaSampleNumber = %ld dataOffset = %qd readLength = %ld remaining = %ld\n",mediaSampleNumber, dataOffset, readLength, remainingLength); +// qtss_printf("Read next parts mediaSampleNumber = %"_S32BITARG_" dataOffset = %qd readLength = %"_S32BITARG_" remaining = %"_S32BITARG_"\n",mediaSampleNumber, dataOffset, readLength, remainingLength); readStart = GetMicroseconds(); if ( (char *) (*ppPacketBufOut + readLength -1) > maxBuffPtr) @@ -1070,14 +1073,14 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock if( htcb->fCachedHintTrackSample == NULL ) { -// qtss_printf("create a cache buffer for %ld of size %ld\n",mediaSampleNumber,cacheHintSampleLen); +// qtss_printf("create a cache buffer for %"_S32BITARG_" of size %"_S32BITARG_"\n",mediaSampleNumber,cacheHintSampleLen); htcb->fCachedHintTrackSample = NEW char[ (SInt32) cacheHintSampleLen]; htcb->fCachedHintTrackBufferLength = (SInt32) cacheHintSampleLen; } else if (htcb->fCachedHintTrackBufferLength < cacheHintSampleLen ) { -// qtss_printf("reallocate a cache buffer for %ld of size %ld\n",mediaSampleNumber,cacheHintSampleLen); +// qtss_printf("reallocate a cache buffer for %"_S32BITARG_" of size %"_S32BITARG_"\n",mediaSampleNumber,cacheHintSampleLen); htcb->fCachedHintTrackSampleNumber = 0; htcb->fCachedHintTrackSampleOffset = 0; delete[] htcb->fCachedHintTrackSample; @@ -1091,7 +1094,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock if( htcb->fCachedHintTrackSample != NULL ) { -// qtss_printf("cache a hint sample sampleNumber %ld readLength = %ld\n",mediaSampleNumber,cacheHintSampleLen); +// qtss_printf("cache a hint sample sampleNumber %"_S32BITARG_" readLength = %"_S32BITARG_"\n",mediaSampleNumber,cacheHintSampleLen); ::memcpy(htcb->fCachedHintTrackSample, buffOutPtr, (UInt32) cacheHintSampleLen); htcb->fCachedHintTrackSampleNumber = mediaSampleNumber; htcb->fCachedHintTrackSampleOffset = readOffset; @@ -1107,7 +1110,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock } if (mediaPacketCount >= kMaxPacketCount) { -// qtss_printf("mediaPacketCount = %ld media get info time = %f media bytes read = %d read time = %f\n", mediaPacketCount, (float) (totalMediaSampleReadTime - totalMediaReadTime) / eMilli, totalMediaLength, (float) totalMediaReadTime/ eMilli); +// qtss_printf("mediaPacketCount = %"_S32BITARG_" media get info time = %f media bytes read = %d read time = %f\n", mediaPacketCount, (float) (totalMediaSampleReadTime - totalMediaReadTime) / eMilli, totalMediaLength, (float) totalMediaReadTime/ eMilli); totalMediaSampleReadTime = 0; mediaPacketCount = 0; totalMediaLength = 0; @@ -1120,7 +1123,7 @@ QTTrack::ErrorCode QTHintTrack::GetSampleData( QTHintTrack_HintTrackControlBlock } else if (isHintSample && (hintPacketCount >= kMaxPacketCount) ) { -// qtss_printf("hintPacketCount = %ld hint get info time = %f hint bytes read = %d read time = %f\n", hintPacketCount, (float) (totalHintSampleReadTime - totalHintReadTime) / eMilli,totalHintLength, (float) totalHintReadTime/ eMilli); +// qtss_printf("hintPacketCount = %"_S32BITARG_" hint get info time = %f hint bytes read = %d read time = %f\n", hintPacketCount, (float) (totalHintSampleReadTime - totalHintReadTime) / eMilli,totalHintLength, (float) totalHintReadTime/ eMilli); hintPacketCount = 0; totalHintSampleReadTime = 0; totalHintLength = 0; @@ -1165,7 +1168,7 @@ QTTrack::ErrorCode QTHintTrack::GetPacket(UInt32 sampleNumber, UInt16 packetNumb Assert(htcb != NULL); - DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - Building packet #%u in sample %lu.\n", packetNumber, sampleNumber)); + DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - Building packet #%u in sample %"_U32BITARG_".\n", packetNumber, sampleNumber)); // // Get the RTP timestamp for this sample. @@ -1198,12 +1201,26 @@ QTTrack::ErrorCode QTHintTrack::GetPacket(UInt32 sampleNumber, UInt16 packetNumb if ( err != errNoError ) { return err; } + +#if 0 // ignore relativePacketTransmissionTime offsets + *transmitTime = ( mediaTime * fMediaHeaderAtom->GetTimeScaleRecip() ); - *transmitTime = ( mediaTime * fMediaHeaderAtom->GetTimeScaleRecip() ) +#else //keep relativePacketTransmissionTime offsets. time 0 base the streams independently. All streams start together regardless of their transmission time. + + *transmitTime = ( mediaTime * fMediaHeaderAtom->GetTimeScaleRecip() ) + ( hdrData.relativePacketTransmissionTime * fMediaHeaderAtom->GetTimeScaleRecip() ); +#endif + + // remove negative start times so each track's transmit time is now 0 based + if ( hdrData.relativePacketTransmissionTime != 0 && (fFirstTransmitTime == 0.0) ) + { fFirstTransmitTime = *transmitTime * -1; + } + *transmitTime += fFirstTransmitTime; // prevent any negative transmission times by making all the streams 0 based. + + if ( hdrData.hintFlags ) - { //qtss_printf( "QTHintTrack::GetPacket hintFlags %lx\n", (long)hdrData.hintFlags ); + { //qtss_printf( "QTHintTrack::GetPacket hintFlags %lx\n", (SInt32)hdrData.hintFlags ); } if ( hdrData.hintFlags & kRepeatPacketMask && (dropRepeatPackets)) @@ -1219,7 +1236,7 @@ QTTrack::ErrorCode QTHintTrack::GetPacket(UInt32 sampleNumber, UInt16 packetNumb - DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ..rtpTimestamp=%lu; rtpSequenceNumber=%u; transmitTime=%.2f\n", rtpTimestamp, hdrData.rtpSequenceNumber, *transmitTime)); + DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ..rtpTimestamp=%"_U32BITARG_"; rtpSequenceNumber=%u; transmitTime=%.2f\n", rtpTimestamp, hdrData.rtpSequenceNumber, *transmitTime)); // // We found this packet and the start of our data table. @@ -1243,7 +1260,7 @@ QTTrack::ErrorCode QTHintTrack::GetPacket(UInt32 sampleNumber, UInt16 packetNumb tempInt16 = hdrData.rtpHeaderBits | ntohs(0x8000) /* v2 RTP header */; COPY_WORD(pPacketOutBuf, &tempInt16); - //TEMP_PRINT_ONE( "QTHintTrack::GetPacket rtpHeaderBits %li.\n", (long)rtpHeaderBits ); + //TEMP_PRINT_ONE( "QTHintTrack::GetPacket rtpHeaderBits %li.\n", (SInt32)rtpHeaderBits ); pPacketOutBuf += 2; tempInt16 = htons(hdrData.rtpSequenceNumber); @@ -1338,7 +1355,7 @@ QTTrack::ErrorCode QTHintTrack::GetPacket(UInt32 sampleNumber, UInt16 packetNumb packetSize = endOfMetaInfo - buffer; DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ..Building packet.\n")); - TEMP_PRINT_TWO( "QTHintTrack::GetPacket Building packet %li ; hdrData.dataEntryCount %li .\n", (long)packetNumber ,(long)hdrData.dataEntryCount ); + TEMP_PRINT_TWO( "QTHintTrack::GetPacket Building packet %li ; hdrData.dataEntryCount %li .\n", (SInt32)packetNumber ,(SInt32)hdrData.dataEntryCount ); for( curEntry = 0; curEntry < hdrData.dataEntryCount; curEntry++ ) { @@ -1412,7 +1429,7 @@ QTTrack::ErrorCode QTHintTrack::GetPacket(UInt32 sampleNumber, UInt16 packetNumb pSampleBuffer += 16; } - DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ..Packet length is %lu bytes.\n", packetSize)); + DEEP_DEBUG_PRINT(("QTHintTrack::GetPacket - ..Packet length is %"_U32BITARG_" bytes.\n", packetSize)); *length = packetSize; diff --git a/QTFileLib/QTHintTrack.h b/QTFileLib/QTHintTrack.h index 442f8d8..14161f5 100644 --- a/QTFileLib/QTHintTrack.h +++ b/QTFileLib/QTHintTrack.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -148,6 +148,7 @@ class QTHintTrack : public QTTrack { inline UInt64 GetTotalRTPPackets(void) { return fHintInfoAtom ? fHintInfoAtom->GetTotalRTPPackets() : 0; } inline UInt32 GetFirstRTPTimestamp(void) { return fFirstRTPTimestamp; } + inline void SetAllowInvalidHintRefs(Bool16 inAllowInvalidHintRefs) { fAllowInvalidHintRefs = inAllowInvalidHintRefs; } // // Sample functions @@ -227,6 +228,8 @@ class QTHintTrack : public QTTrack { UInt16 fSequenceNumberRandomOffset; Bool16 fHintTrackInitialized; SInt16 fHintType; + Float64 fFirstTransmitTime; + Bool16 fAllowInvalidHintRefs; // // Used by GetPacket for RTP-Meta-Info payload stuff void WriteMetaInfoField( RTPMetaInfoPacket::FieldIndex inFieldIndex, diff --git a/QTFileLib/QTRTPFile.cpp b/QTFileLib/QTRTPFile.cpp index 794dea2..ec6ee95 100644 --- a/QTFileLib/QTRTPFile.cpp +++ b/QTFileLib/QTRTPFile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -677,7 +677,7 @@ char* QTRTPFile::GetMoviePath() QTRTPFile::ErrorCode QTRTPFile::AddTrack(UInt32 trackID, Bool16 useRandomOffset) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; // @@ -689,6 +689,7 @@ QTRTPFile::ErrorCode QTRTPFile::AddTrack(UInt32 trackID, Bool16 useRandomOffset) OSMutexLocker locker(fFile->GetMutex()); // // Initialize this track. + trackEntry->HintTrack->SetAllowInvalidHintRefs(fAllowInvalidHintRefs); if( trackEntry->HintTrack->Initialize() != QTTrack::errNoError ) return fErr = errInternalError; } @@ -724,7 +725,7 @@ QTRTPFile::ErrorCode QTRTPFile::AddTrack(UInt32 trackID, Bool16 useRandomOffset) Float64 QTRTPFile::GetTrackDuration(UInt32 trackID) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; // @@ -740,7 +741,7 @@ Float64 QTRTPFile::GetTrackDuration(UInt32 trackID) UInt32 QTRTPFile::GetTrackTimeScale(UInt32 trackID) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; // @@ -756,7 +757,7 @@ UInt32 QTRTPFile::GetTrackTimeScale(UInt32 trackID) void QTRTPFile::SetTrackSSRC(UInt32 trackID, UInt32 SSRC) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; // @@ -772,7 +773,7 @@ void QTRTPFile::SetTrackSSRC(UInt32 trackID, UInt32 SSRC) void QTRTPFile::SetTrackCookies(UInt32 TrackID, void * Cookie1, UInt32 Cookie2) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; // @@ -788,6 +789,11 @@ void QTRTPFile::SetTrackCookies(UInt32 TrackID, void * Cookie1, UInt32 Cookie2) void QTRTPFile::SetTrackQualityLevel(RTPTrackListEntry* inEntry, UInt32 inNewQualityLevel) { + if (inNewQualityLevel < kAllPackets) + inNewQualityLevel = kAllPackets; + if (inNewQualityLevel > kKeyFramesPlusOneP) + inNewQualityLevel = kKeyFramesPlusOneP; + if (inNewQualityLevel != inEntry->QualityLevel) { inEntry->QualityLevel = inNewQualityLevel; @@ -796,13 +802,15 @@ void QTRTPFile::SetTrackQualityLevel(RTPTrackListEntry* inEntry, UInt32 inNewQua inEntry->TargetPercentage = 75; else if (inEntry->QualityLevel == k50PercentPFrames) inEntry->TargetPercentage = 50; + else if (inEntry->QualityLevel == k25PercentPFrames) + inEntry->TargetPercentage = 25; } } void QTRTPFile::SetTrackRTPMetaInfo(UInt32 TrackID, RTPMetaInfoPacket::FieldID* inFieldArray, Bool16 isVideo) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; // @@ -879,7 +887,7 @@ QTRTPFile::ErrorCode QTRTPFile::Seek(Float64 seekToTime, Float64 maxBackupTime) { //fHasRTPMetaInfoFieldArray = true; // General vars - RTPTrackListEntry *listEntry; + RTPTrackListEntry *listEntry = NULL; Float64 syncToTime = seekToTime; if (fErr == errCallAgain) @@ -1154,33 +1162,49 @@ QTRTPFile::ErrorCode QTRTPFile::ScanToCorrectPacketNumber(UInt32 inTrackID, U UInt32 QTRTPFile::GetSeekTimestamp(UInt32 trackID) { // General vars - RTPTrackListEntry *trackEntry; - UInt32 rtpTimestamp = 0; + RTPTrackListEntry *trackEntry = NULL; + UInt32 mediaTime; + UInt32 rtpTimestamp; UInt32* timeStampP; - DEEP_DEBUG_PRINT(("Calculating RTP timestamp for track #%lu at time %.2f.\n", trackID, fRequestedSeekTime)); + + DEEP_DEBUG_PRINT(("Calculating RTP timestamp for track #%"_U32BITARG_" at time %.2f.\n", trackID, fRequestedSeekTime)); // // Find this track. if( !FindTrackEntry(trackID, &trackEntry) ) return 0; - - if (trackEntry->CurPacket) // we have the packet + + if (trackEntry->CurPacket) // we have the packet { timeStampP = (UInt32 *)((char *)trackEntry->CurPacket + 4); rtpTimestamp = ntohl(*timeStampP); } - + else + { + // + // Calculate the timestamp at this seek time. + mediaTime = (UInt32)(fRequestedSeekTime * trackEntry->HintTrack->GetTimeScale()); + if( trackEntry->HintTrack->GetRTPTimescale() == trackEntry->HintTrack->GetTimeScale() ) + rtpTimestamp = mediaTime; + else + rtpTimestamp = (UInt32)(mediaTime * (trackEntry->HintTrack->GetRTPTimescale() * trackEntry->HintTrack->GetTimeScaleRecip()) ); + + // + // Add the appropriate offsets. + rtpTimestamp += trackEntry->BaseTimestampRandomOffset + trackEntry->FileTimestampRandomOffset; + } + // // Return the RTP timestamp. - DEEP_DEBUG_PRINT(("..timestamp=%lu\n", rtpTimestamp)); + DEEP_DEBUG_PRINT(("..timestamp=%"_U32BITARG_"\n", rtpTimestamp)); return rtpTimestamp; } Float64 QTRTPFile::GetFirstPacketTransmitTime() { - RTPTrackListEntry *listEntry; + RTPTrackListEntry *listEntry = NULL; Bool16 haveFirstPacketTime = false; Float64 firstPacketTime = 0; @@ -1207,7 +1231,7 @@ Float64 QTRTPFile::GetFirstPacketTransmitTime() UInt16 QTRTPFile::GetNextTrackSequenceNumber(UInt32 trackID) { // General vars - RTPTrackListEntry *trackEntry; + RTPTrackListEntry *trackEntry = NULL; UInt16 rtpSequenceNumber; @@ -1226,7 +1250,7 @@ UInt16 QTRTPFile::GetNextTrackSequenceNumber(UInt32 trackID) Float64 QTRTPFile::GetNextPacket(char ** outPacket, int * outPacketLength) { // General vars - RTPTrackListEntry *listEntry; + RTPTrackListEntry *listEntry = NULL; Bool16 haveFirstPacketTime = false; Float64 firstPacketTime = 0.0; @@ -1374,7 +1398,7 @@ Bool16 QTRTPFile::PrefetchNextPacket(RTPTrackListEntry * trackEntry, Bool16 doSe // If we're only reading sync samples, then we need to find the next // one to send out, otherwise just increment the sample number and // move on. - if( trackEntry->QualityLevel >= kKeyFramesOnly ) + if( trackEntry->QualityLevel == kKeyFramesOnly ) { trackEntry->HintTrack->GetNextSyncSample(trackEntry->CurSampleNumber, &trackEntry->NextSyncSampleNumber); if (!fHasRTPMetaInfoFieldArray && !fWasLastSeekASeekToPacketNumber) @@ -1398,7 +1422,7 @@ Bool16 QTRTPFile::PrefetchNextPacket(RTPTrackListEntry * trackEntry, Bool16 doSe skipThisSample = false; } } - else if (trackEntry->QualityLevel >= k75PercentPFrames) + else if (trackEntry->QualityLevel >= k75PercentPFrames) { // // If we are skipping a certain % of p-frames, figure out @@ -1422,11 +1446,22 @@ Bool16 QTRTPFile::PrefetchNextPacket(RTPTrackListEntry * trackEntry, Bool16 doSe if (trackEntry->CurSampleNumber > trackEntry->LastSyncSampleNumber) { Assert(trackEntry->NextSyncSampleNumber != trackEntry->LastSyncSampleNumber); + UInt32 percentageIn = (trackEntry->CurSampleNumber - trackEntry->LastSyncSampleNumber) * 100 / (trackEntry->NextSyncSampleNumber - trackEntry->LastSyncSampleNumber); - - if (percentageIn > trackEntry->TargetPercentage) - skipThisSample = true; + + if (trackEntry->QualityLevel == kKeyFramesPlusOneP) + skipThisSample = trackEntry->CurSampleNumber - trackEntry->LastSyncSampleNumber > 1; + else if (percentageIn > trackEntry->TargetPercentage) + skipThisSample = true; + /* + if (trackEntry->QualityLevel == k50PercentPFrames) + skipThisSample = trackEntry->CurSampleNumber % 2 == 0; + else if (trackEntry->QualityLevel == k75PercentPFrames) + skipThisSample = trackEntry->CurSampleNumber % 4 == 0; + else if (trackEntry->QualityLevel == k25PercentPFrames) + skipThisSample = trackEntry->CurSampleNumber % 4 != 0; + */ } } } @@ -1474,7 +1509,7 @@ Bool16 QTRTPFile::PrefetchNextPacket(RTPTrackListEntry * trackEntry, Bool16 doSe #if QT_PROFILE packetTimer.Stop(); qtss_printf( "GetPacket sample time %li NumPackets: %li Packet fetched %li. len: %li\n", - (long)packetTimer.Duration(), (long)trackEntry->NumPacketsInThisSample, (long)trackEntry->CurPacketNumber, (long)trackEntry->CurPacketLength ); + (SInt32)packetTimer.Duration(), (SInt32)trackEntry->NumPacketsInThisSample, (SInt32)trackEntry->CurPacketNumber, (SInt32)trackEntry->CurPacketLength ); #endif // diff --git a/QTFileLib/QTRTPFile.h b/QTFileLib/QTRTPFile.h index ff88000..189a97f 100644 --- a/QTFileLib/QTRTPFile.h +++ b/QTFileLib/QTRTPFile.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -22,7 +22,7 @@ * @APPLE_LICENSE_HEADER_END@ * */ -// $Id: QTRTPFile.h,v 1.23 2003/08/15 23:53:14 sbasu Exp $ +// $Id: QTRTPFile.h,v 1.1 2006/01/05 13:20:36 murata Exp $ // // QTRTPFile: // An interface to QTFile for TimeShare. @@ -187,7 +187,7 @@ class QTRTPFile { void SetTrackSSRC(UInt32 TrackID, UInt32 SSRC); void SetTrackCookies(UInt32 TrackID, void * Cookie1, UInt32 Cookie2); - + void SetAllowInvalidHintRefs(Bool16 inAllowInvalidHintRefs) { fAllowInvalidHintRefs = inAllowInvalidHintRefs; } // // If you want QTRTPFile to output an RTP-Meta-Info packet instead @@ -205,7 +205,9 @@ class QTRTPFile { kNoBFrames = 1, k75PercentPFrames = 2, k50PercentPFrames = 3, - kKeyFramesOnly = 4 + k25PercentPFrames = 4, + kKeyFramesOnly = 5, + kKeyFramesPlusOneP = 6 //Special quality level with Key frames followed by 1 P frame }; void SetTrackQualityLevel(RTPTrackListEntry* inEntry, UInt32 inNewLevel); @@ -272,6 +274,7 @@ class QTRTPFile { Bool16 fHasRTPMetaInfoFieldArray; Bool16 fWasLastSeekASeekToPacketNumber; Bool16 fDropRepeatPackets; + Bool16 fAllowInvalidHintRefs; ErrorCode fErr; static const RTPMetaInfoPacket::FieldID kMetaInfoFields[]; diff --git a/QTFileLib/QTTrack.cpp b/QTFileLib/QTTrack.cpp index f8182bb..4010328 100644 --- a/QTFileLib/QTTrack.cpp +++ b/QTFileLib/QTTrack.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -172,7 +172,7 @@ QTTrack::ErrorCode QTTrack::Initialize(void) // // Load in the edit list atom for this track. - DEEP_DEBUG_PRINT(("Searching track #%lu 'elst' atom.\n", GetTrackID())); + DEEP_DEBUG_PRINT(("Searching track #%"_U32BITARG_" 'elst' atom.\n", GetTrackID())); if( fFile->FindTOCEntry(":edts:elst", &tempTOCEntry, &fTOCEntry) ) { fEditListAtom = NEW QTAtom_elst(fFile, tempTOCEntry, fDebug, fDeepDebug); if( fEditListAtom == NULL ) @@ -299,11 +299,11 @@ Bool16 QTTrack::GetSampleInfo(UInt32 SampleNumber, UInt32 * const Length, UInt64 Assert(STCB != NULL); -// qtss_printf("GetSampleInfo QTTrack SampleNumber = %ld \n", SampleNumber); +// qtss_printf("GetSampleInfo QTTrack SampleNumber = %"_S32BITARG_" \n", SampleNumber); if (STCB->fGetSampleInfo_SampleNumber == SampleNumber && STCB->fGetSampleInfo_Length > 0) { -// qtss_printf("----- GetSampleInfo Cache Hit QTTrack SampleNumber = %ld \n", SampleNumber); +// qtss_printf("----- GetSampleInfo Cache Hit QTTrack SampleNumber = %"_S32BITARG_" \n", SampleNumber); if (Length) *Length = STCB->fGetSampleInfo_Length; if (Offset) *Offset = STCB->fGetSampleInfo_Offset; @@ -396,7 +396,7 @@ Bool16 QTTrack::GetSizeOfSamplesInChunk(UInt32 chunkNumber, UInt32 * const sizeP if (stcbPtr && stcbPtr->fGetSizeOfSamplesInChunk_chunkNumber == chunkNumber) { -// qtss_printf("QTTrack::GetSizeOfSamplesInChunk cache hit %ld \n", chunkNumber); +// qtss_printf("QTTrack::GetSizeOfSamplesInChunk cache hit %"_S32BITARG_" \n", chunkNumber); if (firstSampleNumPtr != NULL) *firstSampleNumPtr = stcbPtr->fGetSizeOfSamplesInChunk_firstSample; if (lastSampleNumPtr != NULL) *lastSampleNumPtr = stcbPtr->fGetSizeOfSamplesInChunk_lastSample; if (sizePtr != NULL) *sizePtr = stcbPtr->fGetSizeOfSamplesInChunk_size; diff --git a/QTFileLib/QTTrack.h b/QTFileLib/QTTrack.h index 2dd36fe..0cb3784 100644 --- a/QTFileLib/QTTrack.h +++ b/QTFileLib/QTTrack.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileTools/QTBroadcaster.tproj/QTBroadcaster.cpp b/QTFileTools/QTBroadcaster.tproj/QTBroadcaster.cpp index f41c0d3..2cd4bf4 100644 --- a/QTFileTools/QTBroadcaster.tproj/QTBroadcaster.cpp +++ b/QTFileTools/QTBroadcaster.tproj/QTBroadcaster.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -141,7 +141,7 @@ int main(int argc, char *argv[]) { exit(1); } - RTPFile->SetTrackCookies(atoi(*argv), (char *)CurPort, 0); + RTPFile->SetTrackCookies(atoi(*argv), NULL, (UInt32 )CurPort); CurPort += 2; (void)RTPFile->GetSeekTimestamp(atoi(*argv)); @@ -201,7 +201,10 @@ int main(int argc, char *argv[]) { // Send the packet. memset(&sin, 0, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; - sin.sin_port = htons( (int) RTPFile->GetLastPacketTrack()->Cookie1 ); + UInt32 value = RTPFile->GetLastPacketTrack()->Cookie2; + + in_port_t cookievalue = value; + sin.sin_port = htons( cookievalue ); sin.sin_addr.s_addr = inet_addr(IPAddress); sendto(s, Packet, PacketLength, 0, (struct sockaddr *)&sin, sizeof(struct sockaddr)); } diff --git a/QTFileTools/QTFileInfo.tproj/QTFileInfo.cpp b/QTFileTools/QTFileInfo.tproj/QTFileInfo.cpp index 76c87f5..05d1ffe 100644 --- a/QTFileTools/QTFileInfo.tproj/QTFileInfo.cpp +++ b/QTFileTools/QTFileInfo.tproj/QTFileInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -103,7 +103,7 @@ int main(int argc, char *argv[]) { // // Dump some info. - qtss_printf("-- Track #%02ld ---------------------------\n", Track->GetTrackID()); + qtss_printf("-- Track #%02"_S32BITARG_" ---------------------------\n", Track->GetTrackID()); qtss_printf(" Name : %s\n", Track->GetTrackName()); qtss_printf(" Created on : %s", qtss_asctime(qtss_gmtime(&unixCreationTime, &timeResult), buffer, sizeof(buffer) )); qtss_printf(" Modified on : %s", qtss_asctime(qtss_gmtime(&unixModificationTime, &timeResult), buffer, sizeof(buffer) )); diff --git a/QTFileTools/QTFileTest.tproj/QTFileTest.cpp b/QTFileTools/QTFileTest.tproj/QTFileTest.cpp index 3b7d8e3..f47d639 100644 --- a/QTFileTools/QTFileTest.tproj/QTFileTest.cpp +++ b/QTFileTools/QTFileTest.tproj/QTFileTest.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileTools/QTRTPFileTest.tproj/QTRTPFileTest.cpp b/QTFileTools/QTRTPFileTest.tproj/QTRTPFileTest.cpp index 404c94d..2da5883 100644 --- a/QTFileTools/QTRTPFileTest.tproj/QTRTPFileTest.cpp +++ b/QTFileTools/QTRTPFileTest.tproj/QTRTPFileTest.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -266,7 +266,7 @@ int main(int argc, char *argv[]) { // General vars char *Packet; int PacketLength; - //long Cookie; + //SInt32 Cookie; UInt32 RTPTimestamp; UInt16 RTPSequenceNumber; int maxHintPackets = 100; // cheat assume this many packets is good enough to assume entire file is the same at these packets @@ -299,7 +299,7 @@ int main(int argc, char *argv[]) { if (!hintOnly) if (!silent) - qtss_printf("TransmitTime = %.2f; SEQ = %u; TS = %lu\n", TransmitTime, RTPSequenceNumber, RTPTimestamp); + qtss_printf("TransmitTime = %.2f; SEQ = %u; TS = %"_U32BITARG_"\n", TransmitTime, RTPSequenceNumber, RTPTimestamp); if (trackCache) { @@ -330,7 +330,7 @@ int main(int argc, char *argv[]) { // Compute and display the Inter-packet delay. if( (!hintOnly) && NumberOfPackets > 0 ) { - qtss_printf("QTRTPFileTest: Total GetNextPacket durationTime = %lums packetCount= %lu\n",(UInt32)durationTime,(UInt32)packetCount); + qtss_printf("QTRTPFileTest: Total GetNextPacket durationTime = %"_U32BITARG_"ms packetCount= %"_U32BITARG_"\n",(UInt32)durationTime,(UInt32)packetCount); qtss_printf("QTRTPFileTest: Average Inter-packet delay: %"_64BITARG_"uus\n", (UInt64)((TotalInterpacketDelay / NumberOfPackets) * 1000 * 1000)); } diff --git a/QTFileTools/QTRTPGen.tproj/QTRTPGen.cpp b/QTFileTools/QTRTPGen.tproj/QTRTPGen.cpp index 7e8a9b9..a3c73cf 100644 --- a/QTFileTools/QTRTPGen.tproj/QTRTPGen.cpp +++ b/QTFileTools/QTRTPGen.tproj/QTRTPGen.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -123,7 +123,7 @@ int main(int argc, char *argv[]) { char buffer[kTimeStrSize]; struct tm timeResult; - qtss_printf("-- Track #%02ld ---------------------------\n", HintTrack->GetTrackID()); + qtss_printf("-- Track #%02"_S32BITARG_" ---------------------------\n", HintTrack->GetTrackID()); qtss_printf(" Name : %s\n", HintTrack->GetTrackName()); qtss_printf(" Created on : %s", qtss_asctime(qtss_gmtime(&unixCreationTime, &timeResult),buffer, sizeof(buffer))); qtss_printf(" Modified on : %s", qtss_asctime(qtss_gmtime(&unixModificationTime, &timeResult),buffer, sizeof(buffer))); @@ -176,7 +176,7 @@ int main(int argc, char *argv[]) { while( HintTrack->GetNumPackets(curSample, &NumPackets) == QTTrack::errNoError ) { // // Generate all of the packets. - qtss_printf("Generating %u packet(s) in sample #%lu..\n", NumPackets, curSample); + qtss_printf("Generating %u packet(s) in sample #%"_U32BITARG_"..\n", NumPackets, curSample); for( UInt16 curPacket = 1; curPacket <= NumPackets; curPacket++ ) { // General vars #define MAX_PACKET_LEN 2048 diff --git a/QTFileTools/QTSDPGen.tproj/QTSDPGen.cpp b/QTFileTools/QTSDPGen.tproj/QTSDPGen.cpp index eea580d..74930f9 100644 --- a/QTFileTools/QTSDPGen.tproj/QTSDPGen.cpp +++ b/QTFileTools/QTSDPGen.tproj/QTSDPGen.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileTools/QTSampleLister.tproj/QTSampleLister.cpp b/QTFileTools/QTSampleLister.tproj/QTSampleLister.cpp index 673493d..7f6f311 100644 --- a/QTFileTools/QTSampleLister.tproj/QTSampleLister.cpp +++ b/QTFileTools/QTSampleLister.tproj/QTSampleLister.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -115,7 +115,7 @@ int main(int argc, char *argv[]) { char buffer[kTimeStrSize]; struct tm timeResult; - qtss_printf("-- Track #%02ld ---------------------------\n", Track->GetTrackID()); + qtss_printf("-- Track #%02"_S32BITARG_" ---------------------------\n", Track->GetTrackID()); qtss_printf(" Name : %s\n", Track->GetTrackName()); qtss_printf(" Created on : %s", qtss_asctime(qtss_gmtime(&unixCreationTime, &timeResult),buffer, sizeof(buffer))); qtss_printf(" Modified on : %s", qtss_asctime(qtss_gmtime(&unixModificationTime, &timeResult),buffer, sizeof(buffer))); @@ -143,9 +143,9 @@ int main(int argc, char *argv[]) { // // Dump out the sample. if( DumpHTML ) - qtss_printf("%010"_64BITARG_"u: track=%02lu; size=%lu
\n",Offset, Track->GetTrackID(), Size); + qtss_printf("%010"_64BITARG_"u: track=%02"_U32BITARG_"; size=%"_U32BITARG_"
\n",Offset, Track->GetTrackID(), Size); else - qtss_printf("%8lu - %10lu %10"_64BITARG_"u %10lu\n", curSample, MediaTime, Offset, Size); + qtss_printf("%8"_U32BITARG_" - %10"_U32BITARG_" %10"_64BITARG_"u %10"_U32BITARG_"\n", curSample, MediaTime, Offset, Size); // Next sample. diff --git a/QTFileTools/QTTrackInfo.tproj/QTTrackInfo.cpp b/QTFileTools/QTTrackInfo.tproj/QTTrackInfo.cpp index 587c1d7..4c2a96e 100644 --- a/QTFileTools/QTTrackInfo.tproj/QTTrackInfo.cpp +++ b/QTFileTools/QTTrackInfo.tproj/QTTrackInfo.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) { char buffer[kTimeStrSize]; struct tm timeResult; - qtss_printf("-- Track #%02ld ---------------------------\n", Track->GetTrackID()); + qtss_printf("-- Track #%02"_S32BITARG_" ---------------------------\n", Track->GetTrackID()); qtss_printf(" Name : %s\n", Track->GetTrackName()); qtss_printf(" Created on : %s", qtss_asctime(qtss_gmtime(&unixCreationTime, &timeResult),buffer, sizeof(buffer))); qtss_printf(" Modified on : %s", qtss_asctime(qtss_gmtime(&unixModificationTime, &timeResult),buffer, sizeof(buffer))); diff --git a/QTFileTools/RTPFileGen.tproj/RTPFileDefs.h b/QTFileTools/RTPFileGen.tproj/RTPFileDefs.h index ec86f5c..1e10efe 100644 --- a/QTFileTools/RTPFileGen.tproj/RTPFileDefs.h +++ b/QTFileTools/RTPFileGen.tproj/RTPFileDefs.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/QTFileTools/RTPFileGen.tproj/RTPFileGen.cpp b/QTFileTools/RTPFileGen.tproj/RTPFileGen.cpp index 7177f0d..3ce2bc4 100644 --- a/QTFileTools/RTPFileGen.tproj/RTPFileGen.cpp +++ b/QTFileTools/RTPFileGen.tproj/RTPFileGen.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -123,7 +123,7 @@ int main(int argc, char *argv[]) (void)theFile.AddTrack(curTrack->TrackID); // Make the cookie be the track ID, so we know what the track ID is when // we are retreiving packets - theFile.SetTrackCookies(curTrack->TrackID, (void*)curTrack->TrackID, 0); + theFile.SetTrackCookies(curTrack->TrackID, (void*) NULL, curTrack->TrackID); curTrack = curTrack->NextTrack; } @@ -245,7 +245,7 @@ UInt8* WriteTempFile(QTRTPFile* inQTRTPFile, int inTempFile, UInt32* outNumBlock break; thePacketHeader.fPacketLength = thePacketLength; - thePacketHeader.fTrackID = (UInt32)inQTRTPFile->GetLastPacketTrack()->Cookie1; + thePacketHeader.fTrackID = inQTRTPFile->GetLastPacketTrack()->Cookie2; // Make sure there is enough room in the current block for this // packet plus a header for the next packet. If not, move onto the next block @@ -316,7 +316,7 @@ UInt8* WriteTempFile(QTRTPFile* inQTRTPFile, int inTempFile, UInt32* outNumBlock offsetInBlock += thePacketLength + sizeof(thePacketHeader); } - qtss_printf("Finished writing packets. Wrote %lu packets to temp file.\n", theNumPackets); + qtss_printf("Finished writing packets. Wrote %"_U32BITARG_" packets to temp file.\n", theNumPackets); *outNumBlocks = curBlockMapIndex-1; return theBlockMap; } diff --git a/RTCPUtilitiesLib/IncomingRTCPSRPacket.h b/RTCPUtilitiesLib/IncomingRTCPSRPacket.h deleted file mode 100644 index e69de29..0000000 diff --git a/RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp b/RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp new file mode 100644 index 0000000..b178eb6 --- /dev/null +++ b/RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp @@ -0,0 +1,657 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPAPPNADUPacket.cpp + + Contains: RTCPAPPNADUPacket de-packetizing classes + + +*/ + + +#include "RTCPAPPNADUPacket.h" +#include "MyAssert.h" +#include "OS.h" +#include "OSMemory.h" +#include "StrPtrLen.h" + + + + + +/* RTCPNaduPacket +data: One or more of the following data format blocks may appear + +0 1 2 3 +0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +|V=2|P| subtype | PT=APP=204 | length | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| SSRC/CSRC | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| name (ASCII) | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-------- data block +| SSRC | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Playout Delay | NSN | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Reserved | NUN | Free Buffer Space (FBS) | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +*/ +char RTCPNaduPacket::sRTCPTestBuffer[]; + + +RTCPNaduPacket::RTCPNaduPacket(Bool16 debug = false): + RTCPAPPPacket(debug), + fNaduDataBuffer(NULL), + fNumBlocks(0) +{ +} + +void RTCPNaduPacket::GetTestPacket(StrPtrLen* resultPtr) +{ +/* +Compound test packet + +lengths are 32 bit words, include header, are minus 1 + +0 1 2 3 +0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +|V=2|P| RC | PT=RR=201 | length | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +|V=2|P| subtype | PT=SDES=202 | length | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +|V=2|P| subtype | PT=APP=204 | length | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| SSRC/CSRC | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| name (ASCII) | PSS0 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----app specific data PSS0 +| SSRC | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Playout Delay | NSN | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Reserved | NUN | Free Buffer Space (FBS) | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ----app data may repeat + + + +// rtcp common header + typedef struct { + unsigned int version:2; // protocol version + unsigned int p:1; // padding flag + unsigned int count:5; // varies by packet type + unsigned int pt:8; // RTCP packet type + u_int16 length; // pkt len in words, w/o this word can be 0 + } rtcp_common_t; + + // rtcp compound packet starts with rtcp rr header + // rr data may be empty or not + // nadu app header follows rr header and data if any + + ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +*/ + +#if 1 //full receiver report with SDES and Nadu + UInt32 *theWriterStart = (UInt32*)sRTCPTestBuffer; + UInt32 *theWriter = (UInt32*)sRTCPTestBuffer; + + *(theWriter++) = htonl(0x81c90007); // 1 RR packet header, full report + *(theWriter++) = htonl(0x2935F2D6); // 1 Sender SSRC = 691401430 + *(theWriter++) = htonl(0x6078CE22); // 1 SSRC_1 = 1618529826 + *(theWriter++) = htonl(0x01000001); // fraction lost | cumulative num packets lost 1% , 1 packet + *(theWriter++) = htonl(0x0000361A); // extended highest seq number received = 13850 + *(theWriter++) = htonl(0x00C7ED4D); // interarrival jitter = 13102413 + *(theWriter++) = htonl(0x00000000); // LSR last sender report = 0 + *(theWriter++) = htonl(0x04625238); // Delay since last SR (DLSR) = 73552440 (garbage) + + *(theWriter++) = htonl(0x81ca0005); // 1 SDES packet header, + *(theWriter++) = htonl(0x2935F2D6); // 1 Sender SSRC = 691401430 + *(theWriter++) = htonl(0x010A5344); // 1 CNAME = 01, len=10, "SD" + *(theWriter++) = htonl(0x45532043); // 1 CNAME = "ES C" + *(theWriter++) = htonl(0x4e414d45); // 1 CNAME = "NAME" + *(theWriter++) = htonl(0x00000000); // NULL item = end of list + 32bit padding + + + + *(theWriter++) = htonl(0x80CC0000); // 1 APP packet header, needs len -> assigned beow + + UInt32 *appPacketLenStart = theWriter; + + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('S', 'S', 'R', 'C')); //nadu ssrc + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('P', 'S', 'S', '0')); //nadu app packet name + + // first (typically only) ssrc block + *(theWriter++) = htonl(0x423A35C7); //ssrc = 1111111111 + *(theWriter++) = htonl(0x2B6756CE); //delay | nsn = 11111 | 22222 + *(theWriter++) = htonl(0xFFFFAD9C); //nun | fbs= 31 | 44444 + + // optional 2nd or more ssrc blocks + *(theWriter++) = htonl(0x84746B8E); //ssrc = 222222222 + *(theWriter++) = htonl(0x2B6756CE); //delay | nsn = 11111 | 22222 + *(theWriter++) = htonl(0xFFFFAD9C); //nun | fbs= 31 | 44444 + + UInt16 *packetLenOffsetPtr = &( (UInt16*)theWriterStart)[29]; + UInt16 packetLenInWords = htons( ((UInt32*)theWriter - (UInt32*)appPacketLenStart) ) ; + + *packetLenOffsetPtr = packetLenInWords; + qtss_printf("packetLenInWords =%lu\n", ntohs(packetLenInWords)); + UInt32 len = (char*)theWriter - (char*)theWriterStart; + if (resultPtr) + resultPtr->Set(sRTCPTestBuffer, len); + +#endif + +#if 0 //full receiver report with Nadu + UInt32 *theWriterStart = (UInt32*)sRTCPTestBuffer; + UInt32 *theWriter = (UInt32*)sRTCPTestBuffer; + + *(theWriter++) = htonl(0x80c90007); // 1 RR packet header, empty len is ok but could be a full report + *(theWriter++) = htonl(0x2935F2D6); // 1 SSRC = 691401430 + *(theWriter++) = htonl(0x6078CE22); // 1 SSRC_1 = 1618529826 + *(theWriter++) = htonl(0x01000001); // fraction lost | cumulative num packets lost 1% , 1 packet + *(theWriter++) = htonl(0x0000361A); // extended highest seq number received = 13850 + *(theWriter++) = htonl(0x00C7ED4D); // interarrival jitter = 13102413 + *(theWriter++) = htonl(0x00000000); // LSR last sender report = 0 + *(theWriter++) = htonl(0x04625238); // Delay since last SR (DLSR) = 73552440 (garbage) + + + + *(theWriter++) = htonl(0x80CC0000); // 1 APP packet header, needs len -> assigned beow + + UInt32 *appPacketLenStart = theWriter; + + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('S', 'S', 'R', 'C')); //nadu ssrc + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('P', 'S', 'S', '0')); //nadu app packet name + + // first (typically only) ssrc block + *(theWriter++) = htonl(0x423A35C7); //ssrc = 1111111111 + *(theWriter++) = htonl(0x2B6756CE); //delay | nsn = 11111 | 22222 + *(theWriter++) = htonl(0xFFFFAD9C); //nun | fbs= 31 | 44444 + + // optional 2nd or more ssrc blocks + *(theWriter++) = htonl(0x84746B8E); //ssrc = 222222222 + *(theWriter++) = htonl(0x2B6756CE); //delay | nsn = 11111 | 22222 + *(theWriter++) = htonl(0xFFFFAD9C); //nun | fbs= 31 | 44444 + + UInt16 *packetLenOffsetPtr = &( (UInt16*)theWriterStart)[17]; + UInt16 packetLenInWords = htons( (UInt32*)theWriter - (UInt32*)appPacketLenStart) ; + + *packetLenOffsetPtr = packetLenInWords; + + UInt32 len = (char*)theWriter - (char*)theWriterStart; + if (resultPtr) + resultPtr->Set(sRTCPTestBuffer, len); + +#endif + +#if 0 //empty receiver report with NADU + UInt32 *theWriterStart = (UInt32*)sRTCPTestBuffer; + UInt32 *theWriter = (UInt32*)sRTCPTestBuffer; + + *(theWriter++) = htonl(0x80c90000); // 1 RR packet header, empty len is ok but could be a full report + + *(theWriter++) = htonl(0x80CC0000); // 1 APP packet header, needs len -> assigned beow + + UInt32 *appPacketLenStart = theWriter; + + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('S', 'S', 'R', 'C')); //nadu ssrc + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('P', 'S', 'S', '0')); //nadu app packet name + + // first (typically only) ssrc block + *(theWriter++) = htonl(0x423A35C7); //ssrc = 1111111111 + *(theWriter++) = htonl(0x2B6756CE); //delay | nsn = 11111 | 22222 + *(theWriter++) = htonl(0xFFFFAD9C); //nun | fbs= 31 | 44444 + + // optional 2nd or more ssrc blocks + *(theWriter++) = htonl(0x84746B8E); //ssrc = 222222222 + *(theWriter++) = htonl(0x2B6756CE); //delay | nsn = 11111 | 22222 + *(theWriter++) = htonl(0xFFFFAD9C); //nun | fbs= 31 | 44444 + + UInt16 *packetLenOffsetPtr = &( (UInt16*)theWriterStart)[3]; + UInt16 packetLenInWords = htons( (UInt32*)theWriter - (UInt32*)appPacketLenStart) ; + + *packetLenOffsetPtr = packetLenInWords; + + UInt32 len = (char*)theWriter - (char*)theWriterStart; + if (resultPtr) + resultPtr->Set(sRTCPTestBuffer, len); +#endif + +/* + +sample run of the test packet below: +---------------------------------------- +RTPStream::TestRTCPPackets received packet inPacketPtr.Ptr=0xf0080568 inPacketPtr.len =20 +testing RTCPNaduPacket using packet inPacketPtr.Ptr=0xe2c38 inPacketPtr.len =40 +>recv sess=1: RTCP RR recv_sec=6.812 type=video size=40 H_vers=2, H_pad=0, H_rprt_count=0, H_type=201, H_length=0, H_ssrc=-2134114296 +>recv sess=1: RTCP APP recv_sec=6.813 type=video size=36 H_vers=2, H_pad=0, H_rprt_count=0, H_type=204, H_length=8, H_ssrc=1397969475 + +NADU Packet + Block Index = 0 (h_ssrc = 1111111111, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) + Block Index = 1 (h_ssrc = 2222222222, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) + +Dumping Nadu List (list size = 3 record count=48) +------------------------------------------------------------- +NADU Record: list_index = 2 list_recordID = 48 + Block Index = 0 (h_ssrc = 1111111111, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) + Block Index = 1 (h_ssrc = 2222222222, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) +NADU Record: list_index = 1 list_recordID = 47 + Block Index = 0 (h_ssrc = 1111111111, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) + Block Index = 1 (h_ssrc = 2222222222, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) +NADU Record: list_index = 0 list_recordID = 46 + Block Index = 0 (h_ssrc = 1111111111, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) + Block Index = 1 (h_ssrc = 2222222222, h_playoutdelay = 11111, h_sequence_num = 22222, h_nun_unit_num = 31, h_fbs_free_buf = 44444) + + +*/ + +} + + + +// use if you don't know what kind of packet this is +Bool16 RTCPNaduPacket::ParseNaduPacket(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + + if (!this->ParseAPPPacket(inPacketBuffer, inPacketLength)) + return false; + + if (this->GetAppPacketName() != RTCPNaduPacket::kNaduPacketName) + return false; + + return true; +} + + +Bool16 RTCPNaduPacket::ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + + if (!this->ParseNaduPacket(inPacketBuffer, inPacketLength) ) + return false; + + UInt32 *naduDataBuffer = (UInt32 *) (this->GetPacketBuffer()+kNaduDataOffset); + + int wordsLen = this->GetPacketLength() - 2; + if (wordsLen < 3) // min is 3 + return false; + + if (0 !=(wordsLen % 3))// blocks are 3x32bits so there is a bad block somewhere. + return false; + + fNumBlocks = wordsLen / 3; + + if (0 == fNumBlocks) + return false; + + if (fNumBlocks > 100) // too many + return false; + + fNaduDataBuffer = naduDataBuffer; + + if (0) //testing + this->DumpNaduPacket(); + + return true; + + } + +void RTCPNaduPacket::DumpNaduPacket() +{ + char printName[5]; + (void) this->GetAppPacketName(printName, sizeof(printName)); + qtss_printf(" H_app_packet_name = %s, ", printName ); + + qtss_printf("\n"); + SInt32 count = 0; + for (; count < fNumBlocks ; count ++) + { + + UInt32 ssrc = this->GetSSRC(count); + UInt32 ssrcIndex = this->GetSSRCBlockIndex(ssrc); + UInt16 playoutDelay = this->GetPlayOutDelay(count); + UInt16 nsn = this->GetNSN(count); + UInt16 nun = this->GetNUN(count); + UInt16 fbs = this->GetFBS(count); + qtss_printf(" "); + qtss_printf("RTCP APP NADU Report[%"_U32BITARG_"] ", ssrcIndex); + qtss_printf("h_ssrc = %"_U32BITARG_, ssrc); + qtss_printf(", h_playoutdelay = %u", playoutDelay); + qtss_printf(", h_sequence_num = %u", nsn); + qtss_printf(", h_nun_unit_num = %u", nun); + qtss_printf(", h_fbs_free_buf = %u", fbs); + + qtss_printf("\n"); + } + } + + + + +SInt32 RTCPNaduPacket::GetSSRCBlockIndex(UInt32 inSSRC) +{ + UInt32 *blockBuffer = NULL; + SInt32 count = 0; + UInt32 ssrc = 0; + + if (NULL == fNaduDataBuffer) + return -1; + + for (; count < fNumBlocks ; count ++) + { + blockBuffer = fNaduDataBuffer + (count * 3); + ssrc = (UInt32) ntohl(*(UInt32*)&blockBuffer[kOffsetNaduSSRC]); + + if (ssrc == inSSRC) + return count; + + } + + return -1; +} + +UInt32 RTCPNaduPacket::GetSSRC(SInt32 index) +{ + + if (index < 0) + return 0; + + if (NULL == fNaduDataBuffer) + return 0; + + if (index >= fNumBlocks) + return 0; + + UInt32 *blockBufferPtr = fNaduDataBuffer + (index * 3); + UInt32 ssrc = (UInt32) ntohl(*(UInt32*)&blockBufferPtr[kOffsetNaduSSRC]); + + return ssrc; + +} + +UInt16 RTCPNaduPacket::GetPlayOutDelay(SInt32 index) +{ + if (index < 0) + return 0; + + if (NULL == fNaduDataBuffer) + return 0; + + if (index >= fNumBlocks) + return 0; + + UInt32 *blockBufferPtr = fNaduDataBuffer + (index * 3); + UInt16 delay = (UInt16) ( ( ntohl(*(UInt32*)&blockBufferPtr[kOffsetNaduPlayoutDelay]) & kPlayoutMask) >> 16); + + return delay; +} + +UInt16 RTCPNaduPacket::GetNSN(SInt32 index) +{ + if (index < 0) + return 0; + + if (NULL == fNaduDataBuffer) + return 0; + + if (index >= fNumBlocks) + return 0; + + UInt32 *blockBufferPtr = fNaduDataBuffer + (index * 3); + UInt16 nsn = (UInt16) ( ntohl(blockBufferPtr[kOffsetNSN]) & kNSNMask ); + + return nsn; +} + +UInt16 RTCPNaduPacket::GetNUN(SInt32 index) +{ + if (index < 0) + return 0; + + if (NULL == fNaduDataBuffer) + return 0; + + if (index >= fNumBlocks) + return 0; + + UInt32 *blockBufferPtr = fNaduDataBuffer + (index * 3); + UInt16 nun = (UInt16) ((ntohl(blockBufferPtr[kOffsetNUN]) & kNUNMask) >> 16); + + return nun; +} + +UInt16 RTCPNaduPacket::GetFBS(SInt32 index) +{ + if (index < 0) + return 0; + + if (NULL == fNaduDataBuffer) + return 0; + + if (index >= fNumBlocks) + return 0; + + UInt32 *blockBufferPtr = fNaduDataBuffer + (index * 3); + UInt16 fbs = (UInt16) ntohl(blockBufferPtr[kOffsetFBS]) & kFBSMask; + + return fbs; +} + +void RTCPNaduPacket::Dump() +{ + this->DumpNaduPacket(); + +} + +/* class NaduReport */ +NaduReport::NaduReport(UInt8* inPacketBuffer, UInt32 inPacketLength, UInt32 id) +{ + fPacketBuffer = NEW UInt8[inPacketLength+1]; + fPacketBuffer[inPacketLength] = 0; + fLength = inPacketLength; + ::memcpy(fPacketBuffer, inPacketBuffer, inPacketLength); + fNaduPacket.ParseAPPData(fPacketBuffer, inPacketLength); + fid = id; +} + + + +/* class NaduList */ + +void NaduList::Initialize(UInt32 listSize) +{ + + fNaduReportList = NEW NaduReport *[listSize]; + ::memset( (void *) fNaduReportList, 0, sizeof(NaduReport*) * listSize); //initialize ptr array with 0. + fListSize = listSize; + +} + +NaduReport* NaduList::GetReport(UInt32 id) +{ + + if (NULL == fNaduReportList) + return NULL; + + + NaduReport *result = fNaduReportList[this->IDtoIndex(id)]; + if (result && result->getID() == id) + return result; + return NULL; + +} + +UInt32 NaduList::GetReportIndex(UInt32 id) +{ + + if (NULL == fNaduReportList) + return 0; + + UInt32 index = this->IDtoIndex(id); + NaduReport *result = fNaduReportList[index]; + if (result && result->getID() == id) + return index; + return 0; + +} + +NaduReport* NaduList::GetLastReport() +{ + if (NULL == fNaduReportList || fcurrentIndexCount == 0) + return NULL; + + UInt32 index = this->IDtoIndex(fcurrentIndexCount); + return fNaduReportList[index]; + +} + +NaduReport* NaduList::GetPreviousReport(NaduReport* theReport) +{ + if (NULL == theReport) + return NULL; + + return this->GetReport(theReport->getID() - 1); + +} + + +NaduReport* NaduList::GetNextReport(NaduReport* theReport) +{ + if (NULL == theReport) + return NULL; + + return this->GetReport(theReport->getID() + 1); + +} + +NaduReport* NaduList::GetEarliestReport() +{ + + if ( fcurrentIndexCount > fListSize) + return fNaduReportList[fcurrentIndexCount % fListSize]; + + return fNaduReportList[0]; +} + + +Bool16 NaduList::AddReport(UInt8* inPacketBuffer, UInt32 inPacketLength, UInt32 *outID) +{ + if (NULL == fNaduReportList) + return false; + + UInt32 resultID = ++fcurrentIndexCount; + UInt32 index =this->IDtoIndex(fcurrentIndexCount); + + if (fNaduReportList[index] != 0) + delete fNaduReportList[index]; + + fNaduReportList[index] = NEW NaduReport(inPacketBuffer,inPacketLength, resultID); + + if (outID) + *outID = resultID; + + return true; + +} + + + +UInt32 NaduList::LastReportedFreeBuffSizeBytes() +{ + NaduReport* currentReportPtr = this->GetLastReport(); + if (NULL == currentReportPtr) + return 0; + + RTCPNaduPacket *theNADUPacketData = currentReportPtr->GetNaduPacket(); + if (NULL == theNADUPacketData) + return 0; + + return ((UInt32) theNADUPacketData->GetFBS(0)) * 64; //64 byte blocks are in the report +} + +UInt32 NaduList::LastReportedTimeDelayMilli() +{ + NaduReport* currentReportPtr = this->GetLastReport(); + if (NULL == currentReportPtr) + return 0; + + RTCPNaduPacket *theNADUPacketData = currentReportPtr->GetNaduPacket(); + if (NULL == theNADUPacketData) + return 0; + + return theNADUPacketData->GetPlayOutDelay(0); +} + +UInt16 NaduList::GetLastReportedNSN() +{ + NaduReport* currentReportPtr = this->GetLastReport(); + if (NULL == currentReportPtr) + return 0; + + RTCPNaduPacket *theNADUPacketData = currentReportPtr->GetNaduPacket(); + if (NULL == theNADUPacketData) + return 0; + + return theNADUPacketData->GetNSN(0); +} + +void NaduList::DumpList() +{ + + qtss_printf("\nDumping Nadu List (list size = %"_U32BITARG_" record count=%"_U32BITARG_")\n",fListSize, fcurrentIndexCount); + qtss_printf("-------------------------------------------------------------\n"); + NaduReport* lastReportPtr = this->GetLastReport(); + NaduReport* earliestReportPtr = this->GetEarliestReport(); + UInt32 thisID = 0; + UInt32 stopID = 0; + if (earliestReportPtr) + stopID = earliestReportPtr->getID(); + + while (lastReportPtr) + { + thisID = lastReportPtr->getID(); + qtss_printf("NADU Record: list_index = %"_U32BITARG_" list_recordID = %"_U32BITARG_"\n", this->GetReportIndex(thisID), thisID); + lastReportPtr->GetNaduPacket()->Dump(); + if (thisID == stopID) + break; + + thisID --; + lastReportPtr = this->GetReport(thisID); + } + +} diff --git a/RTCPUtilitiesLib/RTCPAPPNADUPacket.h b/RTCPUtilitiesLib/RTCPAPPNADUPacket.h new file mode 100644 index 0000000..a629a44 --- /dev/null +++ b/RTCPUtilitiesLib/RTCPAPPNADUPacket.h @@ -0,0 +1,240 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPAPPNADUPacket.h + + Contains: RTCPAPPNADUPacket de-packetizing class + + + +*/ + +#ifndef _RTCPAPPNADUPACKET_H_ +#define _RTCPAPPNADUPACKET_H_ + +#include "RTCPAPPPacket.h" +#include "StrPtrLen.h" + + + + + + +class RTCPNaduPacket : public RTCPAPPPacket +{ +public: + + RTCPNaduPacket(Bool16 debug); + virtual ~RTCPNaduPacket() {} + + //Call this before any accessor method. Returns true if successful, false otherwise + virtual Bool16 ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength); + + // Call to parse if you don't know what kind of packet this is + Bool16 ParseNaduPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); + + UInt32 GetNumReportBlocks() { return fNumBlocks; }; + + SInt32 GetSSRCBlockIndex(UInt32 inSSRC); + + UInt32 GetSSRC(SInt32 index); + + UInt16 GetPlayOutDelay(SInt32 index); + + UInt16 GetNSN(SInt32 index); + + UInt16 GetNUN(SInt32 index); + + UInt16 GetFBS(SInt32 index); + + void DumpNaduPacket(); + + static void GetTestPacket(StrPtrLen* resultPtr); + virtual void Dump(); //Override + + enum + { + kNaduDataOffset = 12, + //32 bit word offsets + kOffsetNaduSSRC = 0, //SSRC for this report + kOffsetNaduPlayoutDelay = 1, + kOffsetNSN = 1, + kOffsetNUN = 2, + kOffsetFBS = 2, + + + kPlayoutMask = 0xFFFF0000UL, + kNSNMask = 0x0000FFFFUL, + kNUNMask = 0x001F0000UL, + kFBSMask = 0x0000FFFFUL, + kReservedPlayoutDelayValue = 0xFFFF, + kMaximumReportableFreeBufferSpace = (0xFFFF * 64) //the maximum amount of free buffer space reportable in bytes + }; + + enum //The 4 character name in the APP packet + { + kNaduPacketName = FOUR_CHARS_TO_INT('P', 'S', 'S', '0') //QTSS + }; + + enum + { + kSupportedNaduPacketVersion = 0 + }; + +private: + void ParseAndStore(); + UInt32* fNaduDataBuffer; + SInt32 fNumBlocks; + static char sRTCPTestBuffer[256]; + +}; + + + + +/* + +3GPP TS 26.234 V6.4.0 (2005-06) + +6.6 APP: Application-defined RTCP packet + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |V=2|P| subtype | PT=APP=204 | length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | SSRC/CSRC | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | name (ASCII) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | application-dependent data | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + +For rate adaptation the name and subtype fields must be set to the following values: + +name: The NADU APP data format is detected through the name "PSS0", i.e. 0x50535330 and the subtype. + +subtype: This field shall be set to 0 for the NADU format. + +length: The number of 32 bit words Ð1, as defined in RFC 3550 [9]. This means that the field will be 2+3*N, where N is the number of sources reported on. The length field will typically be 5, i.e. 24 bytes packets. application-dependent + +data: One or more of the following data format blocks (as described in Figure 4) can be included in the application-dependent data location of the APP packet. The APP packets length field is used to detect how many blocks of data are present. The block shall be sent for the SSRCs for which there are a report block, part of either a Receiver Report or a Sender Report, included in the RTCP compound packet. An NADU APP packet shall not contain any other data format than the one described in figure 4 below. + +0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| SSRC | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Playout Delay | NSN | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Reserved | NUN | Free Buffer Space (FBS) | ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +Figure 4: Data format block for NADU reporting + +SSRC: The SSRC of the media stream the buffered packets belong to. + +Playout delay (16 bits): The difference between the scheduled playout time of the next ADU to be decoded and the time of sending the NADU APP packet, as measured by the media playout clock, expressed in milliseconds. The client may +choose not to indicate this value by using the reserved value (Ox FFFF). In case of an empty buffer, the playout delay is not defined and the client should also use the reserved value 0xFFFF for this field. The playout delay allows the server to have a more precise value of the amount of time before the client will underflow. The playout delay shall be computed until the actual media playout (i.e., audio playback or video display). + +NSN (16 bits): The RTP sequence number of the next ADU to be decoded for the SSRC reported on. In the case where the buffer does not contain any packets for this SSRC, the next not yet received sequence number shall be reported, i.e. +an NSN value that is one larger than the least significant 16 bits of the RTCP SR or RR report block's "extended highest sequence number received". + +NUN (5 bits): The unit number (within the RTP packet) of the next ADU to be decoded. The first unit in a packet has a unit number equal to zero. The unit number is incremented by one for each ADU in an RTP packet. In the case of an +audio codec, an ADU is defined as an audio frame. In the case of H.264 (AVC), an ADU is defined as a NAL unit. In the case of H.263 and MPEG4 Visual Simple Profile, each packet carries a single ADU and the NUN field shall be thus +set to zero. Future additions of media encoding or transports capable of having more than one ADU in each RTP payload shall define what shall be counted as an ADU for this format. + +FBS (16 bit): The amount of free buffer space available in the client at the time of reporting. The reported free buffer space shall all be part of the buffer space that has been reported as available for adaptation by the 3GPP-Adaptation RTSP header, see clause 5.3.2.2. The amount of free buffer space are reported in number of complete 64 byte blocks, thus allowing for up to 4194304 bytes to be reported as free. If more is available, it shall be reported as the maximal amount available, i.e. 4194304 with a field value 0xffff. + +Reserved (11 bits): These bits are not used and shall be set to 0 and shall be ignored by the receiver. + + + + */ + + +class NaduReport +{ + +public: + NaduReport(UInt8* inPacketBuffer, UInt32 inPacketLength, UInt32 id); + ~NaduReport() { delete fPacketBuffer; } + UInt8* getBuffer() { return fPacketBuffer; } + UInt32 getLength() { return fLength; } + UInt32 getID() { return fid; } + RTCPNaduPacket * GetNaduPacket(){ return &fNaduPacket; } + + UInt8* fPacketBuffer; + UInt32 fLength; + RTCPNaduPacket fNaduPacket; + UInt32 fid; + +}; + + +// Keep track of the last listSize nadu reports and access them as needed. +// DumpList prints each report while walking backward from the most recent. + +class NaduList +{ +public: + NaduList(): fNaduReportList(NULL), fcurrentIndexCount(0), fListSize(0) {}; + ~NaduList() { + for (int i = 0; i < fListSize; i++) { + if (fNaduReportList[i] != 0) { + delete fNaduReportList[i]; + fNaduReportList[i] = 0; + } + } + delete [] fNaduReportList; + } + void Initialize(UInt32 listSize = 3); + + Bool16 AddReport(UInt8* inPacketBuffer, UInt32 inPacketLength, UInt32 *outID); + + NaduReport* GetReport(UInt32 id); + NaduReport* GetLastReport(); + NaduReport* GetEarliestReport(); + NaduReport* GetPreviousReport(NaduReport* theReport); + NaduReport* GetNextReport(NaduReport* theReport); + UInt32 LastReportedFreeBuffSizeBytes(); + UInt32 LastReportedTimeDelayMilli(); + UInt16 GetLastReportedNSN(); + + void DumpList(); + +private: + UInt32 GetReportIndex(UInt32 id); + UInt32 IDtoIndex (UInt32 id) { return (id -1) % fListSize; } + NaduReport** fNaduReportList; + UInt32 fcurrentIndexCount; + UInt32 fListSize; + + +}; + + + +#endif //_RTCPAPPNADUPACKET_H_ diff --git a/RTCPUtilitiesLib/RTCPAPPPacket.cpp b/RTCPUtilitiesLib/RTCPAPPPacket.cpp index da85d38..dc0807d 100644 --- a/RTCPUtilitiesLib/RTCPAPPPacket.cpp +++ b/RTCPUtilitiesLib/RTCPAPPPacket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -35,433 +35,52 @@ #include "MyAssert.h" #include "OS.h" #include "OSMemory.h" +#include "ResizeableStringFormatter.h" -Bool16 RTCPqtssPacket::ParseQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength) -{ - Bool16 ok = this->ParsePacket(inPacketBuffer, inPacketLength); - if (!ok) - return false; - - if (inPacketLength < (kRTCPPacketSizeInBytes + kQTSSDataOffset)) - return false; - - fRTCPAPPDataBuffer = inPacketBuffer+kRTCPPacketSizeInBytes; - //figure out how many 32-bit words remain in the buffer - UInt32 theMaxDataLen = (inPacketLength - kRTCPPacketSizeInBytes) - kQTSSDataOffset; - theMaxDataLen /= 4; - - //if the number of 32 bit words reported in the packet is greater than the theoretical limit, - //return an error - if (this->GetAppPacketLength() > theMaxDataLen) - return false; - - if (this->GetAppPacketVersion() != kSupportedQTSSVersion) - return false; - if (this->GetReportCount() > 0) - return false; - - this->ParseAndStore(); - return true; -} - - - -void RTCPqtssPacket::ParseAndStore() -{ - UInt8* qtssDataBuffer = fRTCPAPPDataBuffer+kQTSSDataOffset; - - int wordsRemaining = this->GetAppPacketLength(); - while ( wordsRemaining >= 2 ) - { - UInt32 itemType = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer[kQTSSItemTypeOffset]); - qtssDataBuffer += sizeof(itemType); - - //UInt16 itemVersion = (UInt16) ( (ntohl(*(UInt32*)&qtssDataBuffer[kQTSSItemVersionOffset]) & kQTSSItemVersionMask) >> kQTSSItemVersionShift ); - UInt16 itemLengthInWords = (UInt16) ( (ntohl(*(UInt32*)&qtssDataBuffer[kQTSSItemLengthOffset]) & kQTSSItemLengthMask) ); - qtssDataBuffer += sizeof(UInt32); //advance past the above UInt16's - - wordsRemaining -= (2 + itemLengthInWords ); //length of "item header" + length of data - - switch (itemType) - { - case FOUR_CHARS_TO_INT('r', 'r', 'c', 'v'): //rrcv - { - fReceiverBitRate = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fReceiverBitRate); - } - break; - - case FOUR_CHARS_TO_INT('l', 'a', 't', 'e'): //late - { - fAverageLateMilliseconds = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fAverageLateMilliseconds); - } - break; - - case FOUR_CHARS_TO_INT('l', 'o', 's', 's'): //loss - { - fPercentPacketsLost = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fPercentPacketsLost); - } - break; - - case FOUR_CHARS_TO_INT('b', 'd', 'l', 'y'): //bdly - { - fAverageBufferDelayMilliseconds = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fAverageBufferDelayMilliseconds); - } - break; - - case FOUR_CHARS_TO_INT(':', '|', ':', '('): //:|:( - { - fIsGettingBetter = true; - } - break; - - case FOUR_CHARS_TO_INT(':', '|', ':', ')'): //:|:) - { - fIsGettingWorse = true; - } - break; - - case FOUR_CHARS_TO_INT('e', 'y', 'e', 's'): //eyes - { - fNumEyes = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fNumEyes); - if (itemLengthInWords >= 2) - { - fNumEyesActive = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fNumEyesActive); - } - if (itemLengthInWords >= 3) - { - fNumEyesPaused = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fNumEyesPaused); - } - } - break; - - case FOUR_CHARS_TO_INT('p', 'r', 'c', 'v'): //prcv - { - fTotalPacketsReceived = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fTotalPacketsReceived); - } - break; - - case FOUR_CHARS_TO_INT('p', 'd', 'r', 'p'): //pdrp - { - fTotalPacketsDropped = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fTotalPacketsDropped); - } - break; - - - case FOUR_CHARS_TO_INT('b', 'u', 'f', 'l'): //bufl - { - fClientBufferFill = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fClientBufferFill); - } - break; - - - case FOUR_CHARS_TO_INT('f', 'r', 'a', 't'): //frat - { - fFrameRate = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fFrameRate); - } - break; - - - case FOUR_CHARS_TO_INT('x', 'r', 'a', 't'): //xrat - { - fExpectedFrameRate = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fExpectedFrameRate); - } - break; - - - case FOUR_CHARS_TO_INT('d', 'r', 'y', '#'): //dry# - { - fAudioDryCount = (UInt32) ntohl(*(UInt32*)&qtssDataBuffer); - qtssDataBuffer += sizeof(fAudioDryCount); - } - break; - - default: - //ASSERT? - break; - } - } -} - - - -RTCPCompressedQTSSPacket::RTCPCompressedQTSSPacket(Bool16 debug) : - RTCPPacket(), - mDumpArray(NULL), - fDebug(debug), +RTCPAPPPacket::RTCPAPPPacket(Bool16 debug) : fRTCPAPPDataBuffer(NULL), - - fReceiverBitRate(0), - fAverageLateMilliseconds(0), - fPercentPacketsLost(0), - fAverageBufferDelayMilliseconds(0), - fIsGettingBetter(false), - fIsGettingWorse(false), - fNumEyes(0), - fNumEyesActive(0), - fNumEyesPaused(0), - fOverbufferWindowSize(kUInt32_Max), - - //Proposed - are these there yet? - fTotalPacketsReceived(0), - fTotalPacketsDropped(0), - fTotalPacketsLost(0), - fClientBufferFill(0), - fFrameRate(0), - fExpectedFrameRate(0), - fAudioDryCount(0) + fAPPDataBufferSize(0), + mDumpArray(NULL), + mDumpArrayStrDeleter(NULL), + fDumpReport(), + fDebug(debug) { if (fDebug) { - mDumpArray = NEW char[1024]; + mDumpArray = NEW char[kmDumpArraySize]; mDumpArray[0] = '\0'; mDumpArrayStrDeleter.Set(mDumpArray); } -} - -Bool16 RTCPCompressedQTSSPacket::ParseCompressedQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength) -{ - if (!this->ParsePacket(inPacketBuffer, inPacketLength)) - return false; - - if (inPacketLength < (kRTCPPacketSizeInBytes + kQTSSDataOffset)) - return false; - - fRTCPAPPDataBuffer = inPacketBuffer+kRTCPPacketSizeInBytes; - //figure out how many 32-bit words remain in the buffer - UInt32 theMaxDataLen = (inPacketLength - kRTCPPacketSizeInBytes) - kQTSSDataOffset; - theMaxDataLen /= 4; - - //if the number of 32 bit words reported in the packet is greater than the theoretical limit, - //return an error - if (this->GetAppPacketLength() > theMaxDataLen) - return false; - - if (this->GetAppPacketVersion() != kSupportedCompressedQTSSVersion) - return false; - - if (this->GetReportCount() > 0) - return false; - - this->ParseAndStore(); - return true; } - -void RTCPCompressedQTSSPacket::ParseAndStore() +void RTCPAPPPacket::Dump()//Override { -#define APPEND_TO_DUMP_ARRAY(f, v) {if (fDebug) (void)qtss_sprintf(&mDumpArray[strlen(mDumpArray)], f, v);} - - FourCharCode appName = this->GetAppPacketName(); - APPEND_TO_DUMP_ARRAY(" H_app_packet_name = %.4s, ", (char*)&appName); - APPEND_TO_DUMP_ARRAY("H_src_ID = %lu, ", this->GetReportSourceID()); - APPEND_TO_DUMP_ARRAY("H_vers=%d, ", this->GetAppPacketVersion()); - APPEND_TO_DUMP_ARRAY("H_packt_len=%d", this->GetAppPacketLength()); - UInt8* qtssDataBuffer = fRTCPAPPDataBuffer+kQTSSDataOffset; - //packet length is given in words - UInt32 bytesRemaining = this->GetAppPacketLength() * 4; - while ( bytesRemaining >= 4 ) //items must be at least 32 bits - { - // DMS - There is no guarentee that qtssDataBuffer will be 4 byte aligned, because - // individual APP packet fields can be 6 bytes or 4 bytes or 8 bytes. So we have to - // use the 4-byte align protection functions. Sparc and MIPS processors will crash otherwise - UInt32 theHeader = ntohl(OS::GetUInt32FromMemory((UInt32*)&qtssDataBuffer[kQTSSItemTypeOffset])); - UInt16 itemType = (UInt16)((theHeader & kQTSSItemTypeMask) >> kQTSSItemTypeShift); - UInt8 itemLengthInBytes = (UInt8)(theHeader & kQTSSItemLengthMask); - - APPEND_TO_DUMP_ARRAY("\n H_type=%.2s(", (char*)&itemType); -// APPEND_TO_DUMP_ARRAY("vers=%u", itemVersion); - APPEND_TO_DUMP_ARRAY(", H_size=%u", itemLengthInBytes); - - qtssDataBuffer += sizeof(UInt32); //advance past the above UInt16's & UInt8's (point it at the actual item data) - - //Update bytesRemaining (move it past current item) - //This itemLengthInBytes is part of the packet and could therefore be bogus. - //Make sure not to overstep the end of the buffer! - bytesRemaining -= sizeof(UInt32); - if (itemLengthInBytes > bytesRemaining) - break; //don't walk off the end of the buffer - //itemLengthInBytes = bytesRemaining; - bytesRemaining -= itemLengthInBytes; - - switch (itemType) - { - case TW0_CHARS_TO_INT( 'r', 'r' ): //'rr': //'rrcv': - { - fReceiverBitRate = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); - qtssDataBuffer += sizeof(fReceiverBitRate); - APPEND_TO_DUMP_ARRAY(", rcvr_bit_rate=%lu", fReceiverBitRate); - } - break; - - case TW0_CHARS_TO_INT('l', 't'): //'lt': //'late': - { - fAverageLateMilliseconds = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fAverageLateMilliseconds); - APPEND_TO_DUMP_ARRAY(", avg_late=%u", fAverageLateMilliseconds); - } - break; - - case TW0_CHARS_TO_INT('l', 's'): // 'ls': //'loss': - { - fPercentPacketsLost = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fPercentPacketsLost); - APPEND_TO_DUMP_ARRAY(", percent_loss=%u", fPercentPacketsLost); - } - break; - - case TW0_CHARS_TO_INT('d', 'l'): //'dl': //'bdly': - { - fAverageBufferDelayMilliseconds = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fAverageBufferDelayMilliseconds); - APPEND_TO_DUMP_ARRAY(", avg_buf_delay=%u", fAverageBufferDelayMilliseconds); - } - break; - - case TW0_CHARS_TO_INT(':', ')' ): //':)': //':|:(': - { - fIsGettingBetter = true; - APPEND_TO_DUMP_ARRAY(", :|:(=%s","yes"); - } - break; - - case TW0_CHARS_TO_INT(':', '(' ): // ':(': //':|:)': - { - fIsGettingWorse = true; - APPEND_TO_DUMP_ARRAY(", :|:)=%s","yes"); - } - break; - - case TW0_CHARS_TO_INT('e', 'y' ): //'ey': //'eyes': - { - fNumEyes = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); - qtssDataBuffer += sizeof(fNumEyes); - APPEND_TO_DUMP_ARRAY(", eyes=%lu", fNumEyes); - - if (itemLengthInBytes >= 2) - { - fNumEyesActive = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); - qtssDataBuffer += sizeof(fNumEyesActive); - APPEND_TO_DUMP_ARRAY(", eyes_actv=%lu", fNumEyesActive); - } - if (itemLengthInBytes >= 3) - { - fNumEyesPaused = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); - qtssDataBuffer += sizeof(fNumEyesPaused); - APPEND_TO_DUMP_ARRAY(", eyes_pausd=%lu", fNumEyesPaused); - } - } - break; - - case TW0_CHARS_TO_INT('p', 'r' ): // 'pr': //'prcv': - { - fTotalPacketsReceived = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); - qtssDataBuffer += sizeof(fTotalPacketsReceived); - APPEND_TO_DUMP_ARRAY(", pckts_rcvd=%lu", fTotalPacketsReceived); - } - break; - - case TW0_CHARS_TO_INT('p', 'd'): //'pd': //'pdrp': - { - fTotalPacketsDropped = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fTotalPacketsDropped); - APPEND_TO_DUMP_ARRAY(", pckts_drppd=%u", fTotalPacketsDropped); - } - break; - - case TW0_CHARS_TO_INT('p', 'l'): //'pl': //'p???': - { - fTotalPacketsLost = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fTotalPacketsLost); - APPEND_TO_DUMP_ARRAY(", ttl_pckts_lost=%u", fTotalPacketsLost); - } - break; - - - case TW0_CHARS_TO_INT('b', 'l'): //'bl': //'bufl': - { - fClientBufferFill = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fClientBufferFill); - APPEND_TO_DUMP_ARRAY(", buffr_fill=%u", fClientBufferFill); - } - break; - - - case TW0_CHARS_TO_INT('f', 'r'): //'fr': //'frat': - { - fFrameRate = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fFrameRate); - APPEND_TO_DUMP_ARRAY(", frame_rate=%u", fFrameRate); - } - break; - - - case TW0_CHARS_TO_INT('x', 'r'): //'xr': //'xrat': - { - fExpectedFrameRate = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fExpectedFrameRate); - APPEND_TO_DUMP_ARRAY(", xpectd_frame_rate=%u", fExpectedFrameRate); - } - break; - - - case TW0_CHARS_TO_INT('d', '#'): //'d#': //'dry#': - { - fAudioDryCount = ntohs(*(UInt16*)qtssDataBuffer); - qtssDataBuffer += sizeof(fAudioDryCount); - APPEND_TO_DUMP_ARRAY(", aud_dry_count=%u", fAudioDryCount); - } - break; - - case TW0_CHARS_TO_INT('o', 'b'): //'ob': // overbuffer window size - { - fOverbufferWindowSize = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); - qtssDataBuffer += sizeof(fOverbufferWindowSize); - APPEND_TO_DUMP_ARRAY(", ovr_buffr_windw_siz=%lu", fOverbufferWindowSize); - } - break; - - default: - { - if (fDebug) - { - char s[12] = ""; - qtss_sprintf(s, " [%.2s]", (char*)&itemType); - WarnV(false, "Unknown APP('QTSS') item type"); - WarnV(false, s); - } - } + RTCPPacket::Dump(); + fDumpReport.PutTerminator(); + qtss_printf("%s\n", fDumpReport.GetBufPtr()); + fDumpReport.Reset(); +} - break; - } // switch (itemType) +Bool16 RTCPAPPPacket::ParseAPPPacketHeader(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + if (inPacketLength < kRTCPPacketSizeInBytes + kRTCPAPPHeaderSizeInBytes) + return false; - APPEND_TO_DUMP_ARRAY("%s", "), "); - - } //while ( bytesRemaining >= 4 ) - + return true; } -void RTCPCompressedQTSSPacket::Dump()//Override +Bool16 RTCPAPPPacket::ParseAPPPacket(UInt8* inPacketBuffer, UInt32 inPacketLength) { - RTCPPacket::Dump(); + if (false == this->ParsePacket(inPacketBuffer, inPacketLength) ) // base class + return false; + + return this->ParseAPPPacketHeader(inPacketBuffer, inPacketLength); - qtss_printf("%s \n", mDumpArray); } diff --git a/RTCPUtilitiesLib/RTCPAPPPacket.h b/RTCPUtilitiesLib/RTCPAPPPacket.h index ac5a8f7..ac5d409 100644 --- a/RTCPUtilitiesLib/RTCPAPPPacket.h +++ b/RTCPUtilitiesLib/RTCPAPPPacket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -36,236 +36,75 @@ #include "RTCPPacket.h" #include "StrPtrLen.h" +#include "ResizeableStringFormatter.h" +#define APPEND_TO_DUMP_ARRAY(f, v) {if (fDebug && mDumpArray != NULL) { (void)::snprintf(mDumpArray,kmDumpArraySize, f, v); fDumpReport.Put(mDumpArray); } } -/****** RTCPCompressedQTSSPacket is the packet type that the client actually sends ******/ -class RTCPCompressedQTSSPacket : public RTCPPacket +class RTCPAPPPacket : public RTCPPacket { -public: - - RTCPCompressedQTSSPacket(Bool16 debug = false); - virtual ~RTCPCompressedQTSSPacket() {} - - //Call this before any accessor method. Returns true if successful, false otherwise - Bool16 ParseCompressedQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); - inline UInt32 GetReportSourceID(); - inline UInt16 GetAppPacketVersion(); - inline UInt16 GetAppPacketLength(); //In 'UInt32's - inline FourCharCode GetAppPacketName(); - - inline UInt32 GetReceiverBitRate() {return fReceiverBitRate;} - inline UInt16 GetAverageLateMilliseconds() {return fAverageLateMilliseconds;} - inline UInt16 GetPercentPacketsLost() {return fPercentPacketsLost;} - inline UInt16 GetAverageBufferDelayMilliseconds() {return fAverageBufferDelayMilliseconds;} - inline Bool16 GetIsGettingBetter() {return fIsGettingBetter;} - inline Bool16 GetIsGettingWorse() {return fIsGettingWorse;} - inline UInt32 GetNumEyes() {return fNumEyes;} - inline UInt32 GetNumEyesActive() {return fNumEyesActive;} - inline UInt32 GetNumEyesPaused() {return fNumEyesPaused;} - inline UInt32 GetOverbufferWindowSize() {return fOverbufferWindowSize;} +public: + RTCPAPPPacket(Bool16 debug = false); + virtual ~RTCPAPPPacket() {}; + virtual void Dump(); + virtual Bool16 ParseAPPPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); //default app header check + virtual Bool16 ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength) { return false; }; //derived class implements + inline FourCharCode GetAppPacketName(char *outName = NULL, UInt32 len = 0); + inline UInt32 GetAppPacketSSRC(); - //Proposed - are these there yet? - inline UInt32 GetTotalPacketReceived() {return fTotalPacketsReceived;} - inline UInt16 GetTotalPacketsDropped() {return fTotalPacketsDropped;} - inline UInt16 GetTotalPacketsLost() {return fTotalPacketsLost;} - inline UInt16 GetClientBufferFill() {return fClientBufferFill;} - inline UInt16 GetFrameRate() {return fFrameRate;} - inline UInt16 GetExpectedFrameRate() {return fExpectedFrameRate;} - inline UInt16 GetAudioDryCount() {return fAudioDryCount;} - virtual void Dump(); //Override - inline UInt8* GetRTCPAPPDataBuffer() {return fRTCPAPPDataBuffer;} + UInt8* fRTCPAPPDataBuffer; //points into RTCPPacket::fReceiverPacketBuffer should be set past the app header + UInt32 fAPPDataBufferSize; -private: - char* mDumpArray; - StrPtrLenDel mDumpArrayStrDeleter; - Bool16 fDebug; - UInt8* fRTCPAPPDataBuffer; //points into fReceiverPacketBuffer - - void ParseAndStore(); - - UInt32 fReceiverBitRate; - UInt16 fAverageLateMilliseconds; - UInt16 fPercentPacketsLost; - UInt16 fAverageBufferDelayMilliseconds; - Bool16 fIsGettingBetter; - Bool16 fIsGettingWorse; - UInt32 fNumEyes; - UInt32 fNumEyesActive; - UInt32 fNumEyesPaused; - UInt32 fOverbufferWindowSize; - - //Proposed - are these there yet? - UInt32 fTotalPacketsReceived; - UInt16 fTotalPacketsDropped; - UInt16 fTotalPacketsLost; - UInt16 fClientBufferFill; - UInt16 fFrameRate; - UInt16 fExpectedFrameRate; - UInt16 fAudioDryCount; - enum { - kAppNameOffset = 0, //four App identifier //All are UInt32 - kReportSourceIDOffset = 4, //SSRC for this report - kAppPacketVersionOffset = 8, - kAppPacketVersionMask = 0xFFFF0000UL, - kAppPacketVersionShift = 16, - kAppPacketLengthOffset = 8, - kAppPacketLengthMask = 0x0000FFFFUL, - kQTSSDataOffset = 12, - - //Individual item offsets/masks - kQTSSItemTypeOffset = 0, //SSRC for this report - kQTSSItemTypeMask = 0xFFFF0000UL, - kQTSSItemTypeShift = 16, - kQTSSItemVersionOffset = 0, - kQTSSItemVersionMas = 0x0000FF00UL, - kQTSSItemVersionShift = 8, - kQTSSItemLengthOffset = 0, - kQTSSItemLengthMask = 0x000000FFUL, - kQTSSItemDataOffset = 4, - - kSupportedCompressedQTSSVersion = 0 - }; - - //version we support currently - + kAppSSRCOffset = 4, + kAppNameOffset = 8, //byte offset to four char App identifier //All are UInt32 -}; - -/****** RTCPqtssPacket is apparently no longer sent by the client ******/ -class RTCPqtssPacket : public RTCPPacket -{ -public: - - RTCPqtssPacket() : RTCPPacket(), fRTCPAPPDataBuffer(NULL) {} - virtual ~RTCPqtssPacket() {} - - //Call this before any accessor method. Returns true if successful, false otherwise - Bool16 ParseQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); + kRTCPAPPHeaderSizeInBytes = 4, // + kmDumpArraySize = 1024 + }; - inline UInt32 GetReportSourceID(); - inline UInt16 GetAppPacketVersion(); - inline UInt16 GetAppPacketLength(); //In 'UInt32's - - inline UInt32 GetReceiverBitRate() {return fReceiverBitRate;} - inline UInt32 GetAverageLateMilliseconds() {return fAverageLateMilliseconds;} - inline UInt32 GetPercentPacketsLost() {return fPercentPacketsLost;} - inline UInt32 GetAverageBufferDelayMilliseconds() {return fAverageBufferDelayMilliseconds;} - inline Bool16 GetIsGettingBetter() {return fIsGettingBetter;} - inline Bool16 GetIsGettingWorse() {return fIsGettingWorse;} - inline UInt32 GetNumEyes() {return fNumEyes;} - inline UInt32 GetNumEyesActive() {return fNumEyesActive;} - inline UInt32 GetNumEyesPaused() {return fNumEyesPaused;} - - //Proposed - are these there yet? - inline UInt32 GetTotalPacketReceived() {return fTotalPacketsReceived;} - inline UInt32 GetTotalPacketsDropped() {return fTotalPacketsDropped;} - inline UInt32 GetClientBufferFill() {return fClientBufferFill;} - inline UInt32 GetFrameRate() {return fFrameRate;} - inline UInt32 GetExpectedFrameRate() {return fExpectedFrameRate;} - inline UInt32 GetAudioDryCount() {return fAudioDryCount;} + char* mDumpArray; + StrPtrLenDel mDumpArrayStrDeleter; + ResizeableStringFormatter fDumpReport; + Bool16 fDebug; - private: - UInt8* fRTCPAPPDataBuffer; //points into fReceiverPacketBuffer - - void ParseAndStore(); - - UInt32 fReportSourceID; - UInt16 fAppPacketVersion; - UInt16 fAppPacketLength; //In 'UInt32's - - UInt32 fReceiverBitRate; - UInt32 fAverageLateMilliseconds; - UInt32 fPercentPacketsLost; - UInt32 fAverageBufferDelayMilliseconds; - Bool16 fIsGettingBetter; - Bool16 fIsGettingWorse; - UInt32 fNumEyes; - UInt32 fNumEyesActive; - UInt32 fNumEyesPaused; - - //Proposed - are these there yet? - UInt32 fTotalPacketsReceived; - UInt32 fTotalPacketsDropped; - UInt32 fClientBufferFill; - UInt32 fFrameRate; - UInt32 fExpectedFrameRate; - UInt32 fAudioDryCount; - - enum - { - //THESE SHIFTS DO NOT WORK ON LITTLE-ENDIAN PLATFORMS! I HAVEN'T FIXED - //THIS BECAUSE THIS PACKET IS NO LONGER USED... - - kAppNameOffset = 0, //four App identifier //All are UInt32s - kReportSourceIDOffset = 4, //SSRC for this report - kAppPacketVersionOffset = 8, - kAppPacketVersionMask = 0xFFFF0000UL, - kAppPacketVersionShift = 16, - kAppPacketLengthOffset = 8, - kAppPacketLengthMask = 0x0000FFFFUL, - kQTSSDataOffset = 12, - - //Individual item offsets/masks - kQTSSItemTypeOffset = 0, //SSRC for this report - kQTSSItemVersionOffset = 4, - kQTSSItemVersionMask = 0xFFFF0000UL, - kQTSSItemVersionShift = 16, - kQTSSItemLengthOffset = 4, - kQTSSItemLengthMask = 0x0000FFFFUL, - kQTSSItemDataOffset = 8, - - //version we support currently - kSupportedQTSSVersion = 0 - }; - + virtual Bool16 ParseAPPPacketHeader(UInt8* inPacketBuffer, UInt32 inPacketLength); }; -/**************** RTCPCompressedQTSSPacket inlines *******************************/ -inline UInt32 RTCPCompressedQTSSPacket::GetReportSourceID() -{ - return (UInt32) ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kReportSourceIDOffset]) ; -} +/**************** RTCPAPPPacket inlines *******************************/ -inline UInt16 RTCPCompressedQTSSPacket::GetAppPacketVersion() -{ - return (UInt16) ( (ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kAppPacketVersionOffset]) & kAppPacketVersionMask) >> kAppPacketVersionShift ); -} - -inline FourCharCode RTCPCompressedQTSSPacket::GetAppPacketName() +inline FourCharCode RTCPAPPPacket::GetAppPacketName(char *outName, UInt32 len) { - return (UInt32) ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kAppNameOffset]) ; + + UInt32 packetName = (UInt32) (*(UInt32*)&(GetPacketBuffer()[kAppNameOffset]) ) ; + + if (outName) + { if (len > 4) + { *((UInt32*)outName) = packetName; + outName[4] = 0; + } + else if (len > 0) + outName[0] = 0; + } + + return ntohl(packetName); } -inline UInt16 RTCPCompressedQTSSPacket::GetAppPacketLength() +inline UInt32 RTCPAPPPacket::GetAppPacketSSRC() { - return (UInt16) (ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kAppPacketLengthOffset]) & kAppPacketLengthMask); + return (UInt32) ntohl(*(UInt32*)&(GetPacketBuffer()[kAppSSRCOffset]) ) ; } -/**************** RTCPqtssPacket inlines *******************************/ -inline UInt32 RTCPqtssPacket::GetReportSourceID() -{ - return (UInt32) ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kReportSourceIDOffset]) ; -} -inline UInt16 RTCPqtssPacket::GetAppPacketVersion() -{ - return (UInt16) ( (ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kAppPacketVersionOffset]) & kAppPacketVersionMask) >> kAppPacketVersionShift ); -} -inline UInt16 RTCPqtssPacket::GetAppPacketLength() -{ - return (UInt16) (ntohl(*(UInt32*)&fRTCPAPPDataBuffer[kAppPacketLengthOffset]) & kAppPacketLengthMask); -} /* 6.6 APP: Application-defined RTCP packet diff --git a/RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp b/RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp new file mode 100644 index 0000000..ce8f7bc --- /dev/null +++ b/RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp @@ -0,0 +1,316 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPAPPQTSSPacket.cpp + + Contains: RTCPAPPQTSSPacket de-packetizing classes + + +*/ + + +#include "RTCPAPPQTSSPacket.h" +#include "MyAssert.h" +#include "OS.h" +#include "OSMemory.h" + + +RTCPCompressedQTSSPacket::RTCPCompressedQTSSPacket(Bool16 debug) : + RTCPAPPPacket(debug), + fReceiverBitRate(0), + fAverageLateMilliseconds(0), + fPercentPacketsLost(0), + fAverageBufferDelayMilliseconds(0), + fIsGettingBetter(false), + fIsGettingWorse(false), + fNumEyes(0), + fNumEyesActive(0), + fNumEyesPaused(0), + fOverbufferWindowSize(kUInt32_Max), + + //Proposed - are these there yet? + fTotalPacketsReceived(0), + fTotalPacketsDropped(0), + fTotalPacketsLost(0), + fClientBufferFill(0), + fFrameRate(0), + fExpectedFrameRate(0), + fAudioDryCount(0) +{ +} + +// use if you don't know what kind of packet this is +Bool16 RTCPCompressedQTSSPacket::ParseCompressedQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + if (!this->ParseAPPPacket(inPacketBuffer, inPacketLength)) + return false; + + if (this->GetAppPacketName() != RTCPCompressedQTSSPacket::kCompressedQTSSPacketName) + return false; + + if (inPacketLength < kQTSSDataOffset) + return false; + + //figure out how many 32-bit words remain in the buffer + UInt32 theMaxDataLen = inPacketLength - kQTSSDataOffset; + theMaxDataLen /= 4; + + //if the number of 32 bit words reported in the packet is greater than the theoretical limit, + //return an error + if (this->GetQTSSPacketLength() > theMaxDataLen) + return false; + + if (this->GetQTSSPacketVersion() != kSupportedCompressedQTSSVersion) + return false; + + if (this->GetReportCount() > 0) + return false; + + + return true; +} + + + +// You know the packet type and just want to parse it now +Bool16 RTCPCompressedQTSSPacket::ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + + if ( !this->ParseCompressedQTSSPacket(inPacketBuffer, inPacketLength) ) + return false; + + APPEND_TO_DUMP_ARRAY("%s","\n RTCP APP QTSS Report "); + + char printName[5]; + (void) this->GetAppPacketName(printName, sizeof(printName)); + APPEND_TO_DUMP_ARRAY("H_app_packet_name = %s, ", printName ); + APPEND_TO_DUMP_ARRAY("H_ssrc = %"_U32BITARG_", ", this->GetPacketSSRC()); + APPEND_TO_DUMP_ARRAY("H_src_ID = %"_U32BITARG_", ", this->GetQTSSReportSourceID()); + APPEND_TO_DUMP_ARRAY("H_vers=%d, ", this->GetQTSSPacketVersion()); + APPEND_TO_DUMP_ARRAY("H_packt_len=%d", this->GetQTSSPacketLength()); + + UInt8* qtssDataBuffer = this->GetPacketBuffer()+kQTSSDataOffset; + + //packet length is given in words + UInt32 bytesRemaining = this->GetQTSSPacketLength() * 4; + while ( bytesRemaining >= 4 ) //items must be at least 32 bits + { + // DMS - There is no guarentee that qtssDataBuffer will be 4 byte aligned, because + // individual APP packet fields can be 6 bytes or 4 bytes or 8 bytes. So we have to + // use the 4-byte align protection functions. Sparc and MIPS processors will crash otherwise + UInt32 theHeader = ntohl(OS::GetUInt32FromMemory((UInt32*)&qtssDataBuffer[kQTSSItemTypeOffset])); + UInt16 itemType = (UInt16)((theHeader & kQTSSItemTypeMask) >> kQTSSItemTypeShift); + UInt8 itemVersion = (UInt8)((theHeader & kQTSSItemVersionMask) >> kQTSSItemVersionShift); + UInt8 itemLengthInBytes = (UInt8)(theHeader & kQTSSItemLengthMask); + + APPEND_TO_DUMP_ARRAY("\n h_type=%.2s(", (char*)&itemType); + APPEND_TO_DUMP_ARRAY(", h_vers=%u", itemVersion); + APPEND_TO_DUMP_ARRAY(", h_size=%u", itemLengthInBytes); + + qtssDataBuffer += sizeof(UInt32); //advance past the above UInt16's & UInt8's (point it at the actual item data) + + //Update bytesRemaining (move it past current item) + //This itemLengthInBytes is part of the packet and could therefore be bogus. + //Make sure not to overstep the end of the buffer! + bytesRemaining -= sizeof(UInt32); + if (itemLengthInBytes > bytesRemaining) + break; //don't walk off the end of the buffer + //itemLengthInBytes = bytesRemaining; + bytesRemaining -= itemLengthInBytes; + + switch (itemType) + { + case TW0_CHARS_TO_INT( 'r', 'r' ): //'rr': //'rrcv': + { + fReceiverBitRate = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); + qtssDataBuffer += sizeof(fReceiverBitRate); + APPEND_TO_DUMP_ARRAY(", rcvr_bit_rate=%"_U32BITARG_"", fReceiverBitRate); + } + break; + + case TW0_CHARS_TO_INT('l', 't'): //'lt': //'late': + { + fAverageLateMilliseconds = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fAverageLateMilliseconds); + APPEND_TO_DUMP_ARRAY(", avg_late=%u", fAverageLateMilliseconds); + } + break; + + case TW0_CHARS_TO_INT('l', 's'): // 'ls': //'loss': + { + fPercentPacketsLost = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fPercentPacketsLost); + APPEND_TO_DUMP_ARRAY(", percent_loss=%u", fPercentPacketsLost); + } + break; + + case TW0_CHARS_TO_INT('d', 'l'): //'dl': //'bdly': + { + fAverageBufferDelayMilliseconds = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fAverageBufferDelayMilliseconds); + APPEND_TO_DUMP_ARRAY(", avg_buf_delay=%u", fAverageBufferDelayMilliseconds); + } + break; + + case TW0_CHARS_TO_INT(':', ')' ): //:) + { + fIsGettingBetter = true; + APPEND_TO_DUMP_ARRAY(", quality=%s","better"); + } + break; + case TW0_CHARS_TO_INT(':', '(' ): // ':(': + { + fIsGettingWorse = true; + APPEND_TO_DUMP_ARRAY(", quality=%s","worse"); + } + break; + + case TW0_CHARS_TO_INT(':', '|' ): // ':|': + { + fIsGettingWorse = true; + APPEND_TO_DUMP_ARRAY(", quality=%s","same"); + } + break; + + case TW0_CHARS_TO_INT('e', 'y' ): //'ey': //'eyes': + { + fNumEyes = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); + qtssDataBuffer += sizeof(fNumEyes); + APPEND_TO_DUMP_ARRAY(", eyes=%"_U32BITARG_"", fNumEyes); + + if (itemLengthInBytes >= 2) + { + fNumEyesActive = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); + qtssDataBuffer += sizeof(fNumEyesActive); + APPEND_TO_DUMP_ARRAY(", eyes_actv=%"_U32BITARG_"", fNumEyesActive); + } + if (itemLengthInBytes >= 3) + { + fNumEyesPaused = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); + qtssDataBuffer += sizeof(fNumEyesPaused); + APPEND_TO_DUMP_ARRAY(", eyes_pausd=%"_U32BITARG_"", fNumEyesPaused); + } + } + break; + + case TW0_CHARS_TO_INT('p', 'r' ): // 'pr': //'prcv': + { + fTotalPacketsReceived = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); + qtssDataBuffer += sizeof(fTotalPacketsReceived); + APPEND_TO_DUMP_ARRAY(", pckts_rcvd=%"_U32BITARG_"", fTotalPacketsReceived); + } + break; + + case TW0_CHARS_TO_INT('p', 'd'): //'pd': //'pdrp': + { + fTotalPacketsDropped = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fTotalPacketsDropped); + APPEND_TO_DUMP_ARRAY(", pckts_drppd=%u", fTotalPacketsDropped); + } + break; + + case TW0_CHARS_TO_INT('p', 'l'): //'pl': //'p???': + { + fTotalPacketsLost = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fTotalPacketsLost); + APPEND_TO_DUMP_ARRAY(", ttl_pckts_lost=%u", fTotalPacketsLost); + } + break; + + + case TW0_CHARS_TO_INT('b', 'l'): //'bl': //'bufl': + { + fClientBufferFill = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fClientBufferFill); + APPEND_TO_DUMP_ARRAY(", buffr_fill=%u", fClientBufferFill); + } + break; + + + case TW0_CHARS_TO_INT('f', 'r'): //'fr': //'frat': + { + fFrameRate = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fFrameRate); + APPEND_TO_DUMP_ARRAY(", frame_rate=%u", fFrameRate); + } + break; + + + case TW0_CHARS_TO_INT('x', 'r'): //'xr': //'xrat': + { + fExpectedFrameRate = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fExpectedFrameRate); + APPEND_TO_DUMP_ARRAY(", xpectd_frame_rate=%u", fExpectedFrameRate); + } + break; + + + case TW0_CHARS_TO_INT('d', '#'): //'d#': //'dry#': + { + fAudioDryCount = ntohs(*(UInt16*)qtssDataBuffer); + qtssDataBuffer += sizeof(fAudioDryCount); + APPEND_TO_DUMP_ARRAY(", aud_dry_count=%u", fAudioDryCount); + } + break; + + case TW0_CHARS_TO_INT('o', 'b'): //'ob': // overbuffer window size + { + fOverbufferWindowSize = ntohl(OS::GetUInt32FromMemory((UInt32*)qtssDataBuffer)); + qtssDataBuffer += sizeof(fOverbufferWindowSize); + APPEND_TO_DUMP_ARRAY(", ovr_buffr_windw_siz=%"_U32BITARG_"", fOverbufferWindowSize); + } + break; + + default: + { + if (fDebug) + { + char s[12] = ""; + qtss_sprintf(s, " [%.2s]", (char*)&itemType); + WarnV(false, "Unknown APP('QTSS') item type"); + WarnV(false, s); + } + } + + break; + } // switch (itemType) + + + APPEND_TO_DUMP_ARRAY("%s", "), "); + + } //while ( bytesRemaining >= 4 ) + + + return true; +} + +void RTCPCompressedQTSSPacket::Dump()//Override +{ + APPEND_TO_DUMP_ARRAY("%s", "\n"); + RTCPAPPPacket::Dump(); + +} + + diff --git a/RTCPUtilitiesLib/RTCPAPPQTSSPacket.h b/RTCPUtilitiesLib/RTCPAPPQTSSPacket.h new file mode 100644 index 0000000..6a2ed11 --- /dev/null +++ b/RTCPUtilitiesLib/RTCPAPPQTSSPacket.h @@ -0,0 +1,272 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPAPPQTSSPacket.h + + Contains: RTCPAPPQTSSPacket de-packetizing classes + + + +*/ + +#ifndef _RTCPAPPQTSSPACKET_H_ +#define _RTCPAPPQTSSPACKET_H_ + +#include "RTCPAPPPacket.h" +#include "StrPtrLen.h" + +/****** RTCPCompressedQTSSPacket is the packet type that the client actually sends ******/ +class RTCPCompressedQTSSPacket : public RTCPAPPPacket +{ +public: + + RTCPCompressedQTSSPacket(Bool16 debug = false); + virtual ~RTCPCompressedQTSSPacket() {} + + //Call this before any accessor method. Returns true if successful, false otherwise + virtual Bool16 ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength); + + // Call to parse if you don't know what kind of packet this is + Bool16 ParseCompressedQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); + inline UInt32 GetQTSSReportSourceID(); + inline UInt16 GetQTSSPacketVersion(); + inline UInt16 GetQTSSPacketLength(); //In 'UInt32's + + + inline UInt32 GetReceiverBitRate() {return fReceiverBitRate;} + inline UInt16 GetAverageLateMilliseconds() {return fAverageLateMilliseconds;} + inline UInt16 GetPercentPacketsLost() {return fPercentPacketsLost;} + inline UInt16 GetAverageBufferDelayMilliseconds() {return fAverageBufferDelayMilliseconds;} + inline Bool16 GetIsGettingBetter() {return fIsGettingBetter;} + inline Bool16 GetIsGettingWorse() {return fIsGettingWorse;} + inline UInt32 GetNumEyes() {return fNumEyes;} + inline UInt32 GetNumEyesActive() {return fNumEyesActive;} + inline UInt32 GetNumEyesPaused() {return fNumEyesPaused;} + inline UInt32 GetOverbufferWindowSize() {return fOverbufferWindowSize;} + + //Proposed - are these there yet? + inline UInt32 GetTotalPacketReceived() {return fTotalPacketsReceived;} + inline UInt16 GetTotalPacketsDropped() {return fTotalPacketsDropped;} + inline UInt16 GetTotalPacketsLost() {return fTotalPacketsLost;} + inline UInt16 GetClientBufferFill() {return fClientBufferFill;} + inline UInt16 GetFrameRate() {return fFrameRate;} + inline UInt16 GetExpectedFrameRate() {return fExpectedFrameRate;} + inline UInt16 GetAudioDryCount() {return fAudioDryCount;} + + virtual void Dump(); //Override + + static void GetTestPacket(StrPtrLen* resultPtr) {} + + UInt32 fReceiverBitRate; + UInt16 fAverageLateMilliseconds; + UInt16 fPercentPacketsLost; + UInt16 fAverageBufferDelayMilliseconds; + Bool16 fIsGettingBetter; + Bool16 fIsGettingWorse; + UInt32 fNumEyes; + UInt32 fNumEyesActive; + UInt32 fNumEyesPaused; + UInt32 fOverbufferWindowSize; + + //Proposed - are these there yet? + UInt32 fTotalPacketsReceived; + UInt16 fTotalPacketsDropped; + UInt16 fTotalPacketsLost; + UInt16 fClientBufferFill; + UInt16 fFrameRate; + UInt16 fExpectedFrameRate; + UInt16 fAudioDryCount; + + enum // QTSS App Header offsets + { + + kQTSSDataOffset = 20, // in bytes from packet start + kQTSSReportSourceIDOffset = 3, //in 32 bit words SSRC for this report + kQTSSPacketVersionOffset = 4, // in 32bit words + kQTSSPacketVersionMask = 0xFFFF0000UL, + kQTSSPacketVersionShift = 16, + kQTSSPacketLengthOffset = 4, // in 32bit words + kQTSSPacketLengthMask = 0x0000FFFFUL, + + }; + + enum // QTSS App Data Offsets + { + + //Individual item offsets/masks + kQTSSItemTypeOffset = 0, //SSRC for this report + kQTSSItemTypeMask = 0xFFFF0000UL, + kQTSSItemTypeShift = 16, + kQTSSItemVersionOffset = 0, + kQTSSItemVersionMask = 0x0000FF00UL, + kQTSSItemVersionShift = 8, + kQTSSItemLengthOffset = 0, + kQTSSItemLengthMask = 0x000000FFUL, + kQTSSItemDataOffset = 4, + + //version we support currently + kSupportedCompressedQTSSVersion = 0 + }; + + enum //The 4 character name in the APP packet + { + kCompressedQTSSPacketName = FOUR_CHARS_TO_INT('Q', 'T', 'S', 'S') //QTSS + }; + + +private: + void ParseAndStore(); + +}; + +inline UInt32 RTCPCompressedQTSSPacket::GetQTSSReportSourceID() +{ + return (UInt32) ntohl( ((UInt32*)this->GetPacketBuffer())[kQTSSReportSourceIDOffset] ) ; +} + + +inline UInt16 RTCPCompressedQTSSPacket::GetQTSSPacketVersion() +{ + UInt32 field = ((UInt32*)this->GetPacketBuffer())[kQTSSPacketVersionOffset]; + UInt16 vers = (UInt16) ( ( ntohl(field) & kQTSSPacketVersionMask) >> kQTSSPacketVersionShift ); + return vers; +} + +inline UInt16 RTCPCompressedQTSSPacket::GetQTSSPacketLength() +{ + UInt32 field = ((UInt32*)this->GetPacketBuffer())[kQTSSPacketLengthOffset]; + return (UInt16) ( (UInt32) ntohl(field) & kQTSSPacketLengthMask ); +} + +/* +QTSS APP: QTSS Application-defined RTCP packet + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |V=2|P| subtype | PT=APP=204 | length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | SSRC/CSRC | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | name (ASCII) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---- app data start + | SSRC/CSRC | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | version | length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | field name='ob' other | version=0 | length=4 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Over-buffer window size in bytes | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +fieldnames = rr, lt, ls, dl, :), :|, :(, ey, pr, pd, pl, bl, fr, xr, d#, ob + + */ + + + + + +/****** RTCPqtssPacket is apparently no longer sent by the client ******/ +class RTCPqtssPacket : public RTCPAPPPacket +{ +public: + + RTCPqtssPacket() : RTCPAPPPacket() {} + virtual ~RTCPqtssPacket() {} + + //Call this before any accessor method. Returns true if successful, false otherwise + virtual Bool16 ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength); + + //Call this before any accessor method. Returns true if successful, false otherwise + Bool16 ParseQTSSPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); + + + inline UInt32 GetReceiverBitRate() {return fReceiverBitRate;} + inline UInt32 GetAverageLateMilliseconds() {return fAverageLateMilliseconds;} + inline UInt32 GetPercentPacketsLost() {return fPercentPacketsLost;} + inline UInt32 GetAverageBufferDelayMilliseconds() {return fAverageBufferDelayMilliseconds;} + inline Bool16 GetIsGettingBetter() {return fIsGettingBetter;} + inline Bool16 GetIsGettingWorse() {return fIsGettingWorse;} + inline UInt32 GetNumEyes() {return fNumEyes;} + inline UInt32 GetNumEyesActive() {return fNumEyesActive;} + inline UInt32 GetNumEyesPaused() {return fNumEyesPaused;} + + //Proposed - are these there yet? + inline UInt32 GetTotalPacketReceived() {return fTotalPacketsReceived;} + inline UInt32 GetTotalPacketsDropped() {return fTotalPacketsDropped;} + inline UInt32 GetClientBufferFill() {return fClientBufferFill;} + inline UInt32 GetFrameRate() {return fFrameRate;} + inline UInt32 GetExpectedFrameRate() {return fExpectedFrameRate;} + inline UInt32 GetAudioDryCount() {return fAudioDryCount;} + + + +private: + + void ParseAndStore(); + + UInt32 fReportSourceID; + UInt16 fAppPacketVersion; + UInt16 fAppPacketLength; //In 'UInt32's + + UInt32 fReceiverBitRate; + UInt32 fAverageLateMilliseconds; + UInt32 fPercentPacketsLost; + UInt32 fAverageBufferDelayMilliseconds; + Bool16 fIsGettingBetter; + Bool16 fIsGettingWorse; + UInt32 fNumEyes; + UInt32 fNumEyesActive; + UInt32 fNumEyesPaused; + + //Proposed - are these there yet? + UInt32 fTotalPacketsReceived; + UInt32 fTotalPacketsDropped; + UInt32 fClientBufferFill; + UInt32 fFrameRate; + UInt32 fExpectedFrameRate; + UInt32 fAudioDryCount; + + enum + { + //Individual item offsets/masks + kQTSSItemTypeOffset = 0, //SSRC for this report + kQTSSItemVersionOffset = 4, + kQTSSItemVersionMask = 0xFFFF0000UL, + kQTSSItemVersionShift = 16, + kQTSSItemLengthOffset = 4, + kQTSSItemLengthMask = 0x0000FFFFUL, + kQTSSItemDataOffset = 8, + + //version we support currently + kSupportedQTSSVersion = 0 + }; + + +}; + + +#endif //_RTCPAPPQTSSPACKET_H_ diff --git a/RTCPUtilitiesLib/RTCPAckPacket.cpp b/RTCPUtilitiesLib/RTCPAckPacket.cpp index 413fa96..674fcde 100644 --- a/RTCPUtilitiesLib/RTCPAckPacket.cpp +++ b/RTCPUtilitiesLib/RTCPAckPacket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -40,27 +40,50 @@ #include -Bool16 RTCPAckPacket::ParseAckPacket(UInt8* inPacketBuffer, UInt32 inPacketLen) +// use if you don't know what kind of packet this is +Bool16 RTCPAckPacket::ParseAckPacket(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + + if (!this->ParseAPPPacket(inPacketBuffer, inPacketLength)) + return false; + + if (this->GetAppPacketName() == RTCPAckPacket::kAckPacketName) + return true; + + if (this->GetAppPacketName() == RTCPAckPacket::kAckPacketAlternateName) + return true; + + return false; + +} + + +Bool16 RTCPAckPacket::ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength) { + if ( !this->ParseAckPacket(inPacketBuffer, inPacketLength) ) + return false; + + fRTCPAckBuffer = inPacketBuffer; // // Check whether this is an ack packet or not. - if ((inPacketLen < kAckMaskOffset) || (!this->IsAckPacketType())) + if ( (inPacketLength < kAckMaskOffset) || (!this->IsAckPacketType() ) ) return false; - Assert(inPacketLen == (UInt32)((this->GetPacketLength() * 4)) + RTCPPacket::kRTCPHeaderSizeInBytes); - fAckMaskSize = inPacketLen - kAckMaskOffset; + Assert(inPacketLength == (UInt32)((this->GetPacketLength() * 4)) + RTCPPacket::kRTCPHeaderSizeInBytes); + fAckMaskSize = inPacketLength - kAckMaskOffset; + return true; } Bool16 RTCPAckPacket::IsAckPacketType() { // While we are moving to a new type, check for both - UInt32 theAppType = ntohl(*(UInt32*)&fRTCPAckBuffer[kAppPacketTypeOffset]); + UInt32 theAppType = this->GetAppPacketName(); -// if ( theAppType == kOldAckPacketType ) qtss_printf("ack\n"); -// if ( theAppType == kAckPacketType ) qtss_printf("qtack\n"); +// if ( theAppType == kAckPacketAlternateName ) qtss_printf("ack\n"); +// if ( theAppType == kAckPacketName ) qtss_printf("qtack\n"); return this->IsAckType(theAppType); } @@ -84,11 +107,11 @@ void RTCPAckPacket::Dump() { if (this->IsNthBitEnabled(maskCount)) { - qtss_sprintf(&maskBytesBuffer[::strlen(maskBytesBuffer)],"%lu, ", theSeqNum + 1 + maskCount); + qtss_sprintf(&maskBytesBuffer[::strlen(maskBytesBuffer)],"%"_U32BITARG_", ", theSeqNum + 1 + maskCount); } } Assert(::strlen(maskBytesBuffer) < numBufferBytes); - qtss_printf(" H_name=%s H_seq=%u H_len=%u mask_size=%lu seq_nums_bit_set=%s\n", + qtss_printf(" H_name=%s H_seq=%u H_len=%u mask_size=%"_U32BITARG_" seq_nums_bit_set=%s\n", name, theSeqNum,thePacketLen,theAckMaskSizeInBits, maskBytesBuffer); } diff --git a/RTCPUtilitiesLib/RTCPAckPacket.h b/RTCPUtilitiesLib/RTCPAckPacket.h index 6848013..3d42d38 100644 --- a/RTCPUtilitiesLib/RTCPAckPacket.h +++ b/RTCPUtilitiesLib/RTCPAckPacket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -35,13 +35,14 @@ #define _RTCPACKPACKET_H_ #include "OSHeaders.h" +#include "RTCPAPPPacket.h" #include #include "SafeStdLib.h" #ifndef __Win32__ #include #endif -class RTCPAckPacket +class RTCPAckPacket : public RTCPAPPPacket { public: @@ -66,34 +67,43 @@ class RTCPAckPacket RTCPAckPacket() : fRTCPAckBuffer(NULL), fAckMaskSize(0) {} virtual ~RTCPAckPacket() {} + // Call to parse if you don't know what kind of packet this is // Returns true if this is an Ack packet, false otherwise. // Assumes that inPacketBuffer is a pointer to a valid RTCP packet header. - Bool16 ParseAckPacket(UInt8* inPacketBuffer, UInt32 inPacketLen); + Bool16 ParseAckPacket(UInt8* inPacketBuffer, UInt32 inPacketLength); + + virtual Bool16 ParseAPPData(UInt8* inPacketBuffer, UInt32 inPacketLength); inline UInt16 GetAckSeqNum(); inline UInt32 GetAckMaskSizeInBits() { return fAckMaskSize * 8; } inline Bool16 IsNthBitEnabled(UInt32 inBitNumber); inline UInt16 GetPacketLength(); void Dump(); + static void GetTestPacket(StrPtrLen* resultPtr) {} //todo + + enum + { + kAckPacketName = FOUR_CHARS_TO_INT('q', 't', 'a', 'k'), // 'qtak' documented Apple reliable UDP packet type + kAckPacketAlternateName = FOUR_CHARS_TO_INT('a', 'c', 'k', ' '), // 'ack ' required by QT 5 and earlier + }; private: UInt8* fRTCPAckBuffer; UInt32 fAckMaskSize; Bool16 IsAckPacketType(); - + enum { - kAckPacketType = FOUR_CHARS_TO_INT('q', 't', 'a', 'k'), // 'qtak' documented Apple reliable UDP packet type - kOldAckPacketType = FOUR_CHARS_TO_INT('a', 'c', 'k', ' '), // 'ack ' required by QT 5 and earlier kAppPacketTypeOffset = 8, kAckSeqNumOffset = 16, kAckMaskOffset = 20, kPacketLengthMask = 0x0000FFFFUL, - }; + }; + - inline Bool16 IsAckType(UInt32 theAppType) { return ( (theAppType == kOldAckPacketType) || (theAppType == kAckPacketType) );} + inline Bool16 IsAckType(UInt32 theAppType) { return ( (theAppType == kAckPacketAlternateName) || (theAppType == kAckPacketName) );} }; diff --git a/RTCPUtilitiesLib/RTCPAckPacketFmt.h b/RTCPUtilitiesLib/RTCPAckPacketFmt.h new file mode 100644 index 0000000..5ca1b44 --- /dev/null +++ b/RTCPUtilitiesLib/RTCPAckPacketFmt.h @@ -0,0 +1,158 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPAckPacketFmt.h + + Some useful things for Generating Ack Packets +*/ + +#ifndef _RTCPACKPACKETFMT_H_ +#define _RTCPACKPACKETFMT_H_ + +#include +#include +#include "StrPtrLen.h" +#include "OSHeaders.h" +#include "MyAssert.h" + +class RTCPAckPacketFmt +{ + enum { + RTP_VERSION = 2, + RTCP_SR = 200, + RTCP_RR = 201, + RTCP_SDES = 202, + RTCP_BYE = 203, + RTCP_APP = 204 + }; + + struct RTCPAckHeader { + +#if 0 + //ackheader + unsigned int version:2; /* protocol version */ + unsigned int p:1; /* padding flag */ + unsigned int subtype:5; /* the subtype of ack */ + unsigned int pt:8; /* RTCP packet type */ +#endif + + UInt16 ackheader; + UInt16 length; /* pkt len in words, w/o this word */ + UInt32 SSRC; /* sender generating this packet */ + UInt32 name; /* four ASCII chars */ + UInt32 SSRC1; /* SSRC of the stream */ + UInt16 reserved; + UInt16 seqNum; + }; + + public: + RTCPAckPacketFmt() : fBitMaskSize(0) {} + RTCPAckPacketFmt(StrPtrLen &newBuffer) : fBitMaskSize(0) { SetBuffer(newBuffer); } + RTCPAckPacketFmt(char *newBuffer, UInt32 bufLen) : fBitMaskSize(0) { SetBuffer(newBuffer, bufLen); } + + //Setting the buffer resets the packet + void SetBuffer(StrPtrLen &newBuffer) { return this->SetBuffer(newBuffer.Ptr, newBuffer.Len); } + void SetBuffer(char *newBuffer, UInt32 bufLen) + { + Assert(sizeof(RTCPAckHeader) == 20); + Assert(bufLen >= sizeof(RTCPAckHeader)); + + fBitMaskSize = 0; + fBuf.Set(newBuffer, bufLen); + + //fill in the header + RTCPAckHeader &header = *reinterpret_cast(fBuf.Ptr); + ::memset(&header, 0, sizeof(header)); + header.ackheader = htons(0x80CC); //(RTP_VERSION << 14) + RTCP_APP; + header.length = htons(GetPacketLen() / 4 - 1); + header.name = htonl(FOUR_CHARS_TO_INT('q', 't', 'a', 'k')); + } + + void SetSSRC(UInt32 SSRC) + { + RTCPAckHeader &header = *reinterpret_cast(fBuf.Ptr); + header.SSRC = htonl(SSRC); + } + + //Can handle duplicates + void SetAcks(SVector AckList, UInt32 serverSSRC) + { + Assert(!AckList.empty()); + ::qsort(AckList.begin(), AckList.size(), sizeof(UInt32), UInt32Compare); + + RTCPAckHeader &header = *reinterpret_cast(fBuf.Ptr); + header.SSRC1 = htonl(serverSSRC); + header.seqNum = htons(static_cast(AckList.front())); + + fBitMaskSize = 0; + if (AckList.front() == AckList.back()) //no mask is needed + return; + + //figure out how big the mask is supposed to be + UInt32 slotsInMaskNeeded = AckList.back() - AckList.front(); + fBitMaskSize = slotsInMaskNeeded % 32 == 0 ? (slotsInMaskNeeded / 32) * 4 : (slotsInMaskNeeded / 32 + 1) * 4; + + header.length = htons(GetPacketLen() / 4 - 1); + Assert(fBuf.Len >= GetPacketLen()); + + UInt32 *mask = reinterpret_cast(fBuf.Ptr + sizeof(RTCPAckHeader)); + ::memset(mask, 0, fBitMaskSize); + + //calculate where the bit to set is supposed to be and sets the bits + for(UInt32 i = 1; i < AckList.size(); ++i) + { + if (AckList.front() == AckList[i]) + continue; + + UInt32 diff = AckList[i] - (AckList.front() + 1); + UInt32 maskIndex = diff / 32; + UInt32 shiftSize = diff % 32; + mask[maskIndex] |= 0x80000000 >> shiftSize; + Assert(maskIndex * 4 < fBitMaskSize); + } + + //restore big-endianess of the mask + for(UInt32 i = 0; i < fBitMaskSize / 4; ++i) + mask[i] = htonl(mask[i]); + } + + //The length of packet written out + UInt32 GetPacketLen() { return sizeof(RTCPAckHeader) + fBitMaskSize; } + StrPtrLen GetBufferRemaining() { return StrPtrLen(fBuf.Ptr + GetPacketLen(), fBuf.Len - GetPacketLen()); } + StrPtrLen GetPacket() { return StrPtrLen(fBuf.Ptr, GetPacketLen()); } + + private: + static int UInt32Compare(const void *left, const void *right) + { + UInt32 l = *reinterpret_cast(left); + UInt32 r = *reinterpret_cast(right); + return l < r ? -1 : l > r ? 1 : 0; + } + + StrPtrLen fBuf; + UInt32 fBitMaskSize; // in bytes, not words +}; + +#endif //_RTCPACKPACKETFMT_H_ diff --git a/RTCPUtilitiesLib/RTCPNADUPacketFmt.h b/RTCPUtilitiesLib/RTCPNADUPacketFmt.h new file mode 100644 index 0000000..554c8ed --- /dev/null +++ b/RTCPUtilitiesLib/RTCPNADUPacketFmt.h @@ -0,0 +1,132 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPAPPNADUPacketFmt.h + + Some useful things for Generating a 3GPP NADU packet +*/ + +#ifndef _RTCPNADUPACKETFMT_H_ +#define _RTCPNADUPACKETFMT_H_ + +#include "StrPtrLen.h" +#include "arpa/inet.h" +#include "OSHeaders.h" +#include "MyAssert.h" + +class RTCPNADUPacketFmt +{ + enum { + RTP_VERSION = 2, + RTCP_SR = 200, + RTCP_RR = 201, + RTCP_SDES = 202, + RTCP_BYE = 203, + RTCP_APP = 204 + }; + + struct NADUHeader { +#if 0 + //naduheader + unsigned int version:2; /* protocol version */ + unsigned int p:1; /* padding flag */ + unsigned int subtype:5; /* 0 */ + unsigned int pt:8; /* RTCP packet type -- which should be RTCP_APP */ +#endif + + UInt16 naduHeader; + UInt16 length; /* packet length in words, minus 1 word */ + UInt32 SSRC; /* SSRC of packet sender */ + UInt32 name; /* in ASCII */ + }; + + struct NADUBlock { + UInt32 SSRC; /* data source being reported */ + UInt16 delay; /* the playout delay, in milliseconds */ + UInt16 NSN; /* the RTP sequence number of the next ADU to be decoded; if the buffer is empty then the next not yet received sequence number */ + UInt16 NUN; /* the unit number of the next ADU to be decoded */ + UInt16 FBS; /* the free buffer space, in complete 64 byte blocks */ + }; + + public: + RTCPNADUPacketFmt() : fNumNADUBlocks(0) {} + RTCPNADUPacketFmt(StrPtrLen &newBuffer) : fNumNADUBlocks(0) { SetBuffer(newBuffer); } + RTCPNADUPacketFmt(char *newBuffer, UInt32 bufLen) : fNumNADUBlocks(0) { SetBuffer(newBuffer, bufLen); } + + //Setting the buffer resets the packet content + void SetBuffer(StrPtrLen &newBuffer) { return this->SetBuffer(newBuffer.Ptr, newBuffer.Len); } + void SetBuffer(char *newBuffer, UInt32 bufLen) + { + Assert(sizeof(NADUHeader) == 12); + Assert(sizeof(NADUBlock) == 12); + Assert(bufLen >= sizeof(NADUHeader)); + + fBuf.Set(newBuffer, bufLen); + fNumNADUBlocks = 0; + + //fill in the header + NADUHeader &header = *reinterpret_cast(fBuf.Ptr); + ::memset(&header, 0, sizeof(header)); + header.naduHeader = htons(0x80CC); //(RTP_VERSION << 14) + RTCP_APP; + header.name = htonl(FOUR_CHARS_TO_INT('P', 'S', 'S', '0')); + header.length = htons(GetPacketLen() / 4 - 1); + } + + //units are in milliseconds and in bytes; use a playoutDelay of kUInt32_Max if the buffer is empty + void AddNADUBlock(UInt32 SSRC, UInt32 nextSeqNum, UInt8 nextUnitNum, UInt32 freeBufferSpace, UInt32 playoutDelay = kUInt32_Max) + { + Assert(fBuf.Len >= GetPacketLen() + sizeof(NADUBlock)); + NADUBlock &nadu = *reinterpret_cast(fBuf.Ptr + GetPacketLen()); + ::memset(&nadu, 0, sizeof(NADUBlock)); + + fNumNADUBlocks++; + reinterpret_cast(fBuf.Ptr)->length = htons(GetPacketLen() / 4 - 1); + + nadu.SSRC = htonl(SSRC); + nadu.NSN = htons(static_cast(nextSeqNum)); + nadu.NUN = htons(nextUnitNum & 0x1F); + + //Use reserved value of 0xffff for undefined + playoutDelay = MIN(0xffff, playoutDelay); + nadu.delay = htons(static_cast(playoutDelay)); + + //the free buffer space is reported in 64 bytes blocks, and maximum value is 0xffff + freeBufferSpace = MIN(0xffff, freeBufferSpace / 64); + nadu.FBS = htons(static_cast(freeBufferSpace)); + } + + void SetSSRC(UInt32 SSRC) { reinterpret_cast(fBuf.Ptr)->SSRC = htonl(SSRC); } + + //The length of packet written out + UInt32 GetPacketLen() { return sizeof(NADUHeader) + sizeof(NADUBlock) * fNumNADUBlocks; } + StrPtrLen GetBufferRemaining() { return StrPtrLen(fBuf.Ptr + GetPacketLen(), fBuf.Len - GetPacketLen()); } + StrPtrLen GetPacket() { return StrPtrLen(fBuf.Ptr, GetPacketLen()); } + + private: + StrPtrLen fBuf; + UInt32 fNumNADUBlocks; +}; + +#endif //_RTCPNADUPACKETFMT_H_ diff --git a/RTCPUtilitiesLib/RTCPPacket.cpp b/RTCPUtilitiesLib/RTCPPacket.cpp index 7f915d5..c939205 100644 --- a/RTCPUtilitiesLib/RTCPPacket.cpp +++ b/RTCPUtilitiesLib/RTCPPacket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -35,22 +35,30 @@ #include "OS.h" #include +#define RTCP_PACKET_DEBUG 0 //returns true if successful, false otherwise Bool16 RTCPPacket::ParsePacket(UInt8* inPacketBuffer, UInt32 inPacketLen) { if (inPacketLen < kRTCPPacketSizeInBytes) return false; + fReceiverPacketBuffer = inPacketBuffer; - + if (RTCP_PACKET_DEBUG) qtss_printf("RTCPPacket::ParsePacket first 4 bytes of packet=%x \n", ntohl( *(UInt32 *)inPacketBuffer)); + //the length of this packet can be no less than the advertised length (which is //in 32-bit words, so we must multiply) plus the size of the header (4 bytes) + if (RTCP_PACKET_DEBUG) qtss_printf("RTCPPacket::ParsePacket len=%"_U32BITARG_" min allowed=%"_U32BITARG_"\n", inPacketLen,(UInt32)((this->GetPacketLength() * 4) + kRTCPHeaderSizeInBytes)); if (inPacketLen < (UInt32)((this->GetPacketLength() * 4) + kRTCPHeaderSizeInBytes)) + { if (RTCP_PACKET_DEBUG) qtss_printf("RTCPPacket::ParsePacket invalid len=%"_U32BITARG_"\n", inPacketLen); return false; + } //do some basic validation on the packet if (this->GetVersion() != kSupportedRTCPVersion) + { if (RTCP_PACKET_DEBUG) qtss_printf("RTCPPacket::ParsePacket unsupported version\n"); return false; + } return true; } @@ -58,10 +66,10 @@ Bool16 RTCPPacket::ParsePacket(UInt8* inPacketBuffer, UInt32 inPacketLen) void RTCPReceiverPacket::Dump()//Override { RTCPPacket::Dump(); - + qtss_printf("\n"); for (int i = 0;iGetReportCount(); i++) { - qtss_printf( " [%d] H_ssrc=%lu, H_frac_lost=%d, H_tot_lost=%lu, H_high_seq=%lu H_jit=%lu, H_last_sr_time=%lu, H_last_sr_delay=%lu \n", + qtss_printf( " RTCP RR Report[%d] H_ssrc=%"_U32BITARG_", H_frac_lost=%d, H_tot_lost=%"_U32BITARG_", H_high_seq=%"_U32BITARG_" H_jit=%"_U32BITARG_", H_last_sr_time=%"_U32BITARG_", H_last_sr_delay=%"_U32BITARG_" \n", i, this->GetReportSourceID(i), this->GetFractionLostPackets(i), @@ -76,7 +84,7 @@ void RTCPReceiverPacket::Dump()//Override } -Bool16 RTCPReceiverPacket::ParseReceiverReport(UInt8* inPacketBuffer, UInt32 inPacketLength) +Bool16 RTCPReceiverPacket::ParseReport(UInt8* inPacketBuffer, UInt32 inPacketLength) { Bool16 ok = this->ParsePacket(inPacketBuffer, inPacketLength); if (!ok) @@ -85,11 +93,13 @@ Bool16 RTCPReceiverPacket::ParseReceiverReport(UInt8* inPacketBuffer, UInt32 inP fRTCPReceiverReportArray = inPacketBuffer + kRTCPPacketSizeInBytes; //this is the maximum number of reports there could possibly be - int theNumReports = (inPacketLength - kRTCPPacketSizeInBytes) / kReportBlockOffsetSizeInBytes; + int theMaxReports = (inPacketLength - kRTCPPacketSizeInBytes) / kReportBlockOffsetSizeInBytes; //if the number of receiver reports is greater than the theoretical limit, return an error. - if (this->GetReportCount() > theNumReports) + if (this->GetReportCount() > theMaxReports) + { if (RTCP_PACKET_DEBUG) printf("RTCPReceiverPacket::ParseReport this rtcp report count=%d > max reports=%d\n",this->GetReportCount(), theMaxReports); return false; + } return true; } @@ -132,11 +142,30 @@ UInt32 RTCPReceiverPacket::GetCumulativeTotalLostPackets() } +Bool16 RTCPSenderReportPacket::ParseReport(UInt8* inPacketBuffer, UInt32 inPacketLength) +{ + Bool16 ok = this->ParsePacket(inPacketBuffer, inPacketLength); + if (!ok) + return false; + if (inPacketLength < kRTCPPacketSizeInBytes + kRTCPSRPacketSenderInfoInBytes) + return false; + + fRTCPReceiverReportArray = inPacketBuffer + kRTCPPacketSizeInBytes + kRTCPSRPacketSenderInfoInBytes; + + //this is the maximum number of reports there could possibly be + int theNumReports = (inPacketLength - kRTCPPacketSizeInBytes - kRTCPSRPacketSenderInfoInBytes) / kReportBlockOffsetSizeInBytes; + + //if the number of receiver reports is greater than the theoretical limit, return an error. + if (this->GetReportCount() > theNumReports) + return false; + + return true; +} void RTCPPacket::Dump() { - qtss_printf( "H_vers=%d, H_pad=%d, H_rprt_count=%d, H_type=%d, H_length=%d, H_ssrc=%ld\n", + qtss_printf( "H_vers=%d, H_pad=%d, H_rprt_count=%d, H_type=%d, H_length=%d, H_ssrc=%"_S32BITARG_"", this->GetVersion(), (int)this->GetHasPadding(), this->GetReportCount(), diff --git a/RTCPUtilitiesLib/RTCPPacket.h b/RTCPUtilitiesLib/RTCPPacket.h index 46032b5..b46abd5 100644 --- a/RTCPUtilitiesLib/RTCPPacket.h +++ b/RTCPUtilitiesLib/RTCPPacket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -73,7 +73,7 @@ class RTCPPacket inline SInt16 GetHeader(); UInt8* GetPacketBuffer() { return fReceiverPacketBuffer; } - Bool16 IsValidPacket(); + //Bool16 IsValidPacket(); virtual void Dump(); @@ -136,7 +136,7 @@ class RTCPReceiverPacket : public RTCPPacket RTCPReceiverPacket() : RTCPPacket(), fRTCPReceiverReportArray(NULL) {} //Call this before any accessor method. Returns true if successful, false otherwise - Bool16 ParseReceiverReport(UInt8* inPacketBuffer, UInt32 inPacketLength); + virtual Bool16 ParseReport(UInt8* inPacketBuffer, UInt32 inPacketLength); inline UInt32 GetReportSourceID(int inReportNum); UInt8 GetFractionLostPackets(int inReportNum); @@ -150,7 +150,7 @@ class RTCPReceiverPacket : public RTCPPacket UInt32 GetCumulativeTotalLostPackets(); UInt32 GetCumulativeJitter(); - Bool16 IsValidPacket(); + //Bool16 IsValidPacket(); virtual void Dump(); //Override @@ -176,9 +176,35 @@ class RTCPReceiverPacket : public RTCPPacket kLastSenderReportOffset = 16, kLastSenderReportDelayOffset = 20 }; +}; +class RTCPSenderReportPacket : public RTCPReceiverPacket +{ +public: + Bool16 ParseReport(UInt8* inPacketBuffer, UInt32 inPacketLength); + SInt64 GetNTPTimeStamp() + { + UInt32* fieldPtr = (UInt32*)&fReceiverPacketBuffer[kSRPacketNTPTimeStampMSW]; + SInt64 timestamp = ntohl(*fieldPtr); + fieldPtr = (UInt32*)&fReceiverPacketBuffer[kSRPacketNTPTimeStampLSW]; + return (timestamp << 32) | ntohl(*fieldPtr); + } + UInt32 GetRTPTimeStamp() + { + UInt32* fieldPtr = (UInt32*)&fReceiverPacketBuffer[kSRPacketRTPTimeStamp]; + return ntohl(*fieldPtr); + } +protected: + enum + { + kRTCPSRPacketSenderInfoInBytes = 20, + kSRPacketNTPTimeStampMSW = 8, + kSRPacketNTPTimeStampLSW = 12, + kSRPacketRTPTimeStamp = 16 + }; }; + /************** RTCPPacket inlines **************/ inline int RTCPPacket::GetVersion() { @@ -210,12 +236,16 @@ inline UInt8 RTCPPacket::GetPacketType() inline UInt16 RTCPPacket::GetPacketLength() { - return (UInt16) ( ntohl(*(UInt32*)&fReceiverPacketBuffer[kPacketLengthOffset]) & kPacketLengthMask); + UInt32* fieldPtr = (UInt32*)&fReceiverPacketBuffer[kPacketLengthOffset]; + UInt32 field = ntohl(*fieldPtr); + return (UInt16) (field & kPacketLengthMask); } inline UInt32 RTCPPacket::GetPacketSSRC() { - return (UInt32) ntohl(*(UInt32*)&fReceiverPacketBuffer[kPacketSourceIDOffset]) ; + UInt32* fieldPtr = (UInt32*)&fReceiverPacketBuffer[kPacketSourceIDOffset]; + UInt32 field = ntohl(*fieldPtr); + return field; } inline SInt16 RTCPPacket::GetHeader(){ return (SInt16) ntohs(*(SInt16*)&fReceiverPacketBuffer[0]) ;} diff --git a/RTCPUtilitiesLib/RTCPRRPacket.h b/RTCPUtilitiesLib/RTCPRRPacket.h new file mode 100644 index 0000000..7ed8665 --- /dev/null +++ b/RTCPUtilitiesLib/RTCPRRPacket.h @@ -0,0 +1,153 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTCPRRPacket.h + + Some useful things for Generating Receiver Report Packet +*/ + +#ifndef _RTCPRRPACKET_H_ +#define _RTCPRRPACKET_H_ + +#include "StrPtrLen.h" +#include "arpa/inet.h" +#include "OSHeaders.h" +#include "MyAssert.h" + +class RTCPRRPacket +{ + enum { + RTP_VERSION = 2, + RTCP_SR = 200, + RTCP_RR = 201, + RTCP_SDES = 202, + RTCP_BYE = 203, + RTCP_APP = 204, + + MAX_REPORTS = 0x1F // 5 bits + }; + + struct RTCPRRHeader { +#if 0 + //receiver report header + unsigned int version:2; /* protocol version */ + unsigned int p:1; /* padding flag */ + unsigned int count:5; /* varies by packet type */ + unsigned int pt:8; /* RTCP packet type */ +#endif + UInt16 rrheader; + UInt16 length; /* packet length in words, minus 1 word */ + UInt32 SSRC; /* SSRC of packet sender */ + }; + + struct RTCPReportBlock { + UInt32 ssrc; /* data source being reported */ + unsigned int fraction:8; /* fraction lost since last SR/RR */ + int lost:24; /* cumul. no. of pkts lost (signed!) */ + UInt32 last_seq; /* extended last seq. no. received */ + UInt32 jitter; /* interarrival jitter */ + UInt32 lsr; /* last SR packet from this source */ + UInt32 dlsr; /* delay since last SR packet */ + }; + + public: + RTCPRRPacket() : fNumReportBlocks(0) {} + RTCPRRPacket(StrPtrLen &newBuffer) : fNumReportBlocks(0) { SetBuffer(newBuffer); } + RTCPRRPacket(char *newBuffer, UInt32 bufLen) : fNumReportBlocks(0) { SetBuffer(newBuffer, bufLen); } + + + //Setting the buffer resets the packet content + void SetBuffer(StrPtrLen &newBuffer) { return this->SetBuffer(newBuffer.Ptr, newBuffer.Len); } + void SetBuffer(char *newBuffer, UInt32 bufLen) + { + Assert(sizeof(RTCPRRHeader) == 8); + Assert(sizeof(RTCPReportBlock) == 24); + Assert(bufLen >= sizeof(RTCPRRHeader)); + + fBuf.Set(newBuffer, bufLen); + fNumReportBlocks = 0; + + //fill in the header + RTCPRRHeader &header = *reinterpret_cast(fBuf.Ptr); + ::memset(&header, 0, sizeof(header)); + header.rrheader = htons(0x80C9); //(RTP_VERSION << 14) + RTCP_RR; + header.length = htons(GetPacketLen() / 4 - 1); + } + + void SetSSRC(UInt32 SSRC) { reinterpret_cast(fBuf.Ptr)->SSRC = htonl(SSRC); } + + + void SetCount(UInt16 count) + { + if (count > MAX_REPORTS) //5 bits + { return; + } + + UInt16 newVal = ntohs(*reinterpret_cast(fBuf.Ptr)); + count <<= 8; + newVal |= count; + *reinterpret_cast(fBuf.Ptr) = htons(newVal); + + } + + void AddReportBlock(UInt32 SSRC, UInt8 fractionLost, SInt32 cumLostPackets, UInt32 highestSeqNum, UInt32 lsr, UInt32 dlsr) + { + Assert(fBuf.Len >= GetPacketLen() + sizeof(RTCPReportBlock)); + if (fNumReportBlocks >= MAX_REPORTS) + { return; + } + + RTCPReportBlock &reportBlock = *reinterpret_cast(fBuf.Ptr + GetPacketLen()); + ::memset(&reportBlock, 0, sizeof(RTCPReportBlock)); + + reportBlock.ssrc = htonl(SSRC); + reportBlock.fraction = fractionLost; + reportBlock.last_seq = htonl(highestSeqNum); + reportBlock.lsr = htonl(lsr); + reportBlock.dlsr = htonl(dlsr); + + //since the cumulative packets lost is a 24 bit signed integer, its clamped between 0x7fffff and 0x800000) + if(cumLostPackets > 0x7fffff) + reportBlock.lost = htonl(0x7fffff); + else if (cumLostPackets < static_cast(0xff800000)) + reportBlock.lost = htonl(0x800000); + else + reportBlock.lost = htonl(cumLostPackets); + + SetCount(++fNumReportBlocks); + reinterpret_cast(fBuf.Ptr)->length = htons(GetPacketLen() / 4 - 1); + } + + //The length of packet written out + UInt32 GetPacketLen() { return sizeof(RTCPRRHeader) + sizeof(RTCPReportBlock) * fNumReportBlocks; } + StrPtrLen GetBufferRemaining() { return StrPtrLen(fBuf.Ptr + GetPacketLen(), fBuf.Len - GetPacketLen()); } + StrPtrLen GetPacket() { return StrPtrLen(fBuf.Ptr, GetPacketLen()); } + + private: + StrPtrLen fBuf; + UInt32 fNumReportBlocks; +}; + +#endif //_RTCPRRPACKET_H_ diff --git a/RTCPUtilitiesLib/RTCPSRPacket.cpp b/RTCPUtilitiesLib/RTCPSRPacket.cpp index 6c4ce1a..39054f1 100644 --- a/RTCPUtilitiesLib/RTCPSRPacket.cpp +++ b/RTCPUtilitiesLib/RTCPSRPacket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/RTCPUtilitiesLib/RTCPSRPacket.h b/RTCPUtilitiesLib/RTCPSRPacket.h index 2fbc1e4..a3b9a4d 100644 --- a/RTCPUtilitiesLib/RTCPSRPacket.h +++ b/RTCPUtilitiesLib/RTCPSRPacket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/RTPMetaInfoLib/RTPMetaInfoPacket.cpp b/RTPMetaInfoLib/RTPMetaInfoPacket.cpp index e4d8ee8..423d369 100644 --- a/RTPMetaInfoLib/RTPMetaInfoPacket.cpp +++ b/RTPMetaInfoLib/RTPMetaInfoPacket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/RTPMetaInfoLib/RTPMetaInfoPacket.h b/RTPMetaInfoLib/RTPMetaInfoPacket.h index a182022..98fc77b 100644 --- a/RTPMetaInfoLib/RTPMetaInfoPacket.h +++ b/RTPMetaInfoLib/RTPMetaInfoPacket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/RTSPClientLib/ClientSession.cpp b/RTSPClientLib/ClientSession.cpp index 8417be6..204d330 100644 --- a/RTSPClientLib/ClientSession.cpp +++ b/RTSPClientLib/ClientSession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -31,15 +31,31 @@ */ +#include +//#include #include "ClientSession.h" #include "OSMemory.h" -#include #include "SafeStdLib.h" +#include "OSHeaders.h" +#include "OS.h" +#include "RTPPacket.h" +#include "RTCPPacket.h" +#include "RTCPRRPacket.h" +#include "RTCPAckPacketFmt.h" +#include "RTCPNADUPacketFmt.h" + +//These two parameters governs how the client determines whether an incoming RTP packet is within the range of the sequence number or not. +enum { + kMaxDropOut = 3000, //The sequence number can be kMaxDropOut ahead of the reference. + kMaxMisorder = 100, //The sequence number can be kMaxMisorder behind of the reference. + kMaxUDPPacketSize = 1450 +}; + #define CLIENT_SESSION_DEBUG 0 static const SInt64 kMaxWaitTimeInMsec = 5000; static const SInt64 kIdleTimeoutInMsec = 20000; // Time out in 20 seconds if nothing's doing -static const SInt16 kSanitySeqNumDifference = 3000; +static const SInt16 kSanitySeqNumDifference = 3000; //how large a difference can two sequence number be and still be considered to be in range UInt32 ClientSession::sActiveConnections = 0; UInt32 ClientSession::sPlayingConnections = 0; @@ -76,18 +92,21 @@ char* ConvertBytesToCHexString( void* inValue, const UInt32 inValueLen) ClientSession::ClientSession( UInt32 inAddr, UInt16 inPort, char* inURL, ClientType inClientType, UInt32 inDurationInSec, UInt32 inStartPlayTimeInSec, - UInt32 inRTCPIntervalInSec, UInt32 inOptionsIntervalInSec, + UInt32 inRTCPIntervalInMS, UInt32 inOptionsIntervalInSec, UInt32 inHTTPCookie, Bool16 inAppendJunkData, UInt32 inReadInterval, UInt32 inSockRcvBufSize, Float32 inLateTolerance, char* inMetaInfoFields, - Float32 inSpeed, Bool16 inVerbosePrinting, char* inPacketRangePlayHeader, UInt32 inOverbufferWindowSizeInK, - Bool16 sendOptions, Bool16 requestRandomData, SInt32 randomDataSize) + Float32 inSpeed, UInt32 verboseLevel, char* inPacketRangePlayHeader, UInt32 inOverbufferWindowSizeInK, + Bool16 sendOptions, Bool16 requestRandomData, SInt32 randomDataSize, Bool16 enable3GPP, + UInt32 GBW, UInt32 MBW, UInt32 MTD, Bool16 enableForcePlayoutDelay, UInt32 playoutDelay, + UInt32 bandwidth, UInt32 bufferSpace, UInt32 delayTime, UInt32 startPlayDelay, + char *controlID, char *name, char *password) : fSocket(NULL), fClient(NULL), fTimeoutTask(this, kIdleTimeoutInMsec), fDurationInSec(inDurationInSec - inStartPlayTimeInSec), fStartPlayTimeInSec(inStartPlayTimeInSec), - fRTCPIntervalInSec(inRTCPIntervalInSec), + fRTCPIntervalInMs(inRTCPIntervalInMS), fOptionsIntervalInSec(inOptionsIntervalInSec), fOptions(sendOptions), @@ -110,20 +129,42 @@ ClientSession::ClientSession( UInt32 inAddr, UInt16 inPort, char* inURL, fSpeed(inSpeed), fPacketRangePlayHeader(inPacketRangePlayHeader), - fStats(NULL), + + fGuarenteedBitRate(GBW), + fMaxBitRate(MBW), + fMaxTransferDelay(MTD), + fEnableForcePlayoutDelay(enableForcePlayoutDelay), + fPlayoutDelay(playoutDelay), + fBandwidth(bandwidth), + fBufferSpace(bufferSpace), + fDelayTime(delayTime), + fStartPlayDelay(startPlayDelay), + fEnable3GPP(enable3GPP), + + //fStats(NULL), fOverbufferWindowSizeInK(inOverbufferWindowSizeInK), fCurRTCPTrack(0), - fNumPacketsReceived(0) + fNumPacketsReceived(0), + fNumBytesReceived(0), + fVerboseLevel(verboseLevel), + fPlayerSimulator(verboseLevel) { this->SetTaskName("RTSPClientLib:ClientSession"); StrPtrLen theURL(inURL); if (true == sendOptions) fState = kSendingOptions; - + #if CLIENT_SESSION_DEBUG - //qtss_printf("Connecting to: %s, port %d\n", inet_ntoa(inAddr), inPort); -#endif + fVerboseLevel = kUInt32_Max; //maximum possible unsigned int value in 2's complement +#endif + if ( fVerboseLevel >= 2) + { + in_addr inAddrStruct; + inAddrStruct.s_addr = inAddr; + qtss_printf("Connecting to: %s, port %d\n", inet_ntoa(inAddrStruct), inPort); + } + // // Construct the appropriate ClientSocket type depending on what type of client we are supposed to be switch (inClientType) @@ -174,10 +215,27 @@ ClientSession::ClientSession( UInt32 inAddr, UInt16 inPort, char* inURL, // // Construct the client object using this socket. - fClient = NEW RTSPClient(fSocket, inVerbosePrinting); + fClient = NEW RTSPClient(fSocket); + fClient->SetVerboseLevel(fVerboseLevel); fClient->Set(theURL); fClient->SetSetupParams(inLateTolerance, inMetaInfoFields); + fClient->SetBandwidth(fBandwidth); + if(controlID != NULL) + fClient->SetControlID(controlID); + + if (enable3GPP) + { + fClient->Set3GPPLinkChars(fGuarenteedBitRate, fMaxBitRate, fMaxTransferDelay); + fClient->Set3GPPRateAdaptation(fBufferSpace, fDelayTime); + } + //user name and password + if (name != NULL && password != NULL) + { + fClient->SetName(name); + fClient->SetPassword(password); + } + // // Start the connection process going this->Signal(Task::kStartEvent); @@ -210,6 +268,7 @@ ClientSession::~ClientSession() delete [] fUDPSocketArray; delete fClient; delete fSocket; + //delete fStats; } @@ -221,18 +280,25 @@ SInt64 ClientSession::Run() { sActiveConnections++; sTotalConnectionAttempts++; - Assert(theEvents == Task::kStartEvent); - // - // Determine a random connection interval, and go away until that time comes around. - return ::rand() % kMaxWaitTimeInMsec; + //Sometimes the clientSession can be told to stop before it has a chance to start the connection + if (theEvents & ClientSession::kTeardownEvent) + fTeardownImmediately = true; + else + { + Assert(theEvents == Task::kStartEvent); + // Determine a random connection interval, and go away until that time comes around. + // Next time the event received would be Task::kIdleEvent, and the initial state is kSendingDescribe + return ((UInt32) ::rand()) % kMaxWaitTimeInMsec + 1; + } } // if (theEvents & Task::kTimeoutEvent) { -#if CLIENT_SESSION_DEBUG - qtss_printf("Session timing out.\n"); -#endif + if(fState == kDone) + return 0; + if ( fVerboseLevel >= 2) + qtss_printf("Session timing out.\n"); fDeathReason = kSessionTimedout; fState = kDone; return 0; @@ -242,18 +308,16 @@ SInt64 ClientSession::Run() // If we've been told to TEARDOWN, do so. if (theEvents & ClientSession::kTeardownEvent) { -#if CLIENT_SESSION_DEBUG - qtss_printf("Session tearing down immediately.\n"); -#endif + if ( fVerboseLevel >= 2) + qtss_printf("Session tearing down immediately.\n"); fTeardownImmediately = true; } // We have been told to delete ourselves. Do so... NOW!!!!!!!!!!!!!!! if (theEvents & Task::kKillEvent) { -#if CLIENT_SESSION_DEBUG - qtss_printf("Session killed.\n"); -#endif + if ( fVerboseLevel >= 2) + qtss_printf("Session killed.\n"); sActiveConnections--; return -1; } @@ -276,9 +340,8 @@ SInt64 ClientSession::Run() else theErr = fClient->SendOptions(); -#if CLIENT_SESSION_DEBUG - qtss_printf("Sending OPTIONS. Result = %lu. Response code = %lu\n", theErr, fClient->GetStatus()); -#endif + if ( fVerboseLevel >= 3) + qtss_printf("Sent OPTIONS. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fClient->GetStatus()); if (0 == fTransactionStartTimeMilli) fTransactionStartTimeMilli = OS::Milliseconds(); @@ -293,12 +356,12 @@ SInt64 ClientSession::Run() } else { - if (fClient->IsVerbose()) + if ( fVerboseLevel >= 3) { qtss_printf("--- Options transaction time ms = %qd ---\n", (SInt64) ( OS::Milliseconds() - fTransactionStartTimeMilli) ); SInt32 receivedLength = (SInt32) fClient->GetContentLength(); if (receivedLength != 0) - qtss_printf("--- Options Request Random Data Received requested = %ld received = %ld ---\n", fOptionsRandomDataSize, receivedLength); + qtss_printf("--- Options Request Random Data Received requested = %"_S32BITARG_" received = %"_S32BITARG_" ---\n", fOptionsRandomDataSize, receivedLength); StrPtrLenDel theBody(ConvertBytesToCHexString(fClient->GetContentBody(), receivedLength)); theBody.PrintStr("\n"); @@ -312,9 +375,8 @@ SInt64 ClientSession::Run() case kSendingDescribe: { theErr = fClient->SendDescribe(fAppendJunk); -#if CLIENT_SESSION_DEBUG - qtss_printf("Sending DESCRIBE. Result = %lu. Response code = %lu\n", theErr, fClient->GetStatus()); -#endif + if ( fVerboseLevel >= 3) + qtss_printf("Sent DESCRIBE. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fClient->GetStatus()); if (theErr == OS_NoErr) { // Check that the DESCRIBE response is a 200 OK. If not, bail @@ -344,9 +406,14 @@ SInt64 ClientSession::Run() // // Setup client stats - fStats = NEW TrackStats[fSDPParser.GetNumStreams()]; - ::memset(fStats, 0, sizeof(TrackStats) * fSDPParser.GetNumStreams()); + //delete fStats; + //fStats = NEW TrackStats[fSDPParser.GetNumStreams()]; + fStats.resize(fSDPParser.GetNumStreams()); + //::memset(fStats, 0, sizeof(TrackStats) * fSDPParser.GetNumStreams()); + + } + fPlayerSimulator.Setup(fSDPParser.GetNumStreams(), fDelayTime, fStartPlayDelay); fState = kSendingSetup; } break; @@ -369,9 +436,9 @@ SInt64 ClientSession::Run() theErr = fClient->SendReliableUDPSetup(fSDPParser.GetStreamInfo(fNumSetups)->fTrackID, fUDPSocketArray[fNumSetups*2]->GetLocalPort()); } -#if CLIENT_SESSION_DEBUG - qtss_printf("Sending SETUP #%lu. Result = %lu. Response code = %lu\n", fNumSetups, theErr, fClient->GetStatus()); -#endif + if ( fVerboseLevel >= 3) + qtss_printf("Sent SETUP #%"_U32BITARG_". Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", + fNumSetups, theErr, fClient->GetStatus()); // // If this SETUP request / response is complete, check for errors, and if // it succeeded, move onto the next SETUP. If we're done setting up all tracks, @@ -388,6 +455,18 @@ SInt64 ClientSession::Run() // Record the server port for RTCPs. fStats[fNumSetups].fDestRTCPPort = fClient->GetServerPort() + 1; + //obtain the sampling rate of this stream + StringParser parser = StringParser(&fSDPParser.GetStreamInfo(fNumSetups)->fPayloadName); + parser.GetThru(NULL, '/'); + UInt32 samplingRate = parser.ConsumeInteger(NULL); + Assert(samplingRate != 0); + + //Generates the client SSRC + SInt64 ms = OS::Microseconds(); + UInt32 ssrc = static_cast((ms >> 32) ^ ms) + ::rand(); + fStats[fNumSetups].fClientSSRC = ssrc + fNumSetups; + + fPlayerSimulator.SetupTrack(fNumSetups, samplingRate, fBufferSpace); fNumSetups++; if (fNumSetups == fSDPParser.GetNumStreams()) fState = kSendingPlay; @@ -401,9 +480,9 @@ SInt64 ClientSession::Run() theErr = fClient->SendPacketRangePlay(fPacketRangePlayHeader, fSpeed); else theErr = fClient->SendPlay(fStartPlayTimeInSec, fSpeed); -#if CLIENT_SESSION_DEBUG - qtss_printf("Sending PLAY. Result = %lu. Response code = %lu\n", theErr, fClient->GetStatus()); -#endif + if ( fVerboseLevel >= 3) + qtss_printf("Sent PLAY. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fClient->GetStatus()); + // // If this PLAY request / response is complete, then we are done with setting // up all the client crap. Now all we have to do is receive the data until it's // time to send the TEARDOWN @@ -417,83 +496,90 @@ SInt64 ClientSession::Run() // Mark down the SSRC for each track, if possible. for (UInt32 ssrcCount = 0; ssrcCount < fSDPParser.GetNumStreams(); ssrcCount++) - { - fStats[ssrcCount].fSSRC = fClient->GetSSRCByTrack(fSDPParser.GetStreamInfo(ssrcCount)->fTrackID); - if (fStats[ssrcCount].fSSRC != 0) - fStats[ssrcCount].fIsSSRCValid = true; - } + fStats[ssrcCount].fServerSSRC = fClient->GetSSRCByTrack(fSDPParser.GetStreamInfo(ssrcCount)->fTrackID); fState = kPlaying; sPlayingConnections++; // // Start our duration timer. Use this to figure out when to send a teardown - fPlayTime = fLastRTCPTime = OS::Milliseconds(); + fPlayTime = fLastRTCPTime = OS::Milliseconds(); + + if(fVerboseLevel >= 1) + { + for (UInt32 i = 0; i < fSDPParser.GetNumStreams(); i++) + { + QTSS_RTPPayloadType type = fSDPParser.GetStreamInfo(i)->fPayloadType; + qtss_printf("Receiving track %"_U32BITARG_", trackID=%"_U32BITARG_", %s at time %"_S64BITARG_"\n", + i, fSDPParser.GetStreamInfo(i)->fTrackID, + type == qtssVideoPayloadType ? "video" : type == qtssAudioPayloadType ? "audio" : "unknown", + OS::Milliseconds()); + } + } } break; } case kPlaying: { - if (fCurRTCPTrack == fSDPParser.GetNumStreams()) - theErr = this->ReadMediaData(); - - // - // If we've encountered some fatal error, bail. - if ((theErr != EINPROGRESS) && (theErr != EAGAIN) && (theErr != OS_NoErr)) - { - sPlayingConnections--; - break; - } - theErr = OS_NoErr; // Ignore flow control errors here. - - // - // Should we send a teardown? We should if either we've been told - // to teardown, or if our time has run out + // Should we send a teardown? We should if either we've been told to teardown, or if our time has run out SInt64 curTime = OS::Milliseconds(); + fTotalPlayTime = curTime - fPlayTime; if (((curTime - fPlayTime) > fDurationInSec * 1000) || (fTeardownImmediately)) { sPlayingConnections--; fState = kSendingTeardown; - - fTotalPlayTime = curTime - fPlayTime; + break; } - else - { - if ((curTime - fLastRTCPTime) > (fRTCPIntervalInSec * 1000)) - { - // - // If we are using TCP as our media transport, we only need to - // send 1 set of RTCPs to the server, to tell it about overbuffering - if (fTransportType != kTCPTransportType) - { fCurRTCPTrack = 0; - //(void) fClient->SendSetParameter(); // test for keep alives and error responses - //(void) fClient->SendOptions(); // test for keep alives and error responses - } - fLastRTCPTime = curTime; - } - + //Send RTCP if necessary; if we are using TCP for media transport, than 1 set of RTCP total is enough + Bool16 sendRTCP = ((curTime - fLastRTCPTime) > fRTCPIntervalInMs) && (fTransportType != kTCPTransportType); + sendRTCP |= (fPlayTime == fLastRTCPTime); //send the first RTCP ASAP. + if (sendRTCP) + { + //(void) fClient->SendSetParameter(); // test for keep alives and error responses + //(void) fClient->SendOptions(); // test for keep alives and error responses for ( ; fCurRTCPTrack < fSDPParser.GetNumStreams(); fCurRTCPTrack++) { - if (this->SendReceiverReport(fCurRTCPTrack) != OS_NoErr) - break; + OS_Error err = this->SendRTCPPackets(fCurRTCPTrack); + if (fTransportType == kTCPTransportType && err != OS_NoErr) + { + theErr = err; //if error happens on a TCP RTCP socket, then bail + break; + } } - - // If we are supposed to drop the POST side of the HTTP connection, - // do so now, after the 1st set of RTCP packets - if ((fCurRTCPTrack == fSDPParser.GetNumStreams()) && (fControlType == kRTSPHTTPDropPostControlType)) - ((HTTPClientSocket*)fSocket)->ClosePost(); - - return fReadInterval; + if (theErr != OS_NoErr) + break; + + //Done sending the RTCP's + fCurRTCPTrack = 0; + fLastRTCPTime = (curTime == fLastRTCPTime) ? curTime + 1 : curTime; + + //Drop the POST portion of the HTTP connection after every send + if (fControlType == kRTSPHTTPDropPostControlType) + ((HTTPClientSocket*)fSocket)->ClosePost(); } - break; + + //Now read the media data + theErr = this->ReadMediaData(); + + if ((theErr == EINPROGRESS) || (theErr == EAGAIN) || (theErr == OS_NoErr)) + theErr = OS_NoErr; //ignore control flow errors here + else + { + sPlayingConnections--; + break; + } + curTime = OS::Milliseconds(); + SInt64 nextRTCPTime = fLastRTCPTime + fRTCPIntervalInMs; + //return curTime < nextRTCPTime ? nextRTCPTime - curTime : fReadInterval; + return curTime < nextRTCPTime ? MIN(nextRTCPTime - curTime, fReadInterval) : 1; } + case kSendingTeardown: { theErr = fClient->SendTeardown(); -#if CLIENT_SESSION_DEBUG - qtss_printf("Sending TEARDOWN. Result = %lu. Response code = %lu\n", theErr, fClient->GetStatus()); -#endif + if ( fVerboseLevel >= 3) + qtss_printf("Sending TEARDOWN. Result = %"_U32BITARG_". Response code = %"_U32BITARG_"\n", theErr, fClient->GetStatus()); // Once the TEARDOWN is complete, we are done, so mark ourselves as dead, and wait // for the owner of this object to delete us if (theErr == OS_NoErr) @@ -527,10 +613,9 @@ SInt64 ClientSession::Run() fState = kDone; } -#if CLIENT_SESSION_DEBUG - if (fState == kDone) - qtss_printf("Client connection complete. Death reason = %ul\n", fDeathReason); -#endif + if ( fVerboseLevel >= 2) + if (fState == kDone) + qtss_printf("Client connection complete. Death reason = %"_U32BITARG_"\n", fDeathReason); return 0; } @@ -590,18 +675,18 @@ void ClientSession::SetupUDPSockets() } } } -#if CLIENT_SESSION_DEBUG - qtss_printf("Opened UDP sockets for %lu streams\n", fSDPParser.GetNumStreams()); -#endif + if ( fVerboseLevel >= 3) + qtss_printf("Opened UDP sockets for %"_U32BITARG_" streams\n", fSDPParser.GetNumStreams()); } +//Will keep reading until all the packets buffered up has been read. OS_Error ClientSession::ReadMediaData() { // For iterating over the array of UDP sockets UInt32 theUDPSockIndex = 0; OS_Error theErr = OS_NoErr; - - while (true) + + while (true) { // // If the media data is being interleaved, get it from the control connection @@ -631,20 +716,26 @@ OS_Error ClientSession::ReadMediaData() &theLength); if ((theErr != OS_NoErr) || (theLength == 0)) { - if ((fTransportType == kReliableUDPTransportType) && - (!(theUDPSockIndex & 1))) + //Finished processing all the UDP packets that have been buffered up by the lower layer. + if ((fTransportType == kReliableUDPTransportType) && (!(theUDPSockIndex & 1))) { - for (UInt32 trackCount = 0; trackCount < fSDPParser.GetNumStreams(); trackCount++) + UInt32 trackIndex = TrackID2TrackIndex(fSDPParser.GetStreamInfo(theUDPSockIndex / 2)->fTrackID); + SendAckPackets(trackIndex); + /* + for (UInt32 trackIndex = 0; trackIndex < fSDPParser.GetNumStreams(); trackIndex++) { - if (fSDPParser.GetStreamInfo(trackCount)->fTrackID == fSDPParser.GetStreamInfo(theUDPSockIndex >> 1)->fTrackID) + if (fSDPParser.GetStreamInfo(trackIndex)->fTrackID == fSDPParser.GetStreamInfo(theUDPSockIndex / 2)->fTrackID) { - if (fStats[trackCount].fHighestSeqNumValid) + SendAckPackets(trackIndex); + + //if (fStats[trackCount].fHighestSeqNumValid) // If we are supposed to be sending acks, and we just finished // receiving all packets for this track that are available at this time, // send an ACK packet - this->AckPackets(trackCount, 0, false); + //this->AckPackets(trackCount, 0, false); } } + */ } theUDPSockIndex++; @@ -653,338 +744,425 @@ OS_Error ClientSession::ReadMediaData() continue; } - theTrackID = fSDPParser.GetStreamInfo(theUDPSockIndex >> 1)->fTrackID; + theTrackID = fSDPParser.GetStreamInfo(theUDPSockIndex / 2)->fTrackID; isRTCP = (theUDPSockIndex & 1); thePacket = &thePacketBuf[0]; } - // // We have a valid packet. Invoke the packet handler function - this->ProcessMediaPacket(thePacket, theLength, theTrackID, isRTCP); + if (isRTCP) + this->ProcessRTCPPacket(thePacket, theLength, theTrackID); + else + this->ProcessRTPPacket(thePacket, theLength, theTrackID); } return theErr; } -void ClientSession::ProcessMediaPacket( char* inPacket, UInt32 inLength, - UInt32 inTrackID, Bool16 isRTCP) +void ClientSession::ProcessRTPPacket(char* inPacket, UInt32 inLength, UInt32 inTrackID) { - Assert(inLength > 4); - - // Currently we do nothing with RTCPs. - if (isRTCP) + UInt32 trackIndex = TrackID2TrackIndex(inTrackID); + if (trackIndex == kUInt32_Max) + { if(fVerboseLevel >= 3) + qtss_printf("ClientSession::ProcessRTPPacket fatal packet processing error. unknown track\n"); + return; + } + TrackStats &trackStats = fStats[trackIndex]; + + if(fVerboseLevel >= 3) + { + SInt64 curTime = OS::Milliseconds(); + qtss_printf("Processing incoming packets at time %"_S64BITARG_"\n", curTime); + } + + //first validate the header and check the SSRC + Bool16 badPacket = false; + RTPPacket rtpPacket = RTPPacket(inPacket, inLength); + if (!rtpPacket.HeaderIsValid()) + badPacket = true; + else + { + if (trackStats.fServerSSRC != 0) + { + if (rtpPacket.GetSSRC() != trackStats.fServerSSRC) + badPacket = true; + } + else //obtain the SSRC from the first packet if it's not available + trackStats.fServerSSRC = rtpPacket.GetSSRC(); + } + + if(badPacket) + { + trackStats.fNumMalformedPackets++; + if (fVerboseLevel >= 1) + qtss_printf("TrackID=%"_U32BITARG_", len=%"_U32BITARG_"; malformed packet\n", inTrackID, inLength); return; - - UInt16* theSeqNumP = (UInt16*)inPacket; - UInt16 theSeqNum = ntohs(theSeqNumP[1]); - - //UInt32* theSsrcP = (UInt32*)inPacket; - //UInt32 theSSRC = ntohl(theSsrcP[2]); - - for (UInt32 x = 0; x < fSDPParser.GetNumStreams(); x++) - { - if (fSDPParser.GetStreamInfo(x)->fTrackID == inTrackID) - { - // Check if this packet is even for our stream - //if (!fStats[x].fIsSSRCValid) - // fStats[x].fSSRC = theSSRC; // If we don't know SSRC yet, just use first one we get - //if (theSSRC != fStats[x].fSSRC) - // return; - fNumPacketsReceived ++; - fStats[x].fNumPacketsReceived++; - fStats[x].fNumBytesReceived += inLength; - sBytesReceived += inLength; - sPacketsReceived ++; - - // Check if this packet is out of order - if (fStats[x].fHighestSeqNumValid) - { - SInt16 theValidationDifference = theSeqNum - fStats[x].fWrapSeqNum; - if (theValidationDifference < 0) - theValidationDifference -= 2 * theValidationDifference; // take the absolute value - if (theValidationDifference > kSanitySeqNumDifference) - { - // - // If this sequence number is really far out of range, then just toss - // the packet and increment our count of crazy packets - fStats[x].fNumThrownAwayPackets++; - return; - } - - - SInt16 theSeqNumDifference = theSeqNum - fStats[x].fHighestSeqNum; + } - if ((fTransportType == kReliableUDPTransportType) && - (theSeqNumDifference != 1)) - this->AckPackets(x, theSeqNum, true); + //Now check the sequence number + UInt32 packetSeqNum = kUInt32_Max; + if (trackStats.fHighestSeqNum == kUInt32_Max) //this is the first sequence number received + packetSeqNum = trackStats.fBaseSeqNum = trackStats.fHighestSeqNum = static_cast(rtpPacket.GetSeqNum()); + else + packetSeqNum = CalcSeqNum(trackStats.fHighestSeqNum, rtpPacket.GetSeqNum()); - if (theSeqNumDifference > 0) - { - fStats[x].fNumOutOfOrderPackets += theSeqNumDifference - 1; - fStats[x].fHighestSeqNum = theSeqNum; - } - } - else - { - fStats[x].fHighestSeqNumValid = true; - fStats[x].fWrapSeqNum = fStats[x].fHighestSeqNum = theSeqNum; - fStats[x].fLastAckedSeqNum = theSeqNum - 1; - } - + if (packetSeqNum == kUInt32_Max) //sequence number is out of range + { + trackStats.fNumOutOfBoundPackets++; + if (fVerboseLevel >= 2) + qtss_printf("TrackID=%"_U32BITARG_", len=%"_U32BITARG_", seq=%u"", ref(32)=%"_U32BITARG_"; out of bound packet\n", + inTrackID, inLength, rtpPacket.GetSeqNum(), trackStats.fHighestSeqNum); + } + else + { + //the packet is good -- update statisics + Bool16 packetIsOutOfOrder = false; + if (trackStats.fHighestSeqNum <= packetSeqNum) + trackStats.fHighestSeqNum = packetSeqNum; + else + packetIsOutOfOrder = true; - UInt32 debugblah = 0; - // Put this sequence number into the map to track packet loss - while ( (SInt32) ( (SInt32) theSeqNum - (SInt32) fStats[x].fWrapSeqNum) > TrackStats::kSeqNumMapSize) - { - debugblah++; -#if CLIENT_SESSION_DEBUG - if (debugblah > 10) - printf("theSeqNum= %u fStats[x].fWrapSeqNum =%u debugblah=%lu\n", theSeqNum,fStats[x].fWrapSeqNum, debugblah); -#endif - if (debugblah > 100) - break; - // We've cycled through the entire map. Calculate packet - // loss on the lowest 50 indexes in the map (don't get too - // close to where we are lest we mistake out of order packets - // as packet loss) - UInt32 halfSeqNumMap = TrackStats::kSeqNumMapSize / 2; - UInt32 curIndex = (fStats[x].fWrapSeqNum + 1) % TrackStats::kSeqNumMapSize; - UInt32 numPackets = 0; - - for (UInt32 y = 0; y < halfSeqNumMap; y++, curIndex++) - { - if (curIndex == TrackStats::kSeqNumMapSize) - curIndex = 0; - - if (fStats[x].fSequenceNumberMap[curIndex] > 0) - numPackets++; - fStats[x].fSequenceNumberMap[curIndex] = 0; - } - - // We've figured out how many lost packets there are in the lower - // half of the map. Increment our counters. - fStats[x].fNumOutOfOrderPackets -= halfSeqNumMap - numPackets; - fStats[x].fNumLostPackets += halfSeqNumMap - numPackets; - fStats[x].fWrapSeqNum += halfSeqNumMap; + fNumPacketsReceived++; + sPacketsReceived++; + trackStats.fNumPacketsReceived++; + fNumBytesReceived += inLength; + sBytesReceived += inLength; + trackStats.fNumBytesReceived += inLength; -#if CLIENT_SESSION_DEBUG - if ( (fStats[x].fNumOutOfOrderPackets > 0) || (fStats[x].fNumLostPackets > 0) ) - qtss_printf("Got %lu packets for trackID %lu. %lu packets lost, %lu packets out of order\n", fStats[x].fNumPacketsReceived, inTrackID, fStats[x].fNumLostPackets, fStats[x].fNumOutOfOrderPackets); -#endif - - } - - // - // Track duplicate packets - if (fStats[x].fSequenceNumberMap[theSeqNum % 100]) - fStats[x].fNumDuplicates++; - - fStats[x].fSequenceNumberMap[theSeqNum % 100] = 1; - theSeqNum = 0; + //record this sequence number so that it can be acked later on + if (fTransportType == kReliableUDPTransportType) + trackStats.fPacketsToAck.push_back(packetSeqNum); + + if (fVerboseLevel >= 3) + qtss_printf("TrackID=%"_U32BITARG_", len=%"_U32BITARG_", seq(32)=%"_U32BITARG_", ref(32)=%"_U32BITARG_"; good packet\n", + inTrackID, inLength, packetSeqNum, trackStats.fHighestSeqNum); - RTPMetaInfoPacket::FieldID* theMetaInfoFields = fClient->GetFieldIDArrayByTrack(inTrackID); - if (theMetaInfoFields != NULL) + //RTP-Meta-Info + RTPMetaInfoPacket::FieldID* theMetaInfoFields = fClient->GetFieldIDArrayByTrack(inTrackID); + if (theMetaInfoFields != NULL) + { + // + // This packet is an RTP-Meta-Info packet. Parse it out and print out the results + RTPMetaInfoPacket theMetaInfoPacket; + Bool16 packetOK = theMetaInfoPacket.ParsePacket((UInt8*)inPacket, inLength, theMetaInfoFields); + if (!packetOK) { - // - // This packet is an RTP-Meta-Info packet. Parse it out and print out the results - RTPMetaInfoPacket theMetaInfoPacket; - if (!theMetaInfoPacket.ParsePacket((UInt8*)inPacket, inLength, theMetaInfoFields)) - { + if( fVerboseLevel >= 2) qtss_printf("Received invalid RTP-Meta-Info packet\n"); - } - else - { - qtss_printf("---\n"); - qtss_printf("TrackID: %lu\n", inTrackID); - qtss_printf("Packet transmit time: %"_64BITARG_"d\n", theMetaInfoPacket.GetTransmitTime()); - qtss_printf("Frame type: %u\n", theMetaInfoPacket.GetFrameType()); - qtss_printf("Packet number: %"_64BITARG_"u\n", theMetaInfoPacket.GetPacketNumber()); - qtss_printf("Packet position: %"_64BITARG_"u\n", theMetaInfoPacket.GetPacketPosition()); - qtss_printf("Media data length: %lu\n", theMetaInfoPacket.GetMediaDataLen()); - } } + else if( fVerboseLevel >= 2) + { + qtss_printf("---\n"); + qtss_printf("TrackID: %"_U32BITARG_"\n", inTrackID); + qtss_printf("Packet transmit time: %"_64BITARG_"d\n", theMetaInfoPacket.GetTransmitTime()); + qtss_printf("Frame type: %u\n", theMetaInfoPacket.GetFrameType()); + qtss_printf("Packet number: %"_64BITARG_"u\n", theMetaInfoPacket.GetPacketNumber()); + qtss_printf("Packet position: %"_64BITARG_"u\n", theMetaInfoPacket.GetPacketPosition()); + qtss_printf("Media data length: %"_U32BITARG_"\n", theMetaInfoPacket.GetMediaDataLen()); + } + } + + + if (fEnable3GPP) + { + UInt32 timeStamp = rtpPacket.GetTimeStamp(); + Bool16 packetIsDuplicate = fPlayerSimulator.ProcessRTPPacket(trackIndex, inLength, rtpPacket.GetBody().Len, packetSeqNum, timeStamp); + if(packetIsOutOfOrder && !packetIsDuplicate) + trackStats.fNumOutOfOrderPackets++; } } - // Assert(theSeqNum == 0); // We should always find a track with this track ID } -void ClientSession::AckPackets(UInt32 inTrackIndex, UInt16 inCurSeqNum, Bool16 inCurSeqNumValid) -{ - char theRRBuffer[256]; - UInt32 *theWriterStart = (UInt32*)theRRBuffer; - UInt32 *theWriter = (UInt32*)theRRBuffer; - // APP PACKET - QoS info - *(theWriter++) = htonl(0x80CC0000); - //*(ia++) = htonl(trk[i].TrackSSRC); - *(theWriter++) = htonl(0); - *(theWriter++) = htonl(FOUR_CHARS_TO_INT('q', 't', 'a', 'k')); - *(theWriter++) = htonl(0); - - // Watch out for 16 bit seq num rollover. Dont use SInt32 for theSeqNumDifference, this routine will crash from wrong packet counts after a roll-over. - SInt16 theSeqNumDifference = (SInt16) (inCurSeqNum - fStats[inTrackIndex].fHighestSeqNum); - - if (!inCurSeqNumValid) - { - theSeqNumDifference = 1; - inCurSeqNum = fStats[inTrackIndex].fHighestSeqNum; - } -#if CLIENT_SESSION_DEBUG - qtss_printf("Highest seq num: %d\n", inCurSeqNum); -#endif +void ClientSession::ProcessRTCPPacket(char* inPacket, UInt32 inLength, UInt32 inTrackID) +{ + UInt32 trackIndex = TrackID2TrackIndex(inTrackID); + if (trackIndex == kUInt32_Max) + { + if (fVerboseLevel >= 3) + qtss_printf("ClientSession::ProcessRTCPPacket fatal packet processing error. unknown track\n"); + return; + } + TrackStats &trackStats = fStats[trackIndex]; + + SInt64 curTime = OS::Milliseconds(); + if(fVerboseLevel >= 2) + qtss_printf("Processing incoming RTCP packets on track %"_U32BITARG_" at time %"_S64BITARG_"\n", trackIndex, curTime); - // - // There may be nothing to do here - if (inCurSeqNum == fStats[inTrackIndex].fLastAckedSeqNum) + //first validate the header and check the SSRC + RTCPSenderReportPacket packet; + Bool16 badPacket = !packet.ParseReport(reinterpret_cast(inPacket), inLength); + if (!badPacket) + { + if (trackStats.fServerSSRC != 0) + { + if (packet.GetPacketSSRC() != trackStats.fServerSSRC) + badPacket = true; + } + else //obtain the SSRC from the first packet if it's not available + trackStats.fServerSSRC = packet.GetPacketSSRC(); + } + + if(badPacket) + { + if (fVerboseLevel >= 1) + qtss_printf("TrackID=%"_U32BITARG_", len=%"_U32BITARG_"; malformed RTCP packet\n", inTrackID, inLength); return; - - if (theSeqNumDifference > 0) - { - *(theWriter++) = htonl(fStats[inTrackIndex].fLastAckedSeqNum + 1); -#if CLIENT_SESSION_DEBUG - qtss_printf("TrackID: %d Acking: %d\n", fSDPParser.GetStreamInfo(inTrackIndex)->fTrackID, fStats[inTrackIndex].fLastAckedSeqNum + 1); -#endif + } - UInt16 maskPosition = fStats[inTrackIndex].fLastAckedSeqNum + 2; - SInt16 numPacketsInMask = (inCurSeqNum + 1) - (fStats[inTrackIndex].fLastAckedSeqNum + 2); - -#if CLIENT_SESSION_DEBUG - qtss_printf("NumPacketsInMask: %d\n", numPacketsInMask); -#endif - for (SInt32 y = 0; y < numPacketsInMask; y+=32) - { - UInt32 mask = 0; - for (UInt32 x = 0; x < 32; x++) - { - SInt16 offsetFromHighest = fStats[inTrackIndex].fHighestSeqNum - maskPosition; - mask <<= 1; - - if (offsetFromHighest >= 0) - { -#if CLIENT_SESSION_DEBUG - qtss_printf("TrackID: %d Acking in mask: %d\n", fSDPParser.GetStreamInfo(inTrackIndex)->fTrackID, maskPosition); -#endif - mask |= 1; - } - else if (maskPosition == inCurSeqNum) - { -#if CLIENT_SESSION_DEBUG - qtss_printf("TrackID: %d Acking in mask: %d\n", fSDPParser.GetStreamInfo(inTrackIndex)->fTrackID, inCurSeqNum); -#endif - mask |= 1; - } + //Now obtains the NTP timestamp and the current time -- we'll need it for the LSR field of the receiver report + trackStats.fLastSenderReportNTPTime = packet.GetNTPTimeStamp(); + trackStats.fLastSenderReportLocalTime = curTime; +} - maskPosition++; - } - - // We have 1 completed mask. Add it to the packet - *(theWriter++) = htonl(mask); - } - fStats[inTrackIndex].fLastAckedSeqNum = inCurSeqNum; - } - else - { - // Just ack cur seq num, this is an out of order packet - *(theWriter++) = htonl(inCurSeqNum); - } - // - // Set the packet length - UInt16* lenP = (UInt16*)theRRBuffer; - lenP[1] = htons((theWriter - theWriterStart) - 1); //length in octets - 1 - - // Send the packet - Assert(fStats[inTrackIndex].fDestRTCPPort != 0); - fUDPSocketArray[(inTrackIndex*2)+1]->SendTo(fSocket->GetHostAddr(), fStats[inTrackIndex].fDestRTCPPort, theRRBuffer, - (theWriter - theWriterStart) * sizeof(UInt32)); +void ClientSession::SendAckPackets(UInt32 inTrackIndex) +{ + TrackStats &trackStats = fStats[inTrackIndex]; - // - // Update the stats for this track - fStats[inTrackIndex].fNumAcks++; -} + if (trackStats.fPacketsToAck.empty()) + return; + trackStats.fNumAcks++; + + if(fVerboseLevel >= 3) + { + SInt64 curTime = OS::Milliseconds(); + qtss_printf("Sending %"_U32BITARG_" acks at time %"_S64BITARG_" on track %"_U32BITARG_"\n", + trackStats.fPacketsToAck.size(), curTime, inTrackIndex); + } + + char sendBuffer[kMaxUDPPacketSize]; + + //First send an empty Receivor Report + RTCPRRPacket RRPacket = RTCPRRPacket(sendBuffer, kMaxUDPPacketSize); + RRPacket.SetSSRC(trackStats.fClientSSRC); + StrPtrLen buffer = RRPacket.GetBufferRemaining(); + //Now send the Ack packets + RTCPAckPacketFmt ackPacket = RTCPAckPacketFmt(buffer); + ackPacket.SetSSRC(trackStats.fClientSSRC); + ackPacket.SetAcks(trackStats.fPacketsToAck, trackStats.fServerSSRC); + trackStats.fPacketsToAck.clear(); -OS_Error ClientSession::SendReceiverReport(UInt32 inTrackID) + UInt32 packetLength = RRPacket.GetPacketLen() + ackPacket.GetPacketLen(); + + // Send the packet + Assert(trackStats.fDestRTCPPort != 0); + fUDPSocketArray[(inTrackIndex*2)+1]->SendTo(fSocket->GetHostAddr(), trackStats.fDestRTCPPort, sendBuffer, packetLength); +} + +OS_Error ClientSession::SendRTCPPackets(UInt32 trackIndex) { - // - // build the RTCP receiver report. - char theRRBuffer[256]; - UInt32 *theWriterStart = (UInt32*)theRRBuffer; - UInt32 *theWriter = (UInt32*)theRRBuffer; + TrackStats &trackStats = fStats[trackIndex]; + + char buffer[kMaxUDPPacketSize]; + //::memset(buffer, 0, kMaxUDPPacketSize); + + //First send the RTCP Receiver Report packet + RTCPRRPacket RRPacket = RTCPRRPacket(buffer, kMaxUDPPacketSize); + RRPacket.SetSSRC(trackStats.fClientSSRC); + + UInt8 fracLost = 0; + SInt32 cumLostPackets = 0; + UInt32 lsr = 0; + UInt32 dlsr = 0; + SInt64 curTime = OS::Milliseconds(); + if (trackStats.fHighestSeqNum != kUInt32_Max) + { + CalcRTCPRRPacketsLost(trackIndex, fracLost, cumLostPackets); + + //Now get the middle 32 bits of the NTP time stamp and send it as the LSR + lsr = static_cast(trackStats.fLastSenderReportNTPTime >> 16); + + //Get the time difference expressed as units of 1/65536 seconds + if (trackStats.fLastSenderReportLocalTime != 0) + dlsr = static_cast(OS::TimeMilli_To_Fixed64Secs(curTime - trackStats.fLastSenderReportLocalTime) >> 16); + + RRPacket.AddReportBlock(trackStats.fServerSSRC, fracLost, cumLostPackets, trackStats.fHighestSeqNum, lsr, dlsr); + } + + StrPtrLen remainingBuf = RRPacket.GetBufferRemaining(); + UInt32 *theWriter = reinterpret_cast(remainingBuf.Ptr); // RECEIVER REPORT + /* *(theWriter++) = htonl(0x81c90007); // 1 src RR packet - //*(theWriter++) = htonl(trk[i].rcvrSSRC); *(theWriter++) = htonl(0); - //*(theWriter++) = htonl(trk[i].TrackSSRC); *(theWriter++) = htonl(0); - //if (trk[i].rtp_num_received > 0) - // t = ((float)trk[i].rtp_num_lost / (float)trk[i].rtp_num_received) * 256; - //else - // t = 0.0; - //temp = t; - //temp = (temp & 0xff) << 24; - //temp |= (trk[i].rtp_num_received & 0x00ffffff); - *(theWriter++) = htonl(0); - //temp = (trk[i].seq_num_cycles & 0xffff0000) | (trk[i].last_seq_num & 0x0000ffff); - //*(ia++) = toBigEndian_ulong(temp); *(theWriter++) = htonl(0); + *(theWriter++) = htonl(trackStats.fHighestSeqNum == kUInt32_Max ? 0 : trackStats.fHighestSeqNum); //EHSN *(theWriter++) = 0; // don't do jitter yet. *(theWriter++) = 0; // don't do last SR timestamp *(theWriter++) = 0; // don't do delay since last SR + */ - // APP PACKET - QoS info - *(theWriter++) = htonl(0x80CC000C); - //*(ia++) = htonl(trk[i].TrackSSRC); - *(theWriter++) = htonl(0); -// this QTSS changes after beta to 'qtss' - *(theWriter++) = htonl(FOUR_CHARS_TO_INT('Q', 'T', 'S', 'S')); - //*(ia++) = toBigEndian_ulong(trk[i].rcvrSSRC); - *(theWriter++) = htonl(0); - *(theWriter++) = htonl(8); // number of 4-byte quants below -#define RR 0x72720004 -#define PR 0x70720004 -#define PD 0x70640002 -#define OB 0x6F620004 - *(theWriter++) = htonl(RR); - //unsigned int now, secs; - //now = microseconds(); - //secs = now - trk[i].last_rtcp_packet_sent_us / USEC_PER_SEC; - //if (secs) - // temp = trk[i].bytes_received_since_last_rtcp / secs; - //else - // temp = 0; - //*(ia++) = htonl(temp); - *(theWriter++) = htonl(0); - *(theWriter++) = htonl(PR); - //*(ia++) = htonl(trk[i].rtp_num_received); - *(theWriter++) = htonl(0); - //*(theWriter++) = htonl(PL); - //*(ia++) = htonl(trk[i].rtp_num_lost); - //*(theWriter++) = htonl(0); - *(theWriter++) = htonl(OB); - *(theWriter++) = htonl(fOverbufferWindowSizeInK * 1024); - *(theWriter++) = htonl(PD); - *(theWriter++) = htonl(0); // should be a short, but we need to pad to a long for the entire RTCP app packet + //The implementation should be sending an SDES to conform to the standard...but its not done. + + if(fTransportType == kRTSPReliableUDPClientType) + { + // APP PACKET - QoS info + *(theWriter++) = htonl(0x80CC000C); + //*(ia++) = htonl(trk[i].TrackSSRC); + *(theWriter++) = htonl(trackStats.fClientSSRC); + // this QTSS changes after beta to 'qtss' + *(theWriter++) = htonl(FOUR_CHARS_TO_INT('Q', 'T', 'S', 'S')); + //*(ia++) = toBigEndian_ulong(trk[i].rcvrSSRC); + *(theWriter++) = htonl(trackStats.fServerSSRC); + *(theWriter++) = htonl(8); // number of 4-byte quants below + #define RR 0x72720004 + #define PR 0x70720004 + #define PD 0x70640002 + #define OB 0x6F620004 + *(theWriter++) = htonl(RR); + //unsigned int now, secs; + //now = microseconds(); + //secs = now - trk[i].last_rtcp_packet_sent_us / USEC_PER_SEC; + //if (secs) + // temp = trk[i].bytes_received_since_last_rtcp / secs; + //else + // temp = 0; + //*(ia++) = htonl(temp); + *(theWriter++) = htonl(0); + *(theWriter++) = htonl(PR); + //*(ia++) = htonl(trk[i].rtp_num_received); + *(theWriter++) = htonl(0); + //*(theWriter++) = htonl(PL); + //*(ia++) = htonl(trk[i].rtp_num_lost); + //*(theWriter++) = htonl(0); + *(theWriter++) = htonl(OB); + *(theWriter++) = htonl(fOverbufferWindowSizeInK * 1024); + *(theWriter++) = htonl(PD); + *(theWriter++) = htonl(0); // should be a short, but we need to pad to a long for the entire RTCP app packet + } -#if CLIENT_SESSION_DEBUG - qtss_printf("Sending receiver reports.\n"); -#endif + char *buf = reinterpret_cast(theWriter); + UInt32 packetLen = buf - buffer; + UInt32 playoutDelay = 0; + + if (fEnable3GPP && trackStats.fHighestSeqNum != kUInt32_Max) + { + //now add the RTCP NADU packet + RTCPNADUPacketFmt nadu = RTCPNADUPacketFmt(buf, kMaxUDPPacketSize - packetLen); + nadu.SetSSRC(trackStats.fClientSSRC); + + //If there is no packet in the buffer, use the extended highest sequence number received + 1 + UInt32 seqNum = fPlayerSimulator.GetNextSeqNumToDecode(trackIndex); + if(seqNum == kUInt32_Max) + seqNum = trackStats.fHighestSeqNum + 1; + + if (fEnableForcePlayoutDelay) + playoutDelay = fPlayoutDelay; + else + playoutDelay = fPlayerSimulator.GetPlayoutDelay(trackIndex); + + nadu.AddNADUBlock(0, seqNum, 0, fPlayerSimulator.GetFreeBufferSpace(trackIndex), playoutDelay); + + packetLen += nadu.GetPacketLen(); + } + + if(fVerboseLevel >= 2) + { + qtss_printf("Sending receiver report at time %"_S64BITARG_" on track %"_U32BITARG_"; lostFrac=%u, lost=%"_S32BITARG_ + ", FBS=%"_U32BITARG_", delay=%"_U32BITARG_", lsr=%"_U32BITARG_", dlsr=%"_U32BITARG_"\n", + curTime, trackIndex, fracLost, cumLostPackets, + fPlayerSimulator.GetFreeBufferSpace(trackIndex), + playoutDelay, + lsr, dlsr); + } + // Send the packet if (fUDPSocketArray != NULL) { - Assert(fStats[inTrackID].fDestRTCPPort != 0); - fUDPSocketArray[(inTrackID*2)+1]->SendTo(fSocket->GetHostAddr(), fStats[inTrackID].fDestRTCPPort, theRRBuffer, - (theWriter - theWriterStart) * sizeof(UInt32)); + Assert(trackStats.fDestRTCPPort != 0); + fUDPSocketArray[(trackIndex*2)+1]->SendTo(fSocket->GetHostAddr(), trackStats.fDestRTCPPort, buffer, packetLen); } else { - OS_Error theErr = fClient->PutMediaPacket(fSDPParser.GetStreamInfo(inTrackID)->fTrackID, - true, - theRRBuffer, - (theWriter - theWriterStart) * sizeof(UInt32)); + OS_Error theErr = fClient->PutMediaPacket(fSDPParser.GetStreamInfo(trackIndex)->fTrackID, true, buffer, packetLen); if (theErr != OS_NoErr) return theErr; } return OS_NoErr; } + + +//The lost packets in the RTCP RR are defined differently then the GetNumPacketsLost function. See RFC 3550 6.4.1 and A.3 +void ClientSession::CalcRTCPRRPacketsLost(UInt32 trackIndex, UInt8 &outFracLost, SInt32 &outCumLostPackets) +{ + TrackStats &trackStats = fStats[trackIndex]; + + if (trackStats.fHighestSeqNum == kUInt32_Max) + { + outFracLost = 0; + outCumLostPackets = 0; + return; + } + + UInt32 expected = trackStats.fHighestSeqNum - trackStats.fBaseSeqNum + 1; + UInt32 expectedInterval = expected - trackStats.fExpectedPrior; + UInt32 receivedInterval = trackStats.fNumPacketsReceived - trackStats.fReceivedPrior; + + trackStats.fExpectedPrior = expected; + trackStats.fReceivedPrior = trackStats.fNumPacketsReceived; + + if (expectedInterval == 0 || expectedInterval < receivedInterval) + outFracLost = 0; + else + { + UInt32 lostInterval = expectedInterval - receivedInterval; + outFracLost = static_cast((lostInterval << 8) / expectedInterval); + } + outCumLostPackets = expected - trackStats.fNumPacketsReceived; +} + +//If newSeqNum is no more than kMaxMisorder behind and kMaxDropOut ahead of referenceSeqNum(modulo 2^16), returns the corresponding +//32 bit sequence number. Otherwise returns kUInt32_Max +UInt32 ClientSession::CalcSeqNum(UInt32 referenceSeqNum, UInt16 newSeqNum) +{ + + UInt16 refSeqNum16 = static_cast(referenceSeqNum); + UInt32 refSeqNumHighBits = referenceSeqNum >> 16; + + if (static_cast(newSeqNum - refSeqNum16) <= kMaxDropOut) + { + //new sequence number is ahead and is in range + if (newSeqNum >= refSeqNum16) + return (refSeqNumHighBits << 16) | newSeqNum; //no wrap-around + else + return ((refSeqNumHighBits + 1) << 16) | newSeqNum; //wrapped-around + } + else if (static_cast(refSeqNum16 - newSeqNum) < kMaxMisorder) + { + //new sequence number is behind and is in range + if (newSeqNum < refSeqNum16) + return (refSeqNumHighBits << 16) | newSeqNum; //no wrap-around + else if (refSeqNumHighBits != 0) + return ((refSeqNumHighBits - 1) << 16) | newSeqNum; //wrapped-around + } + return kUInt32_Max; //bad sequence number(out of range) + /* + if (refSeqNum16 <= newSeqNum) + { + UInt16 diff = newSeqNum - refSeqNum16; + if (diff <= kMaxDropOut) //new sequence number is ahead and is in range, no overflow + return (refSeqNumHighBits << 16) | newSeqNum; + + diff = kUInt16_Max - newSeqNum; + diff += refSeqNum16 + 1; + if (diff <= kMaxMisorder && refSeqNumHighBits != 0) //new sequence number is behind, underflow + return ((refSeqNumHighBits - 1) << 16) | newSeqNum; + } + else + { + UInt16 diff = refSeqNum16 - newSeqNum; + if (diff <= kMaxMisorder) //new sequence number is behind and is in range, no underflow + return (refSeqNumHighBits << 16) | newSeqNum; + + diff = kUInt16_Max - refSeqNum16; + diff += newSeqNum + 1; + if (diff <= kMaxDropOut) //new sequence number is ahead and is in range, overflow + return ((refSeqNumHighBits + 1) << 16) | newSeqNum; + } + return kUInt32_Max; //Bad sequence number + */ +} diff --git a/RTSPClientLib/ClientSession.h b/RTSPClientLib/ClientSession.h index 8a402e0..6cd0207 100644 --- a/RTSPClientLib/ClientSession.h +++ b/RTSPClientLib/ClientSession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -34,10 +34,12 @@ #include "Task.h" #include "TimeoutTask.h" +#include "SVector.h" #include "RTSPClient.h" #include "ClientSocket.h" #include "SDPSourceInfo.h" #include "UDPSocket.h" +#include "PlayerSimulator.h" class ClientSession : public Task { @@ -53,14 +55,18 @@ class ClientSession : public Task }; typedef UInt32 ClientType; + //The constructor will signal itself with Task::kStartEvent ClientSession( UInt32 inAddr, UInt16 inPort, char* inURL, ClientType inClientType, UInt32 inDurationInSec, UInt32 inStartPlayTimeInSec, - UInt32 inRTCPIntervalInSec, UInt32 inOptionsIntervalInSec, + UInt32 inRTCPIntervalInMS, UInt32 inOptionsIntervalInSec, UInt32 inHTTPCookie, Bool16 inAppendJunkData, UInt32 inReadInterval, UInt32 inSockRcvBufSize, Float32 inLateTolerance, char* inMetaInfoFields, - Float32 inSpeed, Bool16 inVerbosePrinting, char* inPacketRangePlayHeader, UInt32 inOverbufferWindowSizeInK, - Bool16 sendOptions, Bool16 requestRandomData, SInt32 randomDataSize); + Float32 inSpeed, UInt32 verboseLevel, char* inPacketRangePlayHeader, UInt32 inOverbufferWindowSizeInK, + Bool16 sendOptions, Bool16 requestRandomData, SInt32 randomDataSize, Bool16 enable3GPP, + UInt32 GBW = 0, UInt32 MBW = 0, UInt32 MTD = 0, Bool16 enableForcePlayoutDelay = false, UInt32 playoutDelay = 0, + UInt32 bandwidth = 0, UInt32 bufferSpace = 0, UInt32 delayTime = 0, UInt32 startPlayDelay = 0, + char *controlID = NULL, char *name = NULL, char *password = NULL); virtual ~ClientSession(); @@ -126,25 +132,27 @@ class ClientSession : public Task QTSS_RTPPayloadType GetTrackType(UInt32 inTrackIndex) { return fSDPParser.GetStreamInfo(inTrackIndex)->fPayloadType; } - UInt32 GetNumPacketsReceived(UInt32 inTrackIndex) - { return fStats[inTrackIndex].fNumPacketsReceived; } - UInt32 GetNumBytesReceived(UInt32 inTrackIndex) - { return fStats[inTrackIndex].fNumBytesReceived; } - UInt32 GetNumPacketsLost(UInt32 inTrackIndex) - { return fStats[inTrackIndex].fNumLostPackets; } - UInt32 GetNumPacketsOutOfOrder(UInt32 inTrackIndex) - { return fStats[inTrackIndex].fNumOutOfOrderPackets; } - UInt32 GetNumDuplicates(UInt32 inTrackIndex) - { return fStats[inTrackIndex].fNumDuplicates; } - UInt32 GetNumAcks(UInt32 inTrackIndex) - { return fStats[inTrackIndex].fNumAcks; } - + UInt32 GetNumPacketsReceived(UInt32 inTrackIndex) { return fStats[inTrackIndex].fNumPacketsReceived; } + UInt32 GetNumBytesReceived(UInt32 inTrackIndex) { return fStats[inTrackIndex].fNumBytesReceived; } + UInt32 GetNumPacketsOutOfOrder(UInt32 inTrackIndex) { return fStats[inTrackIndex].fNumOutOfOrderPackets; } + UInt32 GetNumOutOfBoundPackets(UInt32 inTrackIndex) { return fStats[inTrackIndex].fNumOutOfBoundPackets; } + UInt32 GetNumAcks(UInt32 inTrackIndex) { return fStats[inTrackIndex].fNumAcks; } + UInt32 Get3gNumPacketsLost(UInt32 inTrackIndex) { return fPlayerSimulator.GetNumPacketsLost(inTrackIndex); } + UInt32 Get3gNumDuplicates(UInt32 inTrackIndex) { return fPlayerSimulator.GetNumDuplicates(inTrackIndex); } + UInt32 Get3gNumLatePackets(UInt32 inTrackIndex) { return fPlayerSimulator.GetNumLatePackets(inTrackIndex); } + UInt32 Get3gNumBufferOverflowedPackets(UInt32 inTrackIndex) { return fPlayerSimulator.GetNumBufferOverflowedPackets(inTrackIndex); } + //include packets with bad SSRC + UInt32 GetNumMalformedPackets(UInt32 inTrackIndex) + { return fStats[inTrackIndex].fNumMalformedPackets; } + + //Will reset the counter everytime it is called UInt32 GetSessionPacketsReceived() { UInt32 result = fNumPacketsReceived; fNumPacketsReceived = 0; return result; } // // Global stats static UInt32 GetActiveConnections() { return sActiveConnections; } static UInt32 GetPlayingConnections() { return sPlayingConnections; } static UInt32 GetConnectionAttempts() { return sTotalConnectionAttempts; } + //The following two functions will reset the global counter every time it is called static UInt32 GetConnectionBytesReceived() { UInt32 result = sBytesReceived; sBytesReceived = 0; return result; } static UInt32 GetConnectionPacketsReceived() { UInt32 result = sPacketsReceived; sPacketsReceived = 0; return result; } @@ -166,6 +174,17 @@ class ClientSession : public Task kTCPTransportType = 2 }; typedef UInt32 TransportType; + + //Returns kUInt32_Max if there is no track with such trackID + UInt32 TrackID2TrackIndex(UInt32 trackID) + { + for (UInt32 trackIndex = 0; trackIndex < fSDPParser.GetNumStreams(); trackIndex++) + { + if (fSDPParser.GetStreamInfo(trackIndex)->fTrackID == trackID) + return trackIndex; + } + return kUInt32_Max; + } ClientSocket* fSocket; // Connection object RTSPClient* fClient; // Manages the client connection @@ -176,7 +195,7 @@ class ClientSession : public Task TransportType fTransportType; UInt32 fDurationInSec; UInt32 fStartPlayTimeInSec; - UInt32 fRTCPIntervalInSec; + UInt32 fRTCPIntervalInMs; UInt32 fOptionsIntervalInSec; Bool16 fOptions; @@ -189,6 +208,7 @@ class ClientSession : public Task UInt32 fNumSetups; UDPSocket** fUDPSocketArray; + //these values starts as soon as the RTSP Play is completed; does not corresonds to actual media play time SInt64 fPlayTime; SInt64 fTotalPlayTime; SInt64 fLastRTCPTime; @@ -200,10 +220,59 @@ class ClientSession : public Task Float32 fSpeed; char* fPacketRangePlayHeader; - - // + + //These values are for the wireless links only -- not end-to-end + //Units are in kbps, milliseconds, and bytes + UInt32 fGuarenteedBitRate; + UInt32 fMaxBitRate; + UInt32 fMaxTransferDelay; + Bool16 fEnableForcePlayoutDelay; + UInt32 fPlayoutDelay; + UInt32 fBandwidth; //bps + //the buffer space is per stream, not total space + UInt32 fBufferSpace; + UInt32 fDelayTime; //target buffering delay + UInt32 fStartPlayDelay; //how much buffer should we keep before we start playing? in milliseconds + Bool16 fEnable3GPP; + // Client stats struct TrackStats + { + //Modified by ClientSession + UInt32 fNumPacketsReceived; //track only good packets(but include late and duplicates) + UInt32 fNumBytesReceived; //includes RTP header + UInt32 fNumOutOfOrderPackets; //excludes duplicates + UInt32 fNumOutOfBoundPackets; + UInt32 fNumMalformedPackets; //include packets with bad SSRC + UInt32 fNumAcks; //cumulative; counts ACK packets with masks as 1 ACK + + UInt16 fDestRTCPPort; + UInt32 fServerSSRC; //0 for not available + UInt32 fClientSSRC; + + //Used for the DLSR and LSR field of the RTCP + SInt64 fLastSenderReportNTPTime; + SInt64 fLastSenderReportLocalTime; + + //These values are used to calculate the fraction lost and cumulative number of packets lost field in the RTCP RR packet. + //See RFC 3550 6.4.1 and A.3 + + //fHighestSeqNum is the highest valid sequence number received; note that this is 32 bits so that it never overflows. + //An initial value of kUInt32_Max is used as an invalid marker(such that no valid sequence number has been received yet). + UInt32 fHighestSeqNum; + UInt32 fBaseSeqNum; + UInt32 fExpectedPrior; + UInt32 fReceivedPrior; + + SVector fPacketsToAck; + TrackStats() : fNumPacketsReceived(0), fNumBytesReceived(0), fNumOutOfOrderPackets(0), fNumOutOfBoundPackets(0), + fNumMalformedPackets(0), fNumAcks(0), fDestRTCPPort(0), fServerSSRC(0), fClientSSRC(0), fLastSenderReportNTPTime(0), + fLastSenderReportLocalTime(0), fHighestSeqNum(kUInt32_Max), fBaseSeqNum(0), fExpectedPrior(0), fReceivedPrior(0) + { } + }; + + /* Client stats + struct TrackStats { enum { @@ -219,7 +288,6 @@ class ClientSession : public Task UInt32 fNumThrownAwayPackets; UInt8 fSequenceNumberMap[kSeqNumMapSize]; UInt16 fWrapSeqNum; - UInt16 fLastSeqNum; UInt32 fSSRC; Bool16 fIsSSRCValid; @@ -231,10 +299,20 @@ class ClientSession : public Task UInt32 fNumDuplicates; }; - TrackStats* fStats; + */ UInt32 fOverbufferWindowSizeInK; - UInt32 fCurRTCPTrack; - UInt32 fNumPacketsReceived; + UInt32 fCurRTCPTrack; //track index not track id + UInt32 fNumPacketsReceived; //track only good packets(but include late and duplicates; see RFC3550 6.4.1) + UInt32 fNumBytesReceived; //includes RTP header + + UInt32 fVerboseLevel; + + SVector fStats; //the index of this vector is the same as fSDPParser.GetStreamInfo + + PlayerSimulator fPlayerSimulator; + + //TrackStats* fStats; + // // Global stats static UInt32 sActiveConnections; @@ -242,13 +320,21 @@ class ClientSession : public Task static UInt32 sTotalConnectionAttempts; static UInt32 sBytesReceived; static UInt32 sPacketsReceived; + // // Helper functions for Run() void SetupUDPSockets(); - void ProcessMediaPacket(char* inPacket, UInt32 inLength, UInt32 inTrackID, Bool16 isRTCP); + void ProcessRTPPacket(char* inPacket, UInt32 inLength, UInt32 inTrackID); + void ProcessRTCPPacket(char* inPacket, UInt32 inLength, UInt32 inTrackID); OS_Error ReadMediaData(); - OS_Error SendReceiverReport(UInt32 inTrackID); - void AckPackets(UInt32 inTrackIndex, UInt16 inCurSeqNum, Bool16 inCurSeqNumValid); + OS_Error SendRTCPPackets(UInt32 trackIndex); + void SendAckPackets(UInt32 inTrackIndex); + + //Calculates the RTCP RR's fraction lost and cumulative number of packets lost field info. + void CalcRTCPRRPacketsLost(UInt32 trackIndex, UInt8 &outFracLost, SInt32 &outCumLostPackets); + + //Returns kUInt32_Max if newSeqNum is out of bound, otherwise returns the corresponding 32 bit sequence number. + static UInt32 CalcSeqNum(UInt32 referenceSeqNum, UInt16 newSeqNum); }; #endif //__CLIENT_SESSION__ diff --git a/RTSPClientLib/ClientSocket.cpp b/RTSPClientLib/ClientSocket.cpp index 13e5d64..a4e39d1 100644 --- a/RTSPClientLib/ClientSocket.cpp +++ b/RTSPClientLib/ClientSocket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -235,7 +235,7 @@ OS_Error HTTPClientSocket::Read(void* inBuffer, const UInt32 inLength, UInt32* o #if CLIENT_SOCKET_DEBUG qtss_printf("HTTPClientSocket::Read: Sending GET\n"); #endif - qtss_sprintf(fSendBuffer.Ptr, "GET %s HTTP/1.0\r\nX-SessionCookie: %lu\r\nAccept: application/x-rtsp-rtp-interleaved\r\nUser-Agent: QTSS/2.0\r\n\r\n", fURL.Ptr, fCookie); + qtss_sprintf(fSendBuffer.Ptr, "GET %s HTTP/1.0\r\nX-SessionCookie: %"_U32BITARG_"\r\nAccept: application/x-rtsp-rtp-interleaved\r\nUser-Agent: QTSS/2.0\r\n\r\n", fURL.Ptr, fCookie); fSendBuffer.Len = ::strlen(fSendBuffer.Ptr); Assert(fSentLength == 0); } @@ -326,7 +326,7 @@ OS_Error HTTPClientSocket::SendV(iovec* inVec, UInt32 inNumVecs) #if CLIENT_SOCKET_DEBUG qtss_printf("HTTPClientSocket::Send: Sending POST\n"); #endif - qtss_sprintf(fSendBuffer.Ptr, "POST %s HTTP/1.0\r\nX-SessionCookie: %lu\r\nAccept: application/x-rtsp-rtp-interleaved\r\nUser-Agent: QTSS/2.0\r\n\r\n", fURL.Ptr, fCookie); + qtss_sprintf(fSendBuffer.Ptr, "POST %s HTTP/1.0\r\nX-SessionCookie: %"_U32BITARG_"\r\nAccept: application/x-rtsp-rtp-interleaved\r\nUser-Agent: QTSS/2.0\r\n\r\n", fURL.Ptr, fCookie); fSendBuffer.Len = ::strlen(fSendBuffer.Ptr); this->EncodeVec(inVec, inNumVecs); } diff --git a/RTSPClientLib/ClientSocket.h b/RTSPClientLib/ClientSocket.h index 643f653..5edb524 100644 --- a/RTSPClientLib/ClientSocket.h +++ b/RTSPClientLib/ClientSocket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -143,6 +143,7 @@ class HTTPClientSocket : public ClientSocket // // Implements the ClientSocket Send and Receive interface for an RTSP / HTTP connection virtual OS_Error SendV(iovec* inVec, UInt32 inNumVecs); + // Both SendV and Read use the fSendBuffer; so you cannot have both operations be running at the same time. virtual OS_Error Read(void* inBuffer, const UInt32 inLength, UInt32* outRcvLen); virtual UInt32 GetLocalAddr() { return fGetSocket.GetLocalAddr(); } diff --git a/RTSPClientLib/PlayerSimulator.h b/RTSPClientLib/PlayerSimulator.h new file mode 100644 index 0000000..0d92e3a --- /dev/null +++ b/RTSPClientLib/PlayerSimulator.h @@ -0,0 +1,366 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: PlayerSimulator.h + + Simulates a client; track duplicate/late/missing packets +*/ + +#ifndef _PLAYERSIMULATOR_H_ +#define _PLAYERSIMULATOR_H_ + +#include "SafeStdLib.h"" +#include "OSHeaders.h" +#include "OS.h" +#include "SVector.h" + +/* Macros for min/max. */ +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif +#ifndef MAX +#define MAX(a,b) (((a)>(b))?(a):(b)) +#endif + +class PlayerSimulator +{ + public: + PlayerSimulator(UInt32 verboseLevel = 0) + : fTargetBufferingDelay(0), fStartPlayDelay(0), fLocalStartPlayTime(0), fCurrentMediaTime(0), fVerboseLevel(verboseLevel), fIsPlaying(false) + {} + + //call Setup and then SetupTrack per stream to initialize the class. Use a targetBufferingDelay of 0 to start playing immediately + //The PlayerSimulator can be reused by calling Setup and SetupTrack again + void Setup(UInt32 numTracks, UInt32 targetBufferingDelay = 0, UInt32 startPlayDelay = 0) + { + fTargetBufferingDelay = targetBufferingDelay; + fStartPlayDelay = startPlayDelay; + fLocalStartPlayTime = 0; + fIsPlaying = false; + fTrackInfo.clear(); + fTrackInfo.resize(numTracks); + } + //Use a bufferSize of 0 to have an unlimited buffer size; + void SetupTrack(UInt32 trackIndex, UInt32 samplingRate, UInt32 bufferSize = 0) + { + fTrackInfo[trackIndex].fBufferSize = bufferSize == 0 ? kUInt32_Max : bufferSize; + fTrackInfo[trackIndex].fSamplingRate = samplingRate; + } + + //Please note that PlayerSimulator use track index, not track ID; payloadSize should exclude the RTP header. + //Returns true if the packet is a duplicate; the sequence number of the RTP packet MUST be in range. + Bool16 ProcessRTPPacket(UInt32 trackIndex, UInt32 packetLen, UInt32 payloadSize, UInt32 seqNum, UInt32 timeStamp) + { + Assert(trackIndex <= fTrackInfo.size()); + TrackInfo &trackInfo = fTrackInfo[trackIndex]; + SVector &playBuffer = trackInfo.fPlayBuffer; + + Bool16 addPacketToBuffer = false; + Bool16 packetIsDuplicate = false; + + if (fIsPlaying) + { + AdvanceTime(); + if(seqNum < trackInfo.fNextSeqNum) + { + //definately a late packet; try to see if the packet is one of the lost packets + UInt32 index = trackInfo.fLostPackets.find(seqNum); + if (index != trackInfo.fLostPackets.size()) + { + //a late, non-duplicate packet + trackInfo.fNumLatePackets++; + trackInfo.fLostPackets.erase(index); + } + else //a late-duplicate + { + trackInfo.fNumDuplicates++; + packetIsDuplicate = true; + } + } + else + { + //look in the play buffer + if (playBuffer.empty() || seqNum < playBuffer.front().fSeqNum) + { + //the packet has an earlier sequence number than any other packets in the buffer; it may still be late + if (RTPTime2MediaTime(trackIndex, timeStamp) <= fCurrentMediaTime) + trackInfo.fNumLatePackets++; + if (GetFreeBufferSpace(trackIndex) >= packetLen) + playBuffer.insert(0, PacketInfo(seqNum, timeStamp, packetLen)); + else + trackInfo.fNumBufferOverflowedPackets++; + } + else + addPacketToBuffer = true; + } + } + else + { + if (playBuffer.empty()) + { + //This is the first packet in the stream + if (GetFreeBufferSpace(trackIndex) >= packetLen) + playBuffer.push_back(PacketInfo(seqNum, timeStamp, packetLen)); + else + trackInfo.fNumBufferOverflowedPackets++; + } + else + addPacketToBuffer = true; + } + + if (addPacketToBuffer) + { + //check the buffer to see if the packet is a duplicate + UInt32 index = 0; + for(index = 0; index < playBuffer.size(); ++index) + { + if (seqNum == playBuffer[index].fSeqNum) + { + //a non-late, duplicate packet + trackInfo.fNumDuplicates++; + packetIsDuplicate = true; + break; + } + else if (seqNum < playBuffer[index].fSeqNum) //found where to insert + break; + } + + if(!packetIsDuplicate) + { + //a non-late non-duplicate -- may be out of order + if (GetFreeBufferSpace(trackIndex) >= packetLen) + playBuffer.insert(index, PacketInfo(seqNum, timeStamp, packetLen)); + else + trackInfo.fNumBufferOverflowedPackets++; + } + } + + if(!fIsPlaying) + { + //is it time to start playing? + Bool16 haveEnoughBuffer = true; + for(UInt32 index = 0; index < fTrackInfo.size(); ++index) + { + if (fTrackInfo[index].fPlayBuffer.empty() || GetBufferingDelay(index) <= fStartPlayDelay) + { + haveEnoughBuffer = false; + break; + } + } + + if(haveEnoughBuffer) //lets start playing! + { + fIsPlaying = true; + fLocalStartPlayTime = OS::Milliseconds(); + + for(UInt32 index = 0; index < fTrackInfo.size(); ++index) + { + //for each track, set the next sequence number and the earliest RTP timestamp + TrackInfo &curTrack = fTrackInfo[index]; + curTrack.fRTPTimeStampBase = curTrack.fPlayBuffer.front().fTimeStamp; + curTrack.fNextSeqNum = curTrack.fPlayBuffer.front().fSeqNum; + + if(fVerboseLevel >= 1) + qtss_printf("Track %"_U32BITARG_" is now playing; initial seq=%"_U32BITARG_", initial time stamp=%"_U32BITARG_"\n", + index, curTrack.fNextSeqNum, curTrack.fRTPTimeStampBase); + } + AdvanceTime(); + } + } + + if(fVerboseLevel >= 2) + { + if (fIsPlaying) + qtss_printf("Processed packet: track=%"_U32BITARG_", len=%"_U32BITARG_", seq=%"_U32BITARG_", time=%"_U32BITARG_"(%"_U32BITARG_"); " + "bufferingDelay=%"_U32BITARG_", FBS=%"_U32BITARG_", media time=%"_U32BITARG_"\n", + trackIndex, packetLen, seqNum, timeStamp, RTPTime2MediaTime(trackIndex, timeStamp), + GetBufferingDelay(trackIndex), GetFreeBufferSpace(trackIndex), fCurrentMediaTime); + else + qtss_printf("Processed packet: track=%"_U32BITARG_", len=%"_U32BITARG_", seq=%"_U32BITARG_", time=%"_U32BITARG_"(%"_U32BITARG_"); " + "bufferingDelay=%"_U32BITARG_", FBS=%"_U32BITARG_"\n", + trackIndex, packetLen, seqNum, timeStamp, RTPTime2MediaTime(trackIndex, timeStamp), + GetBufferingDelay(trackIndex), GetFreeBufferSpace(trackIndex)); + } + + return packetIsDuplicate; + } + + //returns kUInt32_Max if the buffer is empty; otherwise returns the first sequence number in the buffer + UInt32 GetNextSeqNumToDecode(UInt32 trackIndex) + { + SVector &playBuffer = fTrackInfo[trackIndex].fPlayBuffer; + return playBuffer.empty() ? kUInt32_Max : playBuffer.front().fSeqNum; + } + + //in milliseconds; returns kUInt32_Max if the stream is not playing or if the buffer is empty + UInt32 GetPlayoutDelay(UInt32 trackIndex) + { + SVector &playBuffer = fTrackInfo[trackIndex].fPlayBuffer; + if(!fIsPlaying || playBuffer.empty()) + return kUInt32_Max; + else + { + UInt32 nextPacketTime = playBuffer.front().fTimeStamp; + return RTPTime2MediaTime(trackIndex, nextPacketTime) - fCurrentMediaTime; + } + } + + //in milliseconds; returns kUInt32_Max if the buffer is empty + UInt32 GetBufferingDelay(UInt32 trackIndex) + { + SVector &playBuffer = fTrackInfo[trackIndex].fPlayBuffer; + if(playBuffer.empty()) + return kUInt32_Max; + + UInt64 delta = playBuffer.back().fTimeStamp - playBuffer.front().fTimeStamp; + UInt32 bufferDelay = static_cast((delta * 1000) / fTrackInfo[trackIndex].fSamplingRate); + if (fIsPlaying) + bufferDelay += GetPlayoutDelay(trackIndex); + return bufferDelay; + } + + //in bytes + UInt32 GetFreeBufferSpace(UInt32 trackIndex) + { + SVector &playBuffer = fTrackInfo[trackIndex].fPlayBuffer; + UInt32 bytesInBuffer = 0; + for(UInt32 i = 0; i < playBuffer.size(); ++i) + bytesInBuffer += playBuffer[i].fPayloadSize; + Assert(fTrackInfo[trackIndex].fBufferSize >= bytesInBuffer); + return fTrackInfo[trackIndex].fBufferSize - bytesInBuffer; + } + + //The lost packets returned by this function is NOT the same as the lost packets defined by the RTCP RR. + UInt32 GetNumPacketsLost(UInt32 trackIndex) { return fTrackInfo[trackIndex].fLostPackets.size(); } + UInt32 GetNumLatePackets(UInt32 trackIndex) { return fTrackInfo[trackIndex].fNumLatePackets; } + UInt32 GetNumBufferOverflowedPackets(UInt32 trackIndex) { return fTrackInfo[trackIndex].fNumBufferOverflowedPackets; } + UInt32 GetNumDuplicates(UInt32 trackIndex) { return fTrackInfo[trackIndex].fNumDuplicates; } + + private: + struct PacketInfo + { + UInt32 fSeqNum; //kUInt32_Max is invalid sequence number + UInt32 fTimeStamp; + UInt32 fPayloadSize; + + PacketInfo() : fSeqNum(0), fTimeStamp(0), fPayloadSize(0) {} + PacketInfo(UInt32 seqNum, UInt32 timeStamp, UInt32 payloadSize) + : fSeqNum(seqNum), fTimeStamp(timeStamp), fPayloadSize(payloadSize) + {} + }; + struct TrackInfo + { + UInt32 fNumDuplicates; + UInt32 fNumBufferOverflowedPackets; //number of packets lost due to buffer overflow + UInt32 fNumLatePackets; //packet that did not arrive on time, but did arrive + + UInt32 fBufferSize; //in bytes + UInt32 fSamplingRate; //in samples per second + + //These two values have meaning only while the stream is playing. + //All packets with sequence number less than fNextSeqNum have already expired, and all other packets PROBABLY goes into the buffer + UInt32 fRTPTimeStampBase; + UInt32 fNextSeqNum; + + SVector fLostPackets; //All the packets with seq number less than fNextSeqNum that has not yet arrived. + SVector fPlayBuffer; //Can contain only packets with seq number >= than fNextSeqNum + + TrackInfo() : fNumDuplicates(0), fNumBufferOverflowedPackets(0), fNumLatePackets(0), fBufferSize(0), fSamplingRate(0), + fRTPTimeStampBase(0), fNextSeqNum(0) + {} + }; + + //Advances the curent media play time according to the wallclock time; remove packets in the buffer whose timestamp has expired, + //increases fNextSeqNum, and find out which packet is missing and put them on the lost packts list. + //Also updates the current media play time -- all packets with an earlier timestamp has expired, and all packets with a later timestamp + //must be in the buffer or is not received yet. + void AdvanceTime() + { + fCurrentMediaTime = LocalTime2MediaTime(OS::Milliseconds()); + for(UInt32 trackIndex = 0; trackIndex < fTrackInfo.size(); ++trackIndex) + { + TrackInfo &trackInfo = fTrackInfo[trackIndex]; + SVector &playBuffer = trackInfo.fPlayBuffer; + UInt32 prevTimeStamp = 0; + + //go through the play buffer until a packet with a later timestamp than the current time is found + UInt32 i = 0; + for(; i < playBuffer.size(); ++i) + { + if(prevTimeStamp > playBuffer[i].fTimeStamp) + { if(fVerboseLevel >= 2) //this can happen from out of order packets from udp network routing or retransmits from rudp. It should never happen over tcp or http. + qtss_printf("WARNING: RTP timestamp is not monotonic! seq=%"_U32BITARG_" timestamp=%"_U32BITARG_"\n", playBuffer[i].fSeqNum, playBuffer[i].fTimeStamp); + } + else + prevTimeStamp = playBuffer[i].fTimeStamp; + + if (fCurrentMediaTime >= RTPTime2MediaTime(trackIndex, playBuffer[i].fTimeStamp)) + { + //the packet has expired; add packets that has not yet arrived to the lost packet list + while(trackInfo.fNextSeqNum != playBuffer[i].fSeqNum) + { + trackInfo.fLostPackets.push_back(trackInfo.fNextSeqNum); + trackInfo.fNextSeqNum++; + } + trackInfo.fNextSeqNum++; + } + else + break; + } + //remove packets that have expired + playBuffer.erase(0, i); + } + } + + //can be called only when the media is playing; media time is measured in milliseconds + UInt32 LocalTime2MediaTime(SInt64 localTime) + { + SInt64 delta = localTime - fLocalStartPlayTime; + Assert(fIsPlaying && (SInt64) 0 <= (SInt64) delta && delta <= (SInt64)kUInt32_Max); + return delta; + } + + UInt32 RTPTime2MediaTime(UInt32 trackIndex, UInt32 RTPTimestamp) + { + TrackInfo &trackInfo = fTrackInfo[trackIndex]; + UInt32 RTPTimestampBase = RTPTimestamp; + if(fIsPlaying) + RTPTimestampBase = trackInfo.fRTPTimeStampBase; + else if (!trackInfo.fPlayBuffer.empty()) + RTPTimestampBase = trackInfo.fPlayBuffer.front().fTimeStamp; + UInt64 delta = RTPTimestamp - RTPTimestampBase; + return static_cast((delta*1000) / trackInfo.fSamplingRate); + } + + SVector fTrackInfo; + UInt32 fTargetBufferingDelay; //in milliseconds + UInt32 fStartPlayDelay; //in milliseconds + SInt64 fLocalStartPlayTime; //in UNIX time(milliseconds); + UInt32 fCurrentMediaTime; //current media time(in millisecond); valid only while playing + UInt32 fVerboseLevel; + Bool16 fIsPlaying; +}; + +#endif //_PLAYERSIMULATOR_H_ diff --git a/RTSPClientLib/RTPPacket.h b/RTSPClientLib/RTPPacket.h new file mode 100644 index 0000000..7dfff1b --- /dev/null +++ b/RTSPClientLib/RTPPacket.h @@ -0,0 +1,113 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTPPacket.h + + Some useful things for parsing RTPPackets. +*/ +#ifndef _RTPPACKET_H_ +#define _RTPPACKET_H_ + +#include "arpa/inet.h" +#include "OSHeaders.h" +#include "StrPtrLen.h" + +class RTPPacket +{ + public: + enum { + RTP_VERSION = 2, + + RTCP_SR = 200, + RTCP_RR = 201, + RTCP_SDES = 202, + RTCP_BYE = 203, + RTCP_APP = 204 + }; + + /* + * RTP data header + */ + struct RTPHeader { + #if 0 + //rtp header + unsigned int version:2; /* protocol version */ + unsigned int p:1; /* padding flag */ + unsigned int x:1; /* header extension flag */ + unsigned int cc:4; /* CSRC count */ + unsigned int m:1; /* marker bit */ + unsigned int pt:7; /* payload type */ + #endif + UInt16 rtpheader; + UInt16 seq; /* sequence number */ + UInt32 ts; /* timestamp */ + UInt32 ssrc; /* synchronization source */ + //UInt32 csrc[1]; /* optional CSRC list */ + }; + + RTPPacket(StrPtrLen inPacket) + : fPacket(reinterpret_cast(inPacket.Ptr)), fLen(inPacket.Len) + {} + RTPPacket(char *inPacket = NULL, UInt32 inLen = NULL) + : fPacket(reinterpret_cast(inPacket)), fLen(inLen) + {} + + UInt8 GetPayloadType() const { return ntohs(fPacket->rtpheader) & 0x007F; } + UInt8 GetCSRCCount() const { return (ntohs(fPacket->rtpheader) & 0x0F00 ) >> 8; } + + //The following get functions will convert from network byte order to host byte order. + //Conversely the set functions will convert from host byte order to network byte order. + UInt16 GetSeqNum() const { return ntohs(fPacket->seq); } + void SetSeqNum(UInt16 seqNum) { fPacket->seq = htons(seqNum); } + + UInt32 GetTimeStamp() const { return ntohl(fPacket->ts); } + void SetTimeStamp(UInt32 timeStamp) { fPacket->ts = htonl(timeStamp); } + + UInt32 GetSSRC() const { return ntohl(fPacket->ssrc); } + void SetSSRC(UInt32 SSRC) { fPacket->ssrc = htonl(SSRC); } + + //Includes the variable CSRC portion + UInt32 GetHeaderLen() const { return sizeof(RTPHeader) + GetCSRCCount() * 4; } + + StrPtrLen GetBody() const { return StrPtrLen(reinterpret_cast(fPacket) + GetHeaderLen(), fLen - GetHeaderLen()); } + + //Returns true if the header is not bad; do some very basic checking + Bool16 HeaderIsValid() const + { + Assert(sizeof(RTPHeader) == 12); + if (fLen < sizeof(RTPHeader)) + return false; + if ( ( ntohs(fPacket->rtpheader) >> 14) != RTP_VERSION ) + return false; + if (GetHeaderLen() > fLen) + return false; + return true; + } + + RTPHeader * fPacket; + UInt32 fLen; //total length of the packet, including the header +}; + +#endif diff --git a/RTSPClientLib/RTSPClient.cpp b/RTSPClientLib/RTSPClient.cpp index 8f244d2..d3e51bc 100644 --- a/RTSPClientLib/RTSPClient.cpp +++ b/RTSPClientLib/RTSPClient.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -44,6 +44,7 @@ #include "StringParser.h" #include "OSMemory.h" #include "OSHeaders.h" +#include "OSArrayObjectDeleter.h" #include @@ -154,7 +155,7 @@ void Authenticator::Clean() delete [] fPasswordSPL.Ptr; fPasswordSPL.Set(NULL,0); delete [] fRealmSPL.Ptr;fRealmSPL.Set(NULL,0); delete [] fMethodSPL.Ptr; fMethodSPL.Set(NULL,0); - + delete [] fURISPL.Ptr ; fURISPL.Set(NULL); } @@ -217,8 +218,7 @@ void Authenticator::ParseTag(StringParser *parserPtr,StrPtrLen *outTagPtr) parserPtr->ConsumeUntil(NULL,sNOTWhiteQuoteOrEOLorEqual); parserPtr->ConsumeUntil(outTagPtr, sWhiteQuoteOrEOLorEqual); // stop on whitespace " or = - //qtss_printf("Authenticator::ParseTag =%s\n",STRTOCHAR(outTagPtr)); - + //qtss_printf("Authenticator::ParseTag =%s\n",STRTOCHAR(outTagPtr)); } Bool16 Authenticator::CopyParam(StrPtrLen *inPtr, StrPtrLen *destPtr) @@ -239,9 +239,7 @@ Bool16 Authenticator::CopyParam(StrPtrLen *inPtr, StrPtrLen *destPtr) if (destPtr->Len > 0) { ::memcpy(destPtr->Ptr,inPtr->Ptr,inPtr->Len); } - return true; - } @@ -262,15 +260,16 @@ Bool16 Authenticator::GetParamValue(StringParser *valueSourcePtr, StrPtrLen *out if ( (temp.Len > 0) && ( '"' == temp.Ptr[temp.Len -1] ) )// if quote read to next quote or end { valueSourcePtr->ConsumeUntil(outParamValuePtr, '"'); - //qtss_printf("Found quoted value=%s\n",STRTOCHAR(outParamValuePtr)); + //qtss_printf("Found quoted value=%s\n",STRTOCHAR(outParamValuePtr)); } else // get just the non-whitespace or EOL - { //qtss_printf("Authenticator::GetParamValue No quotes\n"); + { + //qtss_printf("Authenticator::GetParamValue No quotes\n"); valueSourcePtr->ConsumeWhitespace(); valueSourcePtr->ConsumeUntilWhitespace(outParamValuePtr); } - //qtss_printf("Authenticator::GetParamValue len = %lu =%s\n",outParamValuePtr->Len, STRTOCHAR(outParamValuePtr)); + //qtss_printf("Authenticator::GetParamValue len = %"_U32BITARG_" =%s\n",outParamValuePtr->Len, STRTOCHAR(outParamValuePtr)); return true; } @@ -333,7 +332,8 @@ void Authenticator::ResetRequestLen(StrPtrLen *theRequestPtr, StrPtrLen *theP } -char * Authenticator::GetRequestHeader( StrPtrLen *inSourceStr, StrPtrLen *searchHeaderStr,StrPtrLen *outHeaderStr) +//char * Authenticator::GetRequestHeader( StrPtrLen *inSourceStr, StrPtrLen *searchHeaderStr,StrPtrLen *outHeaderStr) +char * Authenticator::GetRequestHeader( StrPtrLen *inSourceStr, StrPtrLen *searchHeaderStr) { StrPtrLen headers; StrPtrLen headersTerminator("\r\n\r\n"); @@ -510,12 +510,12 @@ void DigestAuth::AddAuthParam(StrPtrLen *theTagPtr, StrPtrLen *theValuePtr, Bool fReqFields.fReqParamTags[fReqFields.fNumFields -1] = theTagPtr; fReqFields.fReqParamValues[fReqFields.fNumFields -1] = theValuePtr; fReqFields.fQuoted[fReqFields.fNumFields -1] = quoted; - //qtss_printf("DigestAuth::AddAuthParam [%lu] tag=%s ",fReqFields.fNumFields -1, STRTOCHAR(theTagPtr)); + //qtss_printf("DigestAuth::AddAuthParam [%"_U32BITARG_"] tag=%s ",fReqFields.fNumFields -1, STRTOCHAR(theTagPtr)); //qtss_printf("value=%s \n",STRTOCHAR(theValuePtr)); - } else - { //qtss_printf("DigestAuth::AddAuthParam ignored [%lu] tag=%s value=%s \n",fReqFields.fNumFields -1, STRTOCHAR(theTagPtr),STRTOCHAR(theValuePtr)); + { + //qtss_printf("DigestAuth::AddAuthParam ignored [%"_U32BITARG_"] tag=%s value=%s \n",fReqFields.fNumFields -1, STRTOCHAR(theTagPtr),STRTOCHAR(theValuePtr)); } } @@ -541,7 +541,7 @@ void DigestAuth::GenerateAuthorizationRequestLine(StrPtrLen *requestPtr) qtss_sprintf(fAuthBuffer.Ptr, "%s %s ",sAuthorizationStr.Ptr, sAuthDigestStr.Ptr); - //qtss_printf ("DigestAuth::GenerateAuthorizationRequestLine buffsize = %lu fAuthBuffer= %s\n",buffsize, fAuthBuffer.Ptr); + //qtss_printf ("DigestAuth::GenerateAuthorizationRequestLine buffsize = %"_U32BITARG_" fAuthBuffer= %s\n",buffsize, fAuthBuffer.Ptr); StrPtrLen *theTagPtr; StrPtrLen *theValuePtr; @@ -577,12 +577,12 @@ void DigestAuth::GenerateAuthorizationRequestLine(StrPtrLen *requestPtr) if (paramIndex < fReqFields.fNumFields -1) strcat(fAuthBuffer.Ptr,","); - //qtss_printf("DigestAuth::GenerateAuthorizationRequestLine bufferLen=%ld fAuthBuffer= %s\n",::strlen(fAuthBuffer.Ptr),fAuthBuffer.Ptr); + //qtss_printf("DigestAuth::GenerateAuthorizationRequestLine bufferLen=%"_S32BITARG_" fAuthBuffer= %s\n",::strlen(fAuthBuffer.Ptr),fAuthBuffer.Ptr); } ::strcat(fAuthBuffer.Ptr, "\r\n"); - //qtss_printf("DigestAuth::GenerateAuthorizationRequestLine bufferLen=%ld fAuthBuffer= %s\n",::strlen(fAuthBuffer.Ptr),fAuthBuffer.Ptr); + //qtss_printf("DigestAuth::GenerateAuthorizationRequestLine bufferLen=%"_S32BITARG_" fAuthBuffer= %s\n",::strlen(fAuthBuffer.Ptr),fAuthBuffer.Ptr); } void DigestAuth::ResetAuthParams() @@ -598,23 +598,28 @@ void DigestAuth::MakeRequestDigest() fRequestDigestStr.Ptr = NULL; StrPtrLen emptyStr; StrPtrLen hA1; - //qtss_printf("DigestAuth::MakeRequestDigest fNameSPL=%s\n",STRTOCHAR(&fNameSPL)); - //qtss_printf("DigestAuth::MakeRequestDigest fRealmSPL=%s\n",STRTOCHAR(&fRealmSPL)); - //qtss_printf("DigestAuth::MakeRequestDigest fPasswordSPL=%s\n",STRTOCHAR(&fPasswordSPL)); - //qtss_printf("DigestAuth::MakeRequestDigest fnonce=%s\n",STRTOCHAR(&fnonce)); - //qtss_printf("DigestAuth::MakeRequestDigest fcnonce=%s\n",STRTOCHAR(&fcnonce)); + + /* + qtss_printf("DigestAuth::MakeRequestDigest fNameSPL=%s\n",STRTOCHAR(&fNameSPL)); + qtss_printf("DigestAuth::MakeRequestDigest fRealmSPL=%s\n",STRTOCHAR(&fRealmSPL)); + qtss_printf("DigestAuth::MakeRequestDigest fPasswordSPL=%s\n",STRTOCHAR(&fPasswordSPL)); + qtss_printf("DigestAuth::MakeRequestDigest fnonce=%s\n",STRTOCHAR(&fnonce)); + qtss_printf("DigestAuth::MakeRequestDigest fcnonce=%s\n",STRTOCHAR(&fcnonce)); + */ ::CalcHA1( &sMD5Str, &fNameSPL, &fRealmSPL, &fPasswordSPL, &fnonce, &fcnonce, &hA1); - //qtss_printf("DigestAuth::MakeRequestDigest CalcHA1=%s\n",STRTOCHAR(&hA1)); - //qtss_printf("DigestAuth::MakeRequestDigest fnonce=%s\n",STRTOCHAR(&fnonce)); - //qtss_printf("DigestAuth::MakeRequestDigest fNonceCountStr=%s\n",STRTOCHAR(&fNonceCountStr)); - //qtss_printf("DigestAuth::MakeRequestDigest fcnonce=%s\n",STRTOCHAR(&fcnonce)); - //qtss_printf("DigestAuth::MakeRequestDigest fqop=%s\n",STRTOCHAR(&fqop)); - //qtss_printf("DigestAuth::MakeRequestDigest fMethodSPL=%s\n",STRTOCHAR(&fMethodSPL)); - //qtss_printf("DigestAuth::MakeRequestDigest fURISPL=%s\n",STRTOCHAR(&fURISPL)); - //qtss_printf("DigestAuth::MakeRequestDigest emptyStr=%s\n",STRTOCHAR(&emptyStr)); - //qtss_printf("DigestAuth::MakeRequestDigest fMethodSPL=%s\n",STRTOCHAR(&emptyStr)); + /* + qtss_printf("DigestAuth::MakeRequestDigest CalcHA1=%s\n",STRTOCHAR(&hA1)); + qtss_printf("DigestAuth::MakeRequestDigest fnonce=%s\n",STRTOCHAR(&fnonce)); + qtss_printf("DigestAuth::MakeRequestDigest fNonceCountStr=%s\n",STRTOCHAR(&fNonceCountStr)); + qtss_printf("DigestAuth::MakeRequestDigest fcnonce=%s\n",STRTOCHAR(&fcnonce)); + qtss_printf("DigestAuth::MakeRequestDigest fqop=%s\n",STRTOCHAR(&fqop)); + qtss_printf("DigestAuth::MakeRequestDigest fMethodSPL=%s\n",STRTOCHAR(&fMethodSPL)); + qtss_printf("DigestAuth::MakeRequestDigest fURISPL=%s\n",STRTOCHAR(&fURISPL)); + qtss_printf("DigestAuth::MakeRequestDigest emptyStr=%s\n",STRTOCHAR(&emptyStr)); + qtss_printf("DigestAuth::MakeRequestDigest fMethodSPL=%s\n",STRTOCHAR(&emptyStr)); + */ ::CalcRequestDigest(&hA1, &fnonce, &fNonceCountStr, &fcnonce, &fqop, &fMethodSPL, &fURISPL, &emptyStr, &fRequestDigestStr); delete [] hA1.Ptr; @@ -626,7 +631,7 @@ void DigestAuth::MakeCNonce() fAuthTime = OS::UnixTime_Secs(); char timeStr[64]; - qtss_sprintf(timeStr,"%lu",(UInt32) fAuthTime); + qtss_sprintf(timeStr,"%"_U32BITARG_"",(UInt32) fAuthTime); StrPtrLen timeSPL(timeStr); delete [] fcnonce.Ptr; @@ -706,7 +711,6 @@ DigestAuth::~DigestAuth() delete [] fRequestDigestStr.Ptr;fRequestDigestStr.Set(NULL,0); delete [] fURIStr.Ptr; fURIStr.Set(NULL,0); delete [] fcnonce.Ptr; fcnonce.Set(NULL,0); - delete [] fNonceCountStr.Ptr; fNonceCountStr.Set(NULL,0); delete [] fnonce.Ptr; fnonce.Set(NULL,0); delete [] fopaque.Ptr; fopaque.Set(NULL,0); delete [] fqop.Ptr; fqop.Set(NULL,0); @@ -816,7 +820,7 @@ RTSPClient::InterleavedParams RTSPClient::sInterleavedParams; RTSPClient::RTSPClient(ClientSocket* inSocket, Bool16 verbosePrinting, char* inUserAgent) : fAuthenticator(NULL), fSocket(inSocket), - fVerbose(verbosePrinting), + fVerboseLevel(verbosePrinting ? 1 : 0), fCSeq(1), fStatus(0), fSessionID(sEmptyString), @@ -824,44 +828,38 @@ RTSPClient::RTSPClient(ClientSocket* inSocket, Bool16 verbosePrinting, char* inU fContentLength(0), fSetupHeaders(NULL), fNumChannelElements(kMinNumChannelElements), - fNumSSRCElements(0), - fSSRCMapSize(kMinNumChannelElements), fNumFieldIDElements(0), fFieldIDMapSize(kMinNumChannelElements), fPacketBuffer(NULL), fPacketBufferOffset(0), fPacketOutstanding(false), fRecvContentBuffer(NULL), - fSendBufferLen(0), fContentRecvLen(0), fHeaderRecvLen(0), fHeaderLen(0), fSetupTrackID(0), - fTransactionStarted(false), - fReceiveInProgress(false), - fReceivedResponse(false), - fConnected(false), - fResponseCount(0), + fState(kInitial), + fAuthAttempted(false), fTransportMode(kPlayMode), fPacketDataInHeaderBufferLen(0), fPacketDataInHeaderBuffer(NULL), fUserAgent(NULL), - fControlID(RTSPClient::sControlID) + fControlID(RTSPClient::sControlID), + fGuarenteedBitRate(0), + fMaxBitRate(0), + fMaxTransferDelay(0), + fBandwidth(0), + fBufferSpace(0), + fDelayTime(0) { -#if DEBUG - fIsFirstPacket = true; -#endif - fChannelTrackMap = NEW ChannelMapElem[kMinNumChannelElements]; ::memset(fChannelTrackMap, 0, sizeof(ChannelMapElem) * kMinNumChannelElements); - fSSRCMap = NEW SSRCMapElem[kMinNumChannelElements]; - ::memset(fSSRCMap, 0, sizeof(SSRCMapElem) * kMinNumChannelElements); + fFieldIDMap = NEW FieldIDArrayElem[kMinNumChannelElements]; ::memset(fFieldIDMap, 0, sizeof(FieldIDArrayElem) * kMinNumChannelElements); ::memset(fSendBuffer, 0,kReqBufSize + 1); ::memset(fRecvHeaderBuffer, 0,kReqBufSize + 1); - fHaveTransactionBuffer = false; fSetupHeaders = NEW char[2]; fSetupHeaders[0] = '\0'; @@ -891,9 +889,10 @@ RTSPClient::~RTSPClient() delete [] fSetupHeaders; delete [] fChannelTrackMap; - delete [] fSSRCMap; delete [] fFieldIDMap; delete [] fPacketBuffer; + + delete fAuthenticator; delete [] fUserAgent; if (fControlID != RTSPClient::sControlID) @@ -963,53 +962,70 @@ void RTSPClient::SetSetupParams(Float32 inLateTolerance, char* inMetaInfoFields) OS_Error RTSPClient::SendDescribe(Bool16 inAppendJunkData) { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","DESCRIBE"); + StringFormatter fmt(fSendBuffer, kReqBufSize); + fmt.PutFmtStr( + "DESCRIBE %s RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "Accept: application/sdp\r\n" + "User-agent: %s\r\n", + fURL.Ptr, fCSeq, fUserAgent); + if (fBandwidth != 0) + fmt.PutFmtStr("Bandwidth: %"_U32BITARG_"\r\n", fBandwidth); + if (inAppendJunkData) { - qtss_sprintf(fSendBuffer, "DESCRIBE %s RTSP/1.0\r\nCSeq: %lu\r\nAccept: application/sdp\r\nContent-Length: 200\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); + fmt.PutFmtStr("Content-Length: 200\r\n\r\n"); + for(UInt32 i = 0; i < 200; ++i) + fmt.PutChar('d'); + /* + qtss_sprintf(fSendBuffer, "DESCRIBE %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\nAccept: application/sdp\r\nContent-Length: 200\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); UInt32 theBufLen = ::strlen(fSendBuffer); Assert((theBufLen + 200) < kReqBufSize); for (UInt32 x = theBufLen; x < (theBufLen + 200); x++) fSendBuffer[x] = 'd'; fSendBuffer[theBufLen + 200] = '\0'; + */ } else { - qtss_sprintf(fSendBuffer, "DESCRIBE %s RTSP/1.0\r\nCSeq: %lu\r\nAccept: application/sdp\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); + fmt.PutFmtStr("\r\n"); + //qtss_sprintf(fSendBuffer, "DESCRIBE %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\nAccept: application/sdp\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); } + fmt.PutTerminator(); } return this->DoTransaction(); } OS_Error RTSPClient::SendSetParameter() { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","SET_PARAMETER"); - qtss_sprintf(fSendBuffer, "SET_PARAMETER %s RTSP/1.0\r\nCSeq:%lu\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); + qtss_sprintf(fSendBuffer, "SET_PARAMETER %s RTSP/1.0\r\nCSeq:%"_U32BITARG_"\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); } return this->DoTransaction(); } OS_Error RTSPClient::SendOptions() { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","OPTIONS"); - qtss_sprintf(fSendBuffer, "OPTIONS * RTSP/1.0\r\nCSeq:%lu\r\nUser-agent: %s\r\n\r\n", fCSeq, fUserAgent); + qtss_sprintf(fSendBuffer, "OPTIONS * RTSP/1.0\r\nCSeq:%"_U32BITARG_"\r\nUser-agent: %s\r\n\r\n", fCSeq, fUserAgent); } return this->DoTransaction(); } OS_Error RTSPClient::SendOptionsWithRandomDataRequest(SInt32 dataSize) { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","OPTIONS"); - qtss_sprintf(fSendBuffer, "OPTIONS * RTSP/1.0\r\nCSeq:%lu\r\nUser-agent: %s\r\nRequire: x-Random-Data-Size\r\nx-Random-Data-Size: %ld\r\n\r\n", fCSeq, fUserAgent, dataSize); + qtss_sprintf(fSendBuffer, "OPTIONS * RTSP/1.0\r\nCSeq:%"_U32BITARG_"\r\nUser-agent: %s\r\nRequire: x-Random-Data-Size\r\nx-Random-Data-Size: %"_S32BITARG_"\r\n\r\n", fCSeq, fUserAgent, dataSize); } return this->DoTransaction(); } @@ -1019,14 +1035,35 @@ OS_Error RTSPClient::SendReliableUDPSetup(UInt32 inTrackID, UInt16 inClientPort) { fSetupTrackID = inTrackID; // Needed when SETUP response is received. fSendBuffer[0] = 0; - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","SETUP"); - + + StringFormatter fmt(fSendBuffer, kReqBufSize); + if (fTransportMode == kPushMode) - qtss_sprintf(fSendBuffer, "SETUP %s/%s=%lu RTSP/1.0\r\nCSeq: %lu\r\n%sTransport: RTP/AVP;unicast;client_port=%u-%u;mode=record\r\nx-Retransmit: our-retransmit\r\nUser-agent: %s\r\n\r\n", fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fUserAgent); - else - qtss_sprintf(fSendBuffer, "SETUP %s/%s=%lu RTSP/1.0\r\nCSeq: %lu\r\n%sTransport: RTP/AVP;unicast;client_port=%u-%u\r\nx-Retransmit: our-retransmit\r\nUser-agent: %s\r\n\r\n", fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fUserAgent); + fmt.PutFmtStr( + "SETUP %s/%s=%"_U32BITARG_" RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sTransport: RTP/AVP;unicast;client_port=%u-%u;mode=record\r\n" + "x-Retransmit: our-retransmit\r\n" + "User-agent: %s\r\n", + fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fUserAgent); + else + fmt.PutFmtStr( + "SETUP %s/%s=%"_U32BITARG_" RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sTransport: RTP/AVP;unicast;client_port=%u-%u\r\n" + "x-Retransmit: our-retransmit\r\n" + "User-agent: %s\r\n", + fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fUserAgent); + + if (fBandwidth != 0) + fmt.PutFmtStr("Bandwidth: %"_U32BITARG_"\r\n", fBandwidth); + + Attach3GPPHeaders(fmt, inTrackID); + fmt.PutFmtStr("\r\n"); + fmt.PutTerminator(); } return this->DoTransaction(); } @@ -1035,14 +1072,33 @@ OS_Error RTSPClient::SendUDPSetup(UInt32 inTrackID, UInt16 inClientPort) { fSetupTrackID = inTrackID; // Needed when SETUP response is received. - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","SETUP"); + StringFormatter fmt(fSendBuffer, kReqBufSize); + if (fTransportMode == kPushMode) - qtss_sprintf(fSendBuffer, "SETUP %s/%s=%lu RTSP/1.0\r\nCSeq: %lu\r\n%sTransport: RTP/AVP;unicast;client_port=%u-%u;mode=record\r\nUser-agent: %s\r\n\r\n", fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fUserAgent); - else - qtss_sprintf(fSendBuffer, "SETUP %s/%s=%lu RTSP/1.0\r\nCSeq: %lu\r\n%sTransport: RTP/AVP;unicast;client_port=%u-%u\r\n%sUser-agent: %s\r\n\r\n", fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fSetupHeaders, fUserAgent); + fmt.PutFmtStr( + "SETUP %s/%s=%"_U32BITARG_" RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sTransport: RTP/AVP;unicast;client_port=%u-%u;mode=record\r\n" + "User-agent: %s\r\n", + fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fUserAgent); + else + fmt.PutFmtStr( + "SETUP %s/%s=%"_U32BITARG_" RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sTransport: RTP/AVP;unicast;client_port=%u-%u\r\n" + "%sUser-agent: %s\r\n", + fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientPort, inClientPort + 1, fSetupHeaders, fUserAgent); + + if (fBandwidth != 0) + fmt.PutFmtStr("Bandwidth: %"_U32BITARG_"\r\n", fBandwidth); + + Attach3GPPHeaders(fmt, inTrackID); + fmt.PutFmtStr("\r\n"); + fmt.PutTerminator(); } return this->DoTransaction(); } @@ -1051,21 +1107,41 @@ OS_Error RTSPClient::SendTCPSetup(UInt32 inTrackID, UInt16 inClientRTPid, UInt16 { fSetupTrackID = inTrackID; // Needed when SETUP response is received. - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","SETUP"); + StringFormatter fmt(fSendBuffer, kReqBufSize); + if (fTransportMode == kPushMode) - qtss_sprintf(fSendBuffer, "SETUP %s/%s=%lu RTSP/1.0\r\nCSeq: %lu\r\n%sTransport: RTP/AVP/TCP;unicast;mode=record;interleaved=%u-%u\r\nUser-agent: %s\r\n\r\n", fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr,inClientRTPid, inClientRTCPid, fUserAgent); - else - qtss_sprintf(fSendBuffer, "SETUP %s/%s=%lu RTSP/1.0\r\nCSeq: %lu\r\n%sTransport: RTP/AVP/TCP;unicast;interleaved=%u-%u\r\n%sUser-agent: %s\r\n\r\n", fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientRTPid, inClientRTCPid,fSetupHeaders, fUserAgent); + fmt.PutFmtStr( + "SETUP %s/%s=%"_U32BITARG_" RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sTransport: RTP/AVP/TCP;unicast;mode=record;interleaved=%u-%u\r\n" + "User-agent: %s\r\n", + fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr,inClientRTPid, inClientRTCPid, fUserAgent); + else + fmt.PutFmtStr( + "SETUP %s/%s=%"_U32BITARG_" RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sTransport: RTP/AVP/TCP;unicast;interleaved=%u-%u\r\n" + "%sUser-agent: %s\r\n", + fURL.Ptr,fControlID, inTrackID, fCSeq, fSessionID.Ptr, inClientRTPid, inClientRTCPid,fSetupHeaders, fUserAgent); + + if (fBandwidth != 0) + fmt.PutFmtStr("Bandwidth: %"_U32BITARG_"\r\n", fBandwidth); + + Attach3GPPHeaders(fmt, inTrackID); + fmt.PutFmtStr("\r\n"); + fmt.PutTerminator(); + } return this->DoTransaction(); } -OS_Error RTSPClient::SendPlay(UInt32 inStartPlayTimeInSec, Float32 inSpeed) +OS_Error RTSPClient::SendPlay(UInt32 inStartPlayTimeInSec, Float32 inSpeed, UInt32 inTrackID) { char speedBuf[128]; speedBuf[0] = '\0'; @@ -1073,10 +1149,28 @@ OS_Error RTSPClient::SendPlay(UInt32 inStartPlayTimeInSec, Float32 inSpeed) if (inSpeed != 1) qtss_sprintf(speedBuf, "Speed: %f5.2\r\n", inSpeed); - if (!fTransactionStarted) - { qtss_sprintf(fMethod,"%s","PLAY"); - qtss_sprintf(fSendBuffer, "PLAY %s RTSP/1.0\r\nCSeq: %lu\r\n%sRange: npt=%lu.0-\r\n%sx-prebuffer: maxtime=3.0\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, inStartPlayTimeInSec, speedBuf, fUserAgent); - //qtss_sprintf(fSendBuffer, "PLAY %s RTSP/1.0\r\nCSeq: %lu\r\n%sRange: npt=7.0-\r\n%sx-prebuffer: maxtime=3.0\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, speedBuf, fUserAgent); + if (!IsTransactionInProgress()) + { + qtss_sprintf(fMethod,"%s","PLAY"); + + StringFormatter fmt(fSendBuffer, kReqBufSize); + + fmt.PutFmtStr( + "PLAY %s RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sRange: npt=%"_U32BITARG_".0-\r\n" + "%sx-prebuffer: maxtime=3.0\r\n" + "User-agent: %s\r\n", + fURL.Ptr, fCSeq, fSessionID.Ptr, inStartPlayTimeInSec, speedBuf, fUserAgent); + + if (fBandwidth != 0) + fmt.PutFmtStr("Bandwidth: %"_U32BITARG_"\r\n", fBandwidth); + + Attach3GPPHeaders(fmt, inTrackID); + fmt.PutFmtStr("\r\n"); + fmt.PutTerminator(); + + //qtss_sprintf(fSendBuffer, "PLAY %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\n%sRange: npt=7.0-\r\n%sx-prebuffer: maxtime=3.0\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, speedBuf, fUserAgent); } return this->DoTransaction(); } @@ -1088,21 +1182,36 @@ OS_Error RTSPClient::SendPacketRangePlay(char* inPacketRangeHeader, Float32 inSp if (inSpeed != 1) qtss_sprintf(speedBuf, "Speed: %f5.2\r\n", inSpeed); - - if (!fTransactionStarted) + + if (!IsTransactionInProgress()) { - qtss_sprintf(fMethod,"%s","PLAY"); - qtss_sprintf(fSendBuffer, "PLAY %s RTSP/1.0\r\nCSeq: %lu\r\n%sx-Packet-Range: %s\r\n%sUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, inPacketRangeHeader, speedBuf, fUserAgent); + qtss_sprintf(fMethod,"%s","PLAY"); + + StringFormatter fmt(fSendBuffer, kReqBufSize); + + fmt.PutFmtStr( + "PLAY %s RTSP/1.0\r\n" + "CSeq: %"_U32BITARG_"\r\n" + "%sx-Packet-Range: %s\r\n" + "%sUser-agent: %s\r\n\r\n", + fURL.Ptr, fCSeq, fSessionID.Ptr, inPacketRangeHeader, speedBuf, fUserAgent); + + if (fBandwidth != 0) + fmt.PutFmtStr("Bandwidth: %"_U32BITARG_"\r\n", fBandwidth); + + Attach3GPPHeaders(fmt); + fmt.PutFmtStr("\r\n"); + fmt.PutTerminator(); } return this->DoTransaction(); } OS_Error RTSPClient::SendReceive(UInt32 inStartPlayTimeInSec) { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","RECORD"); - qtss_sprintf(fSendBuffer, "RECORD %s RTSP/1.0\r\nCSeq: %lu\r\n%sRange: npt=%lu.0-\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, inStartPlayTimeInSec, fUserAgent); + qtss_sprintf(fSendBuffer, "RECORD %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\n%sRange: npt=%"_U32BITARG_".0-\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, inStartPlayTimeInSec, fUserAgent); } return this->DoTransaction(); } @@ -1110,16 +1219,16 @@ OS_Error RTSPClient::SendReceive(UInt32 inStartPlayTimeInSec) OS_Error RTSPClient::SendAnnounce(char *sdp) { //ANNOUNCE rtsp://server.example.com/permanent_broadcasts/TestBroadcast.sdp RTSP/1.0 - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","ANNOUNCE"); if (sdp == NULL) - qtss_sprintf(fSendBuffer, "ANNOUNCE %s RTSP/1.0\r\nCSeq: %lu\r\nAccept: application/sdp\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); + qtss_sprintf(fSendBuffer, "ANNOUNCE %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\nAccept: application/sdp\r\nUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fUserAgent); else { UInt32 len = strlen(sdp); if(len > kReqBufSize) return OS_NotEnoughSpace; - qtss_sprintf(fSendBuffer, "ANNOUNCE %s RTSP/1.0\r\nCSeq: %lu\r\nContent-Type: application/sdp\r\nUser-agent: %s\r\nContent-Length: %lu\r\n\r\n%s", fURL.Ptr, fCSeq, fUserAgent, len, sdp); + qtss_sprintf(fSendBuffer, "ANNOUNCE %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\nContent-Type: application/sdp\r\nUser-agent: %s\r\nContent-Length: %"_U32BITARG_"\r\n\r\n%s", fURL.Ptr, fCSeq, fUserAgent, len, sdp); } } return this->DoTransaction(); @@ -1127,7 +1236,7 @@ OS_Error RTSPClient::SendAnnounce(char *sdp) OS_Error RTSPClient::SendRTSPRequest(iovec* inRequest, UInt32 inNumVecs) { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { UInt32 curOffset = 0; for (UInt32 x = 0; x < inNumVecs; x++) @@ -1208,16 +1317,21 @@ OS_Error RTSPClient::SendInterleavedWrite(UInt8 channel, UInt16 len, char*data,B if (theErr != 0) outLenSent = 0; - //qtss_printf("RTSPClient::SendInterleavedWrite Send channel=%u bufferlen=%u err=%ld outLenSent=%lu\n",(UInt16) extraChannel, sendLen,theErr,outLenSent); + if(fVerboseLevel >= 3) + qtss_printf("RTSPClient::SendInterleavedWrite Send channel=%u bufferlen=%u err=%"_S32BITARG_" outLenSent=%"_U32BITARG_"\n",(UInt16) sInterleavedParams.extraChannel, sendLen,theErr,outLenSent); if (theErr == 0 && outLenSent != sendLen) { if (sInterleavedParams.extraLen > 0) // sending extra len so keep sending it. - { //qtss_printf("RTSPClient::SendInterleavedWrite partial Send channel=%u bufferlen=%u err=%ld amountSent=%lu \n",(UInt16) extraChannel,sendLen,theErr,outLenSent); + { + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::SendInterleavedWrite partial Send channel=%u bufferlen=%u err=%"_S32BITARG_" amountSent=%"_U32BITARG_" \n",(UInt16) sInterleavedParams.extraChannel,sendLen,theErr,outLenSent); sInterleavedParams.extraLen = sendLen - outLenSent; sInterleavedParams.extraByteOffset += outLenSent; sInterleavedParams.extraBytes = &fSendBuffer[sInterleavedParams.extraByteOffset]; } else // we were sending a new packet so record the data - { //qtss_printf("RTSPClient::SendInterleavedWrite partial Send channel=%u bufferlen=%u err=%ld amountSent=%lu \n",(UInt16) channel,sendLen,theErr,outLenSent); + { + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::SendInterleavedWrite partial Send channel=%u bufferlen=%u err=%"_S32BITARG_" amountSent=%"_U32BITARG_" \n",(UInt16) channel,sendLen,theErr,outLenSent); sInterleavedParams.extraBytes = &fSendBuffer[outLenSent]; sInterleavedParams.extraLen = sendLen - outLenSent; sInterleavedParams.extraChannel = channel; @@ -1229,18 +1343,23 @@ OS_Error RTSPClient::SendInterleavedWrite(UInt8 channel, UInt16 len, char*data,B if (theErr == 0) { if (sInterleavedParams.extraLen > 0) // we were busy sending some old data and it all got sent - { //qtss_printf("RTSPClient::SendInterleavedWrite FULL Send channel=%u bufferlen=%u err=%ld amountSent=%lu \n",(UInt16) extraChannel,sendLen,theErr,outLenSent); + { + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::SendInterleavedWrite FULL Send channel=%u bufferlen=%u err=%"_S32BITARG_" amountSent=%"_U32BITARG_" \n",(UInt16) sInterleavedParams.extraChannel,sendLen,theErr,outLenSent); } else { // it all worked so ask for more data - //qtss_printf("RTSPClient::SendInterleavedWrite FULL Send channel=%u bufferlen=%u err=%ld amountSent=%lu \n",(UInt16) channel,sendLen,theErr,outLenSent); + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::SendInterleavedWrite FULL Send channel=%u bufferlen=%u err=%"_S32BITARG_" amountSent=%"_U32BITARG_" \n",(UInt16) channel,sendLen,theErr,outLenSent); } sInterleavedParams.extraLen = 0; sInterleavedParams.extraBytes = NULL; sInterleavedParams.extraByteOffset = 0; } else // we got an error so nothing was sent - { //qtss_printf("RTSPClient::SendInterleavedWrite Send ERR sending=%ld \n",theErr); + { + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::SendInterleavedWrite Send ERR sending=%"_S32BITARG_" \n",theErr); if (sInterleavedParams.extraLen == 0) // retry the new packet { @@ -1256,9 +1375,9 @@ OS_Error RTSPClient::SendInterleavedWrite(UInt8 channel, UInt16 len, char*data,B OS_Error RTSPClient::SendTeardown() { - if (!fTransactionStarted) + if (!IsTransactionInProgress()) { qtss_sprintf(fMethod,"%s","TEARDOWN"); - qtss_sprintf(fSendBuffer, "TEARDOWN %s RTSP/1.0\r\nCSeq: %lu\r\n%sUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, fUserAgent); + qtss_sprintf(fSendBuffer, "TEARDOWN %s RTSP/1.0\r\nCSeq: %"_U32BITARG_"\r\n%sUser-agent: %s\r\n\r\n", fURL.Ptr, fCSeq, fSessionID.Ptr, fUserAgent); } return this->DoTransaction(); } @@ -1300,7 +1419,8 @@ OS_Error RTSPClient::GetMediaPacket(UInt32* outTrackID, Bool16* outIsRTCP, ch { // // If there is some packet data in the header buffer, clear it out - //qtss_printf("%d bytes of packet data in header buffer\n",fPacketDataInHeaderBufferLen); + if (fVerboseLevel >= 3) + qtss_printf("%"_U32BITARG_" bytes of packet data in header buffer\n",fPacketDataInHeaderBufferLen); Assert(fPacketDataInHeaderBuffer[0] == '$'); Assert(fPacketDataInHeaderBufferLen < (kMaxPacketSize - fPacketBufferOffset)); @@ -1323,22 +1443,23 @@ OS_Error RTSPClient::GetMediaPacket(UInt32* outTrackID, Bool16* outIsRTCP, ch Assert(fPacketBuffer[0] == '$'); UInt16* thePacketLenP = (UInt16*)fPacketBuffer; UInt16 thePacketLen = ntohs(thePacketLenP[1]); - + UInt8 channelIndex = fPacketBuffer[1]; if (fPacketBufferOffset >= (thePacketLen + kPacketHeaderLen)) { // We have a complete packet. Return it to the caller. - Assert(fPacketBuffer[1] < fNumChannelElements); // This is really not a safe assert, but anyway... - *outTrackID = fChannelTrackMap[fPacketBuffer[1]].fTrackID; - *outIsRTCP = fChannelTrackMap[fPacketBuffer[1]].fIsRTCP; + Assert(channelIndex < fNumChannelElements); // This is really not a safe assert, but anyway...] + if (channelIndex >= fNumChannelElements) + return -1; + + *outTrackID = fChannelTrackMap[channelIndex].fTrackID; + *outIsRTCP = fChannelTrackMap[channelIndex].fIsRTCP; *outLen = thePacketLen; // Next time we call this function, we will blow away the packet, but until then // we leave it untouched. fPacketOutstanding = true; *outBuffer = &fPacketBuffer[kPacketHeaderLen]; -#if DEBUG - fIsFirstPacket = false; -#endif + return OS_NoErr; } } @@ -1347,7 +1468,7 @@ OS_Error RTSPClient::GetMediaPacket(UInt32* outTrackID, Bool16* outIsRTCP, ch UInt32 RTSPClient::GetSSRCByTrack(UInt32 inTrackID) { - for (UInt32 x = 0; x < fNumSSRCElements; x++) + for (UInt32 x = 0; x < fSSRCMap.size(); x++) { if (inTrackID == fSSRCMap[x].fTrackID) return fSSRCMap[x].fSSRC; @@ -1365,129 +1486,92 @@ RTPMetaInfoPacket::FieldID* RTSPClient::GetFieldIDArrayByTrack(UInt32 inTrackID) return NULL; } - OS_Error RTSPClient::DoTransaction() { - - OS_Error theErr = OS_NoErr; - Bool16 isAuthenticated = false; - - fSendBufferLen = ::strlen(fSendBuffer); - StrPtrLen theRequest(fSendBuffer,fSendBufferLen); + OS_Error theErr = OS_NoErr; + StrPtrLen theRequest(fSendBuffer, ::strlen(fSendBuffer)); StrPtrLen theMethod(fMethod); - if (fAuthenticator != NULL && !fTransactionStarted) - { - fAuthenticator->SetMethod(&theMethod); - fAuthenticator->AttachAuthParams(&theRequest); - isAuthenticated = true; - } - - if (!fTransactionStarted) - { - // - // Make sure that if there is some packet data in the header buffer, we forget all about it. - fPacketDataInHeaderBufferLen = 0; + for(;;) + { + switch(fState) + { + //Initial state: getting ready to send the request; the authenticator is initialized if it exists. + //This is the only state where a new request can be made. + case kInitial: + if (fAuthenticator != NULL) + { + fAuthAttempted = true; + fAuthenticator->RemoveAuthLine(&theRequest); // reset to original request + fAuthenticator->ResetAuthParams(); // if we had a 401 on an authenticated request clean up old params and try again with the new response data + fAuthenticator->SetName(&fName); + fAuthenticator->SetPassword(&fPassword); + fAuthenticator->SetMethod(&theMethod); + fAuthenticator->SetURI(&fURL); + fAuthenticator->AttachAuthParams(&theRequest); + } + fCSeq++; //this assumes that the sequence number will not be read again until the next transaction + fPacketDataInHeaderBufferLen = 0; + + fState = kRequestSending; + break; + + //Request Sending state: keep on calling Send while Send returns EAGAIN or EINPROGRESS + case kRequestSending: + theErr = fSocket->Send(theRequest.Ptr, theRequest.Len); - fCSeq++; - } - - if (!fReceiveInProgress) - { fResponseCount = 0; - StrPtrLen theTransaction; - fTransactionStarted = true; - if (!fHaveTransactionBuffer) - { fHaveTransactionBuffer = true; - theTransaction.Set(theRequest.Ptr,theRequest.Len); - } - theErr = fSocket->Send(theTransaction.Ptr, theTransaction.Len); - - if (fVerbose) - qtss_printf("\n-----REQUEST-----len=%lu\n%s\n", theRequest.Len, STRTOCHAR(&theRequest)); - //qtss_printf("RTSPClient::DoTransaction Send len=%lu err = %ld\n",theTransaction.Len, theErr); - - if (theErr != OS_NoErr) - return theErr; - - fHaveTransactionBuffer = false; - - - // Done sending request, we're moving onto receiving the response - fConnected = true; - fContentRecvLen = 0; - fHeaderRecvLen = 0; - fReceivedResponse = false; - fReceiveInProgress = true; - memset(fRecvHeaderBuffer,0,kReqBufSize+1); - - } - - if (fReceiveInProgress) - { - Assert(theErr == OS_NoErr); - theErr = this->ReceiveResponse(); - //qtss_printf("RTSPClient::DoTransaction ReceiveResponse fStatus=%lu len=%lu err = %ld\n",fStatus, fHeaderRecvLen, theErr); - - if (theErr != OS_NoErr) - return theErr; - - fReceiveInProgress = false; - } - - - if (!fReceiveInProgress && (401 == fStatus) && (fAuthenticator != NULL) ) // authentication required or authentication failed - { - fResponseCount ++; - if (fResponseCount != 1) // just try to authenticate once against a 401. - return 0; - fAuthenticator->RemoveAuthLine(&theRequest); // reset to original request - fAuthenticator->ResetAuthParams(); // if we had a 401 on an authenticated request clean up old params and try again with the new response data - fAuthenticator->SetName(&fName); - fAuthenticator->SetPassword(&fPassword); - fAuthenticator->SetMethod(&theMethod); - fAuthenticator->SetURI(&fURL); - fAuthenticator->AttachAuthParams(&theRequest); - - if (fVerbose) - qtss_printf("\n-----REQUEST----\n%s\n", STRTOCHAR(&theRequest)); + if (theErr != OS_NoErr) + { + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::DoTransaction Send len=%"_U32BITARG_" err = %"_S32BITARG_"\n", theRequest.Len, theErr); + return theErr; + } + if (fVerboseLevel >= 1) + qtss_printf("\n-----REQUEST-----len=%"_U32BITARG_"\n%s\n", theRequest.Len, STRTOCHAR(&theRequest)); - - StrPtrLen theTransaction; - if (!fHaveTransactionBuffer) - { fHaveTransactionBuffer = true; - theTransaction.Set(theRequest.Ptr,theRequest.Len); - } - theErr = fSocket->Send(theTransaction.Ptr, theTransaction.Len); - //qtss_printf("fSocket->Send err =%ld len=%lu\n",theErr, theTransaction.Len); - if (theErr != OS_NoErr) - return theErr; - - fHaveTransactionBuffer = false; - - fContentRecvLen = 0; - fHeaderRecvLen = 0; - fReceivedResponse = false; - fRecvHeaderBuffer[0] = 0; - fHeaderLen = 0; - memset(fRecvHeaderBuffer,0,kReqBufSize+1); - - fReceiveInProgress = true; - fTransactionStarted = true; - return EAGAIN; - } - - - return theErr; + //Done sending request; moving onto the response + fContentRecvLen = 0; + fHeaderRecvLen = 0; + fHeaderLen = 0; + ::memset(fRecvHeaderBuffer, 0, kReqBufSize+1); + + fState = kResponseReceiving; + break; + + //Response Receiving state: keep on calling ReceiveResponse while it returns EAGAIN or EINPROGRESS + case kResponseReceiving: + //Header Received state: the response header has been received(and parsed), but the entity(response content) has not been completely received + case kHeaderReceived: + theErr = this->ReceiveResponse(); //note that this function can change the fState + + if (fVerboseLevel >= 3) + qtss_printf("RTSPClient::DoTransaction ReceiveResponse fStatus=%"_U32BITARG_" len=%"_U32BITARG_" err = %"_S32BITARG_"\n",fStatus, fHeaderRecvLen, theErr); + + if (theErr != OS_NoErr) + return theErr; + + //The response has been completely received and parsed. If the response is 401 unauthorized, then redo the request with authorization + fState = kInitial; + if (fStatus == 401 && fAuthenticator != NULL && !fAuthAttempted) + break; + else + return OS_NoErr; + break; + } + } + Assert(false); //not reached + return 0; } - +//This implementation cannot parse interleaved headers with entity content. OS_Error RTSPClient::ReceiveResponse() { + Assert(fState == kResponseReceiving | fState == kHeaderReceived); OS_Error theErr = OS_NoErr; - while (!fReceivedResponse) + while (fState == kResponseReceiving) { UInt32 theRecvLen = 0; //fRecvHeaderBuffer[0] = 0; @@ -1497,8 +1581,8 @@ OS_Error RTSPClient::ReceiveResponse() fHeaderRecvLen += theRecvLen; fRecvHeaderBuffer[fHeaderRecvLen] = 0; - if (fVerbose) - qtss_printf("\n-----RESPONSE----\n%s\n", fRecvHeaderBuffer); + if (fVerboseLevel >= 1) + qtss_printf("\n-----RESPONSE (len: %"_U32BITARG_")----\n%s\n", fHeaderRecvLen, fRecvHeaderBuffer); //fRecvHeaderBuffer[fHeaderRecvLen] = '\0'; // Check to see if we've gotten a complete header, and if the header has even started @@ -1513,11 +1597,12 @@ OS_Error RTSPClient::ReceiveResponse() } else if (theHeaderStart != fRecvHeaderBuffer) { + //strip off everything before the RTSP fHeaderRecvLen -= theHeaderStart - fRecvHeaderBuffer; ::memmove(fRecvHeaderBuffer, theHeaderStart, fHeaderRecvLen); //fRecvHeaderBuffer[fHeaderRecvLen] = '\0'; } - //qtss_printf("RTSPClient::ReceiveResponse fRecvHeaderBuffer=%s\n",fRecvHeaderBuffer); + char* theResponseData = ::strstr(fRecvHeaderBuffer, "\r\n\r\n"); if (theResponseData != NULL) @@ -1526,7 +1611,7 @@ OS_Error RTSPClient::ReceiveResponse() theResponseData += 4; // We've got a new response - fReceivedResponse = true; + fState = kHeaderReceived; // Figure out how much of the content body we've already received // in the header buffer. If we are interleaving, this may also be packet data @@ -1539,7 +1624,7 @@ OS_Error RTSPClient::ReceiveResponse() fContentLength = 0; // Parse the response. - StrPtrLen theData(fRecvHeaderBuffer, (theResponseData - (&fRecvHeaderBuffer[0]))); + StrPtrLen theData(fRecvHeaderBuffer, fHeaderLen); StringParser theParser(&theData); theParser.ConsumeLength(NULL, 9); //skip past RTSP/1.0 @@ -1581,21 +1666,23 @@ OS_Error RTSPClient::ReceiveResponse() } else if (theKey.NumEqualIgnoreCase(sContentLenHeader.Ptr, sContentLenHeader.Len)) { + //exclusive with interleaved StringParser theCLengthParser(&theKey); theCLengthParser.ConsumeUntil(NULL, StringParser::sDigitMask); fContentLength = theCLengthParser.ConsumeInteger(NULL); delete [] fRecvContentBuffer; fRecvContentBuffer = NEW char[fContentLength + 1]; + ::memset(fRecvContentBuffer, '\0', fContentLength + 1); // Immediately copy the bit of the content body that we've already // read off of the socket. + Assert(fContentRecvLen <= fContentLength) ::memcpy(fRecvContentBuffer, theResponseData, fContentRecvLen); - } else if (theKey.NumEqualIgnoreCase(sAuthenticateHeader.Ptr, sAuthenticateHeader.Len)) { - if (fVerbose) + if (fVerboseLevel >= 3) qtss_printf("\n--CHALLENGE RECEIVED\n"); #if ENABLE_AUTHENTICATION if (fAuthenticator != NULL) // already have an authenticator @@ -1605,14 +1692,14 @@ OS_Error RTSPClient::ReceiveResponse() Assert(fAuthenticator != NULL); if (!fAuthenticator) return 401; // what to do? the challenge is bad can't authenticate. - else if (fVerbose) + else if (fVerboseLevel >= 3) { if (fAuthenticator->GetType() == Authenticator::kBasicType) qtss_printf("--CREATED BASIC AUTHENTICATOR\n"); else if (fAuthenticator->GetType() == Authenticator::kDigestType) qtss_printf("--CREATED DIGEST AUTHENTICATOR\n"); } #else - if (fVerbose) + if (fVerboseLevel >= 3) qtss_printf("--AUTHENTICATION IS DISABLED\n"); #endif } @@ -1625,6 +1712,7 @@ OS_Error RTSPClient::ReceiveResponse() { static StrPtrLen sServerPort("server_port"); static StrPtrLen sInterleaved("interleaved"); + static StrPtrLen sSSRC("ssrc"); theTransportParser.GetThru(&theSubHeader, ';'); if (theSubHeader.NumEqualIgnoreCase(sServerPort.Ptr, sServerPort.Len)) @@ -1633,8 +1721,24 @@ OS_Error RTSPClient::ReceiveResponse() thePortParser.ConsumeUntil(NULL, StringParser::sDigitMask); fServerPort = (UInt16) thePortParser.ConsumeInteger(NULL); } - else if (theSubHeader.NumEqualIgnoreCase(sInterleaved.Ptr, sInterleaved.Len)) - this->ParseInterleaveSubHeader(&theSubHeader); + else if (theSubHeader.NumEqualIgnoreCase(sInterleaved.Ptr, sInterleaved.Len)) //exclusive with Content-length + this->ParseInterleaveSubHeader(&theSubHeader); + else if (theSubHeader.NumEqualIgnoreCase(sSSRC.Ptr, sSSRC.Len)) + { + StringParser ssrcParser(&theSubHeader); + StrPtrLen ssrcStr; + + ssrcParser.GetThru(NULL, '='); + ssrcParser.ConsumeWhitespace(); + ssrcParser.ConsumeUntilWhitespace(&ssrcStr); + + if (ssrcStr.Len > 0) + { + OSArrayObjectDeleter ssrcCStr = ssrcStr.GetAsCString(); + unsigned long ssrc = ::strtoul(ssrcCStr.GetObject(), NULL, 16); + fSSRCMap.push_back(SSRCMapElem(fSetupTrackID, ssrc)); + } + } } } else if (theKey.NumEqualIgnoreCase(sRTPInfoHeader.Ptr, sRTPInfoHeader.Len)) @@ -1652,39 +1756,37 @@ OS_Error RTSPClient::ReceiveResponse() } // - // Check to see if there is any packet data in the header buffer + // Check to see if there is any packet data in the header buffer; everything that is left should be packet data if (fContentRecvLen > fContentLength) { fPacketDataInHeaderBuffer = theResponseData + fContentLength; fPacketDataInHeaderBufferLen = fContentRecvLen - fContentLength; } } - else if (fHeaderRecvLen == kReqBufSize) + else if (fHeaderRecvLen == kReqBufSize) //the "\r\n" is not found --> read more data return ENOBUFS; // This response is too big for us to handle! } + //the advertised data length is less than what has been received...need to read more data while (fContentLength > fContentRecvLen) { UInt32 theContentRecvLen = 0; theErr = fSocket->Read(&fRecvContentBuffer[fContentRecvLen], fContentLength - fContentRecvLen, &theContentRecvLen); if (theErr != OS_NoErr) { - fEventMask = EV_RE; + //fEventMask = EV_RE; return theErr; } fContentRecvLen += theContentRecvLen; } - - // We're all done, reset all our state information. - fReceivedResponse = false; - fReceiveInProgress = false; - fTransactionStarted = false; - return OS_NoErr; } +//DOES NOT CURRENT WORK AS ADVERTISED; so I took it out +//RTP-Info has sequence number, not SSRC void RTSPClient::ParseRTPInfoHeader(StrPtrLen* inHeader) { +/* static StrPtrLen sURL("url"); StringParser theParser(inHeader); theParser.ConsumeUntil(NULL, 'u'); // consume until "url" @@ -1711,12 +1813,14 @@ void RTSPClient::ParseRTPInfoHeader(StrPtrLen* inHeader) static StrPtrLen sURLSubHeader("url"); static StrPtrLen sSSRCSubHeader("ssrc"); + //DOES NOT WORK IF THE URL contains NUMBERS!!!!!! if (theRTPInfoSubHeader.NumEqualIgnoreCase(sURLSubHeader.Ptr, sURLSubHeader.Len)) { StringParser theURLParser(&theRTPInfoSubHeader); theURLParser.ConsumeUntil(NULL, StringParser::sDigitMask); fSSRCMap[fNumSSRCElements].fTrackID = theURLParser.ConsumeInteger(NULL); } + // This RTP-Info header should not have an ssrc field!!! else if (theRTPInfoSubHeader.NumEqualIgnoreCase(sSSRCSubHeader.Ptr, sSSRCSubHeader.Len)) { StringParser theURLParser(&theRTPInfoSubHeader); @@ -1727,8 +1831,8 @@ void RTSPClient::ParseRTPInfoHeader(StrPtrLen* inHeader) // Move onto the next parameter (void)theParser.GetThru(&theRTPInfoSubHeader, ';'); } - - fNumSSRCElements++; + + fNumSSRCElements++;*/ } void RTSPClient::ParseRTPMetaInfoHeader(StrPtrLen* inHeader) @@ -1784,6 +1888,35 @@ void RTSPClient::ParseInterleaveSubHeader(StrPtrLen* inSubHeader) fChannelTrackMap[theRTCPChannel].fIsRTCP = true; } +//Use a trackID of kUInt32_Max to turn the Rate-Adaptation header off. +void RTSPClient::Attach3GPPHeaders(StringFormatter &fmt, UInt32 inTrackID) +{ + if (fGuarenteedBitRate != 0 | fMaxBitRate != 0 | fMaxTransferDelay != 0) + { + fmt.PutFmtStr("3GPP-Link-Char: url=\"%s\"", fURL.Ptr); + + if (fGuarenteedBitRate != 0) + fmt.PutFmtStr("; GBW=%"_U32BITARG_, fGuarenteedBitRate); + if (fMaxBitRate != 0) + fmt.PutFmtStr("; MBW=%"_U32BITARG_, fMaxBitRate); + if (fMaxTransferDelay != 0) + fmt.PutFmtStr("; MTD=%"_U32BITARG_, fMaxTransferDelay); + fmt.PutFmtStr("\r\n"); + } + + if ((fBufferSpace != 0 | fDelayTime != 0) && inTrackID != kUInt32_Max) + { + fmt.PutFmtStr("3GPP-Adaptation: "); + + fmt.PutFmtStr("url=\"%s/%s=%"_U32BITARG_"\"", fURL.Ptr, fControlID, inTrackID); + if (fBufferSpace != 0) + fmt.PutFmtStr("; size=%"_U32BITARG_, fBufferSpace); + if (fDelayTime != 0) + fmt.PutFmtStr("; target-time=%"_U32BITARG_, fDelayTime); + fmt.PutFmtStr("\r\n"); + } +} + #define _RTSPCLIENTTESTING_ 0 #include "SocketUtils.h" diff --git a/RTSPClientLib/RTSPClient.h b/RTSPClientLib/RTSPClient.h index 8468797..169ca9e 100644 --- a/RTSPClientLib/RTSPClient.h +++ b/RTSPClientLib/RTSPClient.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -25,8 +25,10 @@ /* File: RTSPClient.h - - + Works only for QTSS. + Assumes that different streams within a session is distinguished by trackID= + For example, streams within sample.mov would be refered to as sample.mov/trackID=4 + Does not work if the URL contains digits!!! */ #ifndef __RTSP_CLIENT_H__ @@ -37,6 +39,8 @@ #include "TCPSocket.h" #include "ClientSocket.h" #include "RTPMetaInfoPacket.h" +#include "StringFormatter.h" +#include "SVector.h" // for authentication #include "StringParser.h" @@ -69,10 +73,13 @@ class Authenticator StrPtrLen fMethodSPL; // client -- must be all caps time_t fAuthTime; - char *GetRequestHeader( StrPtrLen *inSourceStr, StrPtrLen *searchHeaderStr,StrPtrLen *outHeaderStr = NULL); + //the outHeaderStr argument is not actually implemented + //char *GetRequestHeader( StrPtrLen *inSourceStr, StrPtrLen *searchHeaderStr,StrPtrLen *outHeaderStr = NULL); + char *GetRequestHeader( StrPtrLen *inSourceStr, StrPtrLen *searchHeaderStr); + //Does nothing if the Authorization header is not found void RemoveAuthLine(StrPtrLen *theRequestPtr); - Bool16 CopyParam(StrPtrLen *inPtr, StrPtrLen *outPtr); + static Bool16 CopyParam(StrPtrLen *inPtr, StrPtrLen *outPtr); void SetName(StrPtrLen *inNamePtr); void SetPassword(StrPtrLen *inPasswordPtr); @@ -218,10 +225,10 @@ class RTSPClient static void SetUserAgentStr(char* inUserAgent) { sUserAgent = inUserAgent; } // verbosePrinting = print out all requests and responses - RTSPClient(ClientSocket* inSocket, Bool16 verbosePrinting, char* inUserAgent = NULL); + RTSPClient(ClientSocket* inSocket, Bool16 verbosePrinting = false, char* inUserAgent = NULL); ~RTSPClient(); - // This must be called before any other function. Sets up very important info. + // This must be called before any other function. Sets up very important info; sets the URL void Set(const StrPtrLen& inURL); // @@ -243,7 +250,7 @@ class RTSPClient OS_Error SendReliableUDPSetup(UInt32 inTrackID, UInt16 inClientPort); OS_Error SendUDPSetup(UInt32 inTrackID, UInt16 inClientPort); OS_Error SendTCPSetup(UInt32 inTrackID, UInt16 inClientRTPid, UInt16 inClientRTCPid); - OS_Error SendPlay(UInt32 inStartPlayTimeInSec, Float32 inSpeed = 1); + OS_Error SendPlay(UInt32 inStartPlayTimeInSec, Float32 inSpeed = 1, UInt32 inTrackID = kUInt32_Max); //use a inTrackID of kUInt32_Max to turn off per stream headers OS_Error SendPacketRangePlay(char* inPacketRangeHeader, Float32 inSpeed = 1); OS_Error SendReceive(UInt32 inStartPlayTimeInSec); OS_Error SendAnnounce(char *sdp); @@ -258,9 +265,9 @@ class RTSPClient OS_Error SendRTSPRequest(iovec* inRequest, UInt32 inNumVecs); // - // Once you call all of the above functions, assuming they return an error, you - // should call DoTransaction until it returns OS_NoErr, then you can move onto your - // next request + // Once you call all of the above functions, assuming they return an error, you + // should call DoTransaction until it returns OS_NoErr, then you can move onto your + // next request OS_Error DoTransaction(); // @@ -282,7 +289,25 @@ class RTSPClient // set control id string default is "trackID" void SetControlID(char* controlID); - + + // level 0, 1, 2, or 3 + void SetVerboseLevel(UInt32 level) { fVerboseLevel = level; } + + //Sets the 3GPP-Link-Char header values; set to all 0 to not send this header + void Set3GPPLinkChars(UInt32 GBW = 0, UInt32 MBW = 0, UInt32 MTD = 0) + { + fGuarenteedBitRate = GBW; + fMaxBitRate = MBW; + fMaxTransferDelay = MTD; + } + //Use 0 for undefined + void SetBandwidth(UInt32 bps = 0) { fBandwidth = bps; } + void Set3GPPRateAdaptation(UInt32 bufferSpace = 0, UInt32 delayTime = 0) + { + fBufferSpace = bufferSpace; + fDelayTime = delayTime; + } + // ACCESSORS StrPtrLen* GetURL() { return &fURL; } @@ -297,8 +322,8 @@ class RTSPClient char* GetResponse() { return fRecvHeaderBuffer; } UInt32 GetResponseLen() { return fHeaderLen; } - Bool16 IsTransactionInProgress() { return fTransactionStarted; } - Bool16 IsVerbose() { return fVerbose; } + Bool16 IsTransactionInProgress() { return fState != kInitial; } + Bool16 IsVerbose() { return fVerboseLevel >= 1; } // If available, returns the SSRC associated with the track in the PLAY response. // Returns 0 if SSRC is not available. @@ -328,6 +353,8 @@ class RTSPClient void ParseInterleaveSubHeader(StrPtrLen* inSubHeader); void ParseRTPInfoHeader(StrPtrLen* inHeader); void ParseRTPMetaInfoHeader(StrPtrLen* inHeader); + //Use a inTrackID of kUInt32_Max to turn the Rate-Adaptation header off + void Attach3GPPHeaders(StringFormatter &fmt, UInt32 inTrackID = kUInt32_Max); // Call this to receive an RTSP response from the server. // Returns EAGAIN until a complete response has been received. @@ -339,7 +366,7 @@ class RTSPClient Authenticator *fAuthenticator; // only one will be supported ClientSocket* fSocket; - Bool16 fVerbose; + UInt32 fVerboseLevel; // Information we need to send the request StrPtrLen fURL; @@ -354,7 +381,7 @@ class RTSPClient StrPtrLen fSessionID; UInt16 fServerPort; UInt32 fContentLength; - StrPtrLen fRTPInfoHeader; + //StrPtrLen fRTPInfoHeader; // Special purpose SETUP params char* fSetupHeaders; @@ -368,15 +395,16 @@ class RTSPClient ChannelMapElem* fChannelTrackMap; UInt8 fNumChannelElements; - // For storing SSRCs + //Maps between trackID and SSRC number struct SSRCMapElem { UInt32 fTrackID; UInt32 fSSRC; + SSRCMapElem(UInt32 trackID = kUInt32_Max, UInt32 inSSRC = 0) + : fTrackID(trackID), fSSRC(inSSRC) + {} }; - SSRCMapElem* fSSRCMap; - UInt32 fNumSSRCElements; - UInt32 fSSRCMapSize; + SVector fSSRCMap; // For storing FieldID arrays struct FieldIDArrayElem @@ -399,21 +427,18 @@ class RTSPClient char fSendBuffer[kReqBufSize + 1]; // for sending requests char fRecvHeaderBuffer[kReqBufSize + 1];// for receiving response headers char* fRecvContentBuffer; // for receiving response body - UInt32 fSendBufferLen; + // Tracking the state of our receives UInt32 fContentRecvLen; UInt32 fHeaderRecvLen; UInt32 fHeaderLen; - UInt32 fSetupTrackID; - - // States - Bool16 fTransactionStarted; - Bool16 fReceiveInProgress; - Bool16 fReceivedResponse; - Bool16 fConnected; - Bool16 fHaveTransactionBuffer; - UInt32 fEventMask; - UInt32 fResponseCount; + UInt32 fSetupTrackID; //is valid during a Setup Transaction + + enum { kInitial, kRequestSending, kResponseReceiving, kHeaderReceived }; + UInt32 fState; + + //UInt32 fEventMask; + Bool16 fAuthAttempted; UInt32 fTransportMode; // @@ -425,11 +450,15 @@ class RTSPClient char* fUserAgent; static char* sControlID; char* fControlID; - -#if DEBUG - Bool16 fIsFirstPacket; -#endif - + + //These values are for the wireless links only -- not end-to-end + //For the following values; use 0 for undefined. + UInt32 fGuarenteedBitRate; //kbps + UInt32 fMaxBitRate; //kbps + UInt32 fMaxTransferDelay; //milliseconds + UInt32 fBandwidth; //bps + UInt32 fBufferSpace; //bytes + UInt32 fDelayTime; //milliseconds struct InterleavedParams { diff --git a/RegistrySystemPathEditor/PathEditor.cpp b/RegistrySystemPathEditor/PathEditor.cpp index df47fa1..8fb46fe 100644 --- a/RegistrySystemPathEditor/PathEditor.cpp +++ b/RegistrySystemPathEditor/PathEditor.cpp @@ -1,20 +1,26 @@ /* - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. */ /* @@ -162,4 +168,4 @@ int main(int argc, char *argv[]) } return 0; -} \ No newline at end of file +} diff --git a/SafeStdLib/DynamicModuleStdLib.cpp b/SafeStdLib/DynamicModuleStdLib.cpp index 1362317..af6cda6 100644 --- a/SafeStdLib/DynamicModuleStdLib.cpp +++ b/SafeStdLib/DynamicModuleStdLib.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/SafeStdLib/InternalStdLib.cpp b/SafeStdLib/InternalStdLib.cpp index a778e21..2c5908b 100644 --- a/SafeStdLib/InternalStdLib.cpp +++ b/SafeStdLib/InternalStdLib.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -45,13 +45,13 @@ static UInt64 sTotalChars=0; static UInt32 sMaxTotalCharsInK = 100 * 1000;//100MB default static int sMaxFileSizeReached = 0; -unsigned long qtss_getmaxprintfcharsinK() +UInt32 qtss_getmaxprintfcharsinK() { OSMutexLocker locker(OS::GetStdLibMutex()); return sMaxTotalCharsInK; } -void qtss_setmaxprintfcharsinK(unsigned long newMaxCharsInK) +void qtss_setmaxprintfcharsinK(UInt32 newMaxCharsInK) { OSMutexLocker locker(OS::GetStdLibMutex()); sMaxTotalCharsInK = newMaxCharsInK; @@ -67,7 +67,7 @@ int qtss_maxprintf(const char *fmt, ...) if (sTotalChars > ( (UInt64) sMaxTotalCharsInK * 1024) ) { if (sMaxFileSizeReached == 0) - printf ("\nReached maximum configured output limit = %luK\n", sMaxTotalCharsInK); + printf ("\nReached maximum configured output limit = %"_U32BITARG_"K\n", sMaxTotalCharsInK); sMaxFileSizeReached = 1; diff --git a/Server.tproj/GenerateXMLPrefs.cpp b/Server.tproj/GenerateXMLPrefs.cpp index 60501b6..307a1ee 100644 --- a/Server.tproj/GenerateXMLPrefs.cpp +++ b/Server.tproj/GenerateXMLPrefs.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/GenerateXMLPrefs.h b/Server.tproj/GenerateXMLPrefs.h index a4e1001..51d78a9 100644 --- a/Server.tproj/GenerateXMLPrefs.h +++ b/Server.tproj/GenerateXMLPrefs.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSCallbacks.cpp b/Server.tproj/QTSSCallbacks.cpp index 37a227e..1b44383 100644 --- a/Server.tproj/QTSSCallbacks.cpp +++ b/Server.tproj/QTSSCallbacks.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -47,6 +47,9 @@ #include +#define __QTSSCALLBACKS_DEBUG__ 0 +#define debug_printf if (__QTSSCALLBACKS_DEBUG__) qtss_printf + void* QTSSCallbacks::QTSS_New(FourCharCode /*inMemoryIdentifier*/, UInt32 inSize) { @@ -810,11 +813,48 @@ QTSS_Error QTSSCallbacks::QTSS_Authenticate(const char* inAuthUserName, const c QTSS_Error theErr = QTSS_RequestFailed; - // There is only one module that is registered for the RTSP Authentication role - if (QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAthnRole) > 0) + UInt32 x = 0; + UInt32 numModules = QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAthnRole); + QTSSModule* theModulePtr = NULL; + Bool16 allowedDefault = QTSServerInterface::GetServer()->GetPrefs()->GetAllowGuestDefault(); + Bool16 allowed = allowedDefault; //server pref? + Bool16 hasUser = false; + Bool16 handled = false; + + + // Call all the modules that are registered for the RTSP Authorize Role + for ( ; x < numModules; x++) { - theErr = QTSServerInterface::GetModule(QTSSModule::kRTSPAthnRole, 0)->CallDispatch(QTSS_RTSPAuthenticate_Role, &theAuthenticationParams); + request->SetAllowed(allowedDefault); + request->SetHasUser(false); + request->SetAuthHandled(false); + + debug_printf(" QTSSCallbacks::QTSS_Authenticate calling module module = %lu numModules=%lu\n", x,numModules); + theModulePtr = QTSServerInterface::GetModule(QTSSModule::kRTSPAthnRole, x); + theErr = QTSS_NoErr; + if (theModulePtr) + { + theErr = theModulePtr->CallDispatch(QTSS_RTSPAuthenticate_Role, &theAuthenticationParams); + debug_printf(" QTSSCallbacks::QTSS_Authorize calling module module = %lu numModules=%lu ModuleError=%ld\n", x,numModules, theErr); + } + else + { + debug_printf(" QTSSCallbacks::QTSS_Authorize calling module module = %lu is NULL! numModules=%lu\n", x,numModules); + continue; + } + allowed = request->GetAllowed(); + hasUser = request->GetHasUser(); + handled = request->GetAuthHandled(); + debug_printf("QTSSCallbacks::QTSS_Authenticate allowedDefault =%d allowed= %d hasUser = %d handled=%d \n",allowedDefault, allowed,hasUser, handled); + + + if (hasUser || handled ) //See RTSPSession.cpp::Run state=kAuthenticatingRequest + { + debug_printf(" QTSSCallbacks::QTSS_Authenticate skipping other modules fCurrentModule = %lu numModules=%lu\n", x,numModules); + break; + } } + // Reset the curTask to what it was before this role started if (theState != NULL) @@ -846,22 +886,60 @@ QTSS_Error QTSSCallbacks::QTSS_Authorize(QTSS_RTSPRequestObject inAuthRequestObj QTSS_Error theErr = QTSS_RequestFailed; UInt32 x = 0; - *outAuthUserAllowed = true; + UInt32 numModules = QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAuthRole); + QTSSModule* theModulePtr = NULL; + Bool16 allowedDefault = QTSServerInterface::GetServer()->GetPrefs()->GetAllowGuestDefault(); + *outAuthUserAllowed = allowedDefault; + Bool16 allowed = allowedDefault; //server pref? + Bool16 hasUser = false; + Bool16 handled = false; + // Call all the modules that are registered for the RTSP Authorize Role - for ( ; x < QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAuthRole); x++) + + for ( ; x < numModules; x++) { - theErr = QTSServerInterface::GetModule(QTSSModule::kRTSPAuthRole, x)->CallDispatch(QTSS_RTSPAuthorize_Role, &theParams); + request->SetAllowed(true); + request->SetHasUser(false); + request->SetAuthHandled(false); + + debug_printf(" QTSSCallbacks::QTSS_Authorize calling module module = %lu numModules=%lu\n", x,numModules); + theModulePtr = QTSServerInterface::GetModule(QTSSModule::kRTSPAuthRole, x); + theErr = QTSS_NoErr; + if (theModulePtr) + { + if (__QTSSCALLBACKS_DEBUG__) + theModulePtr->GetValue(qtssModName)->PrintStr("QTSSModule::CallDispatch ENTER module=", "\n"); + + theErr = theModulePtr->CallDispatch(QTSS_RTSPAuthorize_Role, &theParams); + debug_printf(" QTSSCallbacks::QTSS_Authorize calling module module = %lu numModules=%lu ModuleError=%ld\n", x,numModules, theErr); + } + else + { debug_printf(" QTSSCallbacks::QTSS_Authorize calling module module = %lu is NULL! numModules=%lu\n", x,numModules); + continue; + } + + allowed = request->GetAllowed(); + hasUser = request->GetHasUser(); + handled = request->GetAuthHandled(); + debug_printf("QTSSCallbacks::QTSS_Authorize allowedDefault =%d allowed= %d hasUser = %d handled=%d \n",allowedDefault, allowed,hasUser, handled); - // If any module sets allowed to false, exit the loop as authentication has been denied - *outAuthUserAllowed = request->GetAllowed(); - if(false == *outAuthUserAllowed) + *outAuthUserAllowed = allowed; + //notes: + //if (allowed && !handled) break; //old module + //if (!allowed && handled) /new module handled the request but not authorized keep trying + //if (allowed && handled) //new module allowed but keep trying in case someone denies. + + if (!allowed && !handled) //old module break on !allowed + { + debug_printf("RTSPSession.cpp::Run(kAuthorizingRequest) skipping other modules fCurrentModule = %lu numModules=%lu\n", x,numModules); break; + } } // outAuthRealm is set to the realm that is given by the module that has denied authentication StrPtrLen* realm = request->GetValue(qtssRTSPReqURLRealm); - *outAuthRealm = realm->GetAsCString(); + *outAuthRealm = realm->GetAsCString(); return theErr; } diff --git a/Server.tproj/QTSSCallbacks.h b/Server.tproj/QTSSCallbacks.h index 81e3a23..a84e720 100644 --- a/Server.tproj/QTSSCallbacks.h +++ b/Server.tproj/QTSSCallbacks.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSDataConverter.cpp b/Server.tproj/QTSSDataConverter.cpp index 63e1618..84e1a8a 100644 --- a/Server.tproj/QTSSDataConverter.cpp +++ b/Server.tproj/QTSSDataConverter.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -188,14 +188,14 @@ QTSS_Error QTSSDataConverter::StringToValue( char* inValueAsString, case qtssAttrDataTypeSInt32: { theBufSize = sizeof(SInt32); - theFormat = "%ld"; + theFormat = "%d"; } break; case qtssAttrDataTypeUInt32: { theBufSize = sizeof(UInt32); - theFormat = "%lu"; + theFormat = "%u"; } break; @@ -267,9 +267,9 @@ QTSS_Error QTSSDataConverter::ConvertCHexStringToBytes( char* inValueAsString, UInt8 char1, char2; while (*inValueAsString) { - char1 = sCharToNums[*inValueAsString++] * 16; + char1 = sCharToNums[(UInt8) (*inValueAsString++) ] * 16; if (*inValueAsString != 0) - char2 = sCharToNums[*inValueAsString++]; + char2 = sCharToNums[(UInt8) (*inValueAsString++)]; else char2 = 0; *dataPtr++ = char1 + char2; @@ -340,11 +340,11 @@ char* QTSSDataConverter::ValueToString( void* inValue, break; case qtssAttrDataTypeSInt32: - qtss_sprintf(theString, "%ld", *( SInt32*)inValue); + qtss_sprintf(theString, "%"_S32BITARG_, *( SInt32*)inValue); break; case qtssAttrDataTypeUInt32: - qtss_sprintf(theString, "%lu", *( UInt32*)inValue); + qtss_sprintf(theString, "%"_U32BITARG_, *( UInt32*)inValue); break; case qtssAttrDataTypeSInt64: diff --git a/Server.tproj/QTSSDataConverter.h b/Server.tproj/QTSSDataConverter.h index 1cb6697..5764538 100644 --- a/Server.tproj/QTSSDataConverter.h +++ b/Server.tproj/QTSSDataConverter.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSDictionary.cpp b/Server.tproj/QTSSDictionary.cpp index e023716..1b493ad 100644 --- a/Server.tproj/QTSSDictionary.cpp +++ b/Server.tproj/QTSSDictionary.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -754,11 +754,10 @@ QTSS_Error QTSSDictionary::GetAttrInfoByIndex(UInt32 inIndex, QTSSAttrInfoDict** if ( (numStaticValues > 0) && (inIndex < numStaticValues) ) return fMap->GetAttrInfoByIndex(inIndex, outAttrInfoDict); - else - { - Assert(fInstanceMap != NULL); - return fInstanceMap->GetAttrInfoByIndex(inIndex - numStaticValues, outAttrInfoDict); - } + + Assert(fInstanceMap != NULL); + return fInstanceMap->GetAttrInfoByIndex(inIndex - numStaticValues, outAttrInfoDict); + } QTSS_Error QTSSDictionary::GetAttrInfoByID(QTSS_AttributeID inAttrID, QTSSAttrInfoDict** outAttrInfoDict) @@ -856,6 +855,11 @@ void QTSSDictionaryMap::Initialize() sDictionaryMaps[kModulePrefsDictIndex] = new QTSSDictionaryMap(0, QTSSDictionaryMap::kInstanceAttrsAllowed | QTSSDictionaryMap::kCompleteFunctionsAllowed); sDictionaryMaps[kQTSSUserProfileDictIndex] = new QTSSDictionaryMap(qtssUserNumParams); sDictionaryMaps[kQTSSConnectedUserDictIndex] = new QTSSDictionaryMap(qtssConnectionNumParams); + sDictionaryMaps[k3GPPRequestDictIndex] = new QTSSDictionaryMap(qtss3GPPRequestNumParams); + sDictionaryMaps[k3GPPStreamDictIndex] = new QTSSDictionaryMap(qtss3GPPStreamNumParams); + sDictionaryMaps[k3GPPClientSessionDictIndex] = new QTSSDictionaryMap(qtss3GPPCliSesNumParams); + sDictionaryMaps[k3GPPRTSPSessionDictIndex] = new QTSSDictionaryMap(qtss3GPPRTSPSessNumParams); + } QTSSDictionaryMap::QTSSDictionaryMap(UInt32 inNumReservedAttrs, UInt32 inFlags) @@ -982,7 +986,7 @@ QTSS_Error QTSSDictionaryMap::RemoveAttribute(QTSS_AttributeID inAttrID) if (!(fFlags & kAllowRemoval)) return QTSS_BadArgument; - //qtss_printf("QTSSDictionaryMap::RemoveAttribute arraySize=%lu numNonRemove= %lu fAttrArray[%lu]->fAttrInfo.fAttrName=%s\n",this->GetNumAttrs(), this->GetNumNonRemovedAttrs(), theIndex,fAttrArray[theIndex]->fAttrInfo.fAttrName); + //qtss_printf("QTSSDictionaryMap::RemoveAttribute arraySize=%"_U32BITARG_" numNonRemove= %"_U32BITARG_" fAttrArray[%"_U32BITARG_"]->fAttrInfo.fAttrName=%s\n",this->GetNumAttrs(), this->GetNumNonRemovedAttrs(), theIndex,fAttrArray[theIndex]->fAttrInfo.fAttrName); // // Don't actually touch the attribute or anything. Just flag the // it as removed. @@ -1070,7 +1074,7 @@ QTSS_Error QTSSDictionaryMap::GetAttrInfoByIndex(UInt32 inIndex, QTSSAttrInfoDi actualIndex++; } } - //qtss_printf("QTSSDictionaryMap::GetAttrInfoByIndex arraySize=%lu numNonRemove= %lu fAttrArray[%lu]->fAttrInfo.fAttrName=%s\n",this->GetNumAttrs(), this->GetNumNonRemovedAttrs(), actualIndex,fAttrArray[actualIndex]->fAttrInfo.fAttrName); + //qtss_printf("QTSSDictionaryMap::GetAttrInfoByIndex arraySize=%"_U32BITARG_" numNonRemove= %"_U32BITARG_" fAttrArray[%"_U32BITARG_"]->fAttrInfo.fAttrName=%s\n",this->GetNumAttrs(), this->GetNumNonRemovedAttrs(), actualIndex,fAttrArray[actualIndex]->fAttrInfo.fAttrName); Assert(actualIndex < fNextAvailableID); Assert(!(fAttrArray[actualIndex]->fAttrInfo.fAttrPermission & qtssPrivateAttrModeRemoved)); *outAttrInfoObject = fAttrArray[actualIndex]; @@ -1111,6 +1115,13 @@ UInt32 QTSSDictionaryMap::GetMapIndex(QTSS_ObjectType inType) case qtssAttrInfoObjectType: return kAttrInfoDictIndex; case qtssUserProfileObjectType: return kQTSSUserProfileDictIndex; case qtssConnectedUserObjectType: return kQTSSConnectedUserDictIndex; + + case qtss3GPPStreamObjectType: return k3GPPStreamDictIndex; + case qtss3GPPClientSessionObjectType: return k3GPPClientSessionDictIndex; + case qtss3GPPRTSPObjectType: return k3GPPRTSPSessionDictIndex; + case qtss3GPPRequestObjectType: return k3GPPRequestDictIndex; + + default: return kIllegalDictionary; } return kIllegalDictionary; diff --git a/Server.tproj/QTSSDictionary.h b/Server.tproj/QTSSDictionary.h index 07f22d6..39f2161 100644 --- a/Server.tproj/QTSSDictionary.h +++ b/Server.tproj/QTSSDictionary.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -380,8 +380,12 @@ class QTSSDictionaryMap kAttrInfoDictIndex = 12, kQTSSUserProfileDictIndex = 13, kQTSSConnectedUserDictIndex = 14, + k3GPPRequestDictIndex = 15, + k3GPPStreamDictIndex = 16, + k3GPPClientSessionDictIndex = 17, + k3GPPRTSPSessionDictIndex = 18, - kNumDictionaries = 15, + kNumDictionaries = 19, kNumDynamicDictionaryTypes = 500, kIllegalDictionary = kNumDynamicDictionaryTypes + kNumDictionaries diff --git a/Server.tproj/QTSSErrorLogModule.cpp b/Server.tproj/QTSSErrorLogModule.cpp index 4265aa7..86cd79c 100644 --- a/Server.tproj/QTSSErrorLogModule.cpp +++ b/Server.tproj/QTSSErrorLogModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -265,12 +265,8 @@ QTSS_Error LogError(QTSS_RoleParamPtr inParamBlock) sDupErrorStringCount = 0; } -#if __MacOSX__ ::strlcpy(sLastErrorString, inParamBlock->errorParams.inBuffer, sizeof(sLastErrorString)); -#else - ::strncpy(sLastErrorString, inParamBlock->errorParams.inBuffer, sizeof(sLastErrorString)); - sLastErrorString[sizeof(sLastErrorString) -1] = 0; -#endif + } //The error logger is the bottleneck for any and all messages printed by the server. @@ -373,7 +369,7 @@ void WriteShutdownMessage() char tempBuffer[kMaxLogStringLen]; if (result) - qtss_snprintf(tempBuffer,sizeof(tempBuffer), "# Streaming STARTUP %s\n", theDateBuffer); + qtss_snprintf(tempBuffer, sizeof(tempBuffer), "# Streaming SHUTDOWN %s\n", theDateBuffer); if ( result && sErrorLog != NULL ) sErrorLog->WriteToLog(tempBuffer, kAllowLogToRoll); diff --git a/Server.tproj/QTSSErrorLogModule.h b/Server.tproj/QTSSErrorLogModule.h index d67dbce..00d9060 100644 --- a/Server.tproj/QTSSErrorLogModule.h +++ b/Server.tproj/QTSSErrorLogModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSExpirationDate.cpp b/Server.tproj/QTSSExpirationDate.cpp index 46df819..e05cd0e 100644 --- a/Server.tproj/QTSSExpirationDate.cpp +++ b/Server.tproj/QTSSExpirationDate.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -67,7 +67,7 @@ Bool16 QTSSExpirationDate::IsSoftwareExpired() return false; SInt32 expMonth, expDay, expYear; - if (EOF == ::sscanf(sExpirationDate, "%ld/%ld/%ld", &expMonth, &expDay, &expYear)) + if (EOF == ::sscanf(sExpirationDate, "%"_S32BITARG_"/%"_S32BITARG_"/%"_S32BITARG_"", &expMonth, &expDay, &expYear)) { Assert(false); return true; diff --git a/Server.tproj/QTSSExpirationDate.h b/Server.tproj/QTSSExpirationDate.h index daf8268..2dfcfd5 100644 --- a/Server.tproj/QTSSExpirationDate.h +++ b/Server.tproj/QTSSExpirationDate.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSFile.cpp b/Server.tproj/QTSSFile.cpp index 747e8e3..9429767 100644 --- a/Server.tproj/QTSSFile.cpp +++ b/Server.tproj/QTSSFile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSFile.h b/Server.tproj/QTSSFile.h index e6af3bb..2ee5b50 100644 --- a/Server.tproj/QTSSFile.h +++ b/Server.tproj/QTSSFile.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSMessages.cpp b/Server.tproj/QTSSMessages.cpp index 2d59cb5..03f6f52 100644 --- a/Server.tproj/QTSSMessages.cpp +++ b/Server.tproj/QTSSMessages.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSMessages.h b/Server.tproj/QTSSMessages.h index 734168a..72a31e2 100644 --- a/Server.tproj/QTSSMessages.h +++ b/Server.tproj/QTSSMessages.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSModule.cpp b/Server.tproj/QTSSModule.cpp index 8829949..5cf035a 100644 --- a/Server.tproj/QTSSModule.cpp +++ b/Server.tproj/QTSSModule.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -54,6 +54,36 @@ QTSSAttrInfoDict::AttrInfo QTSSModule::sAttributes[] = /* 5 */ { "qtssModAttributes", NULL, qtssAttrDataTypeQTSS_Object, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeInstanceAttrAllowed } }; +char* QTSSModule::sRoleNames[] = +{ + "InitializeRole" , + "ShutdownRole" , + "RTSPFilterRole" , + "RTSPRouteRole" , + "RTSPAthnRole" , + "RTSPAuthRole" , + "RTSPPreProcessorRole" , + "RTSPRequestRole" , + "RTSPPostProcessorRole" , + "RTSPSessionClosingRole" , + "RTPSendPacketsRole" , + "ClientSessionClosingRole" , + "RTCPProcessRole" , + "ErrorLogRole" , + "RereadPrefsRole" , + "OpenFileRole" , + "OpenFilePreProcessRole" , + "AdviseFileRole" , + "ReadFileRole" , + "CloseFileRole" , + "RequestEventFileRole" , + "RTSPIncomingDataRole" , + "StateChangeRole" , + "TimedIntervalRole" , + "" +}; + + void QTSSModule::Initialize() { //Setup all the dictionary stuff @@ -71,7 +101,8 @@ QTSSModule::QTSSModule(char* inName, char* inPath) fDispatchFunc(NULL), fPrefs(NULL), fAttributes(NULL) -{ +{ + fQueueElem.SetEnclosingObject(this); this->SetTaskName("QTSSModule"); if ((inPath != NULL) && (inPath[0] != '\0')) @@ -190,6 +221,44 @@ QTSS_Error QTSSModule::LoadFromDisk(QTSS_MainEntryPointPtr* outEntrypoint) return QTSS_NoErr; } + +SInt32 QTSSModule::GetPrivateRoleIndex(QTSS_Role apiRole) +{ + + switch (apiRole) + { + // Map actual QTSS Role names to our private enum values. Turn on the proper one + // in the role array + case QTSS_Initialize_Role: return kInitializeRole ; + case QTSS_Shutdown_Role: return kShutdownRole ; + case QTSS_RTSPFilter_Role: return kRTSPFilterRole ; + case QTSS_RTSPRoute_Role: return kRTSPRouteRole ; + case QTSS_RTSPAuthenticate_Role: return kRTSPAthnRole ; + case QTSS_RTSPAuthorize_Role: return kRTSPAuthRole ; + case QTSS_RTSPPreProcessor_Role: return kRTSPPreProcessorRole ; + case QTSS_RTSPRequest_Role: return kRTSPRequestRole ; + case QTSS_RTSPPostProcessor_Role: return kRTSPPostProcessorRole ; + case QTSS_RTSPSessionClosing_Role: return kRTSPSessionClosingRole ; + case QTSS_RTPSendPackets_Role: return kRTPSendPacketsRole ; + case QTSS_ClientSessionClosing_Role:return kClientSessionClosingRole; + case QTSS_RTCPProcess_Role: return kRTCPProcessRole ; + case QTSS_ErrorLog_Role: return kErrorLogRole ; + case QTSS_RereadPrefs_Role: return kRereadPrefsRole ; + case QTSS_OpenFile_Role: return kOpenFileRole ; + case QTSS_OpenFilePreProcess_Role: return kOpenFilePreProcessRole ; + case QTSS_AdviseFile_Role: return kAdviseFileRole ; + case QTSS_ReadFile_Role: return kReadFileRole ; + case QTSS_CloseFile_Role: return kCloseFileRole ; + case QTSS_RequestEventFile_Role: return kRequestEventFileRole ; + case QTSS_RTSPIncomingData_Role: return kRTSPIncomingDataRole ; + case QTSS_StateChange_Role: return kStateChangeRole ; + case QTSS_Interval_Role: return kTimedIntervalRole ; + default: + return -1; + } +} + + QTSS_Error QTSSModule::AddRole(QTSS_Role inRole) { // There can only be one QTSS_RTSPRequest processing module @@ -197,10 +266,20 @@ QTSS_Error QTSSModule::AddRole(QTSS_Role inRole) return QTSS_RequestFailed; if ((inRole == QTSS_OpenFilePreProcess_Role) && (sHasOpenFileModule)) return QTSS_RequestFailed; - // There can be only one module registered for QTSS_RTSPAuthenticate_Role - if ((inRole == QTSS_RTSPAuthenticate_Role) && (sHasRTSPAuthenticateModule)) - return QTSS_RequestFailed; + +#if 0// Allow multiple modules in QTSS v6.0. Enabling forces the first auth module There can be only one module registered for QTSS_RTSPAuthenticate_Role + if ((inRole == QTSS_RTSPAuthenticate_Role) && (sHasRTSPAuthenticateModule)) + return QTSS_RequestFailed; +#endif + + + SInt32 arrayID = GetPrivateRoleIndex(inRole); + if (arrayID < 0) + return QTSS_BadArgument; + + fRoleArray[arrayID] = true; +/* switch (inRole) { // Map actual QTSS Role names to our private enum values. Turn on the proper one @@ -232,7 +311,8 @@ QTSS_Error QTSSModule::AddRole(QTSS_Role inRole) default: return QTSS_BadArgument; } - +*/ + if (inRole == QTSS_RTSPRequest_Role) sHasRTSPRequestModule = true; if (inRole == QTSS_OpenFile_Role) diff --git a/Server.tproj/QTSSModule.h b/Server.tproj/QTSSModule.h index 54c7029..c7a2f5e 100644 --- a/Server.tproj/QTSSModule.h +++ b/Server.tproj/QTSSModule.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -46,6 +46,8 @@ #include "OSQueue.h" #include "StrPtrLen.h" +#define MODULE_DEBUG 0 + class QTSSModule : public QTSSDictionary, public Task { public: @@ -86,14 +88,37 @@ class QTSSModule : public QTSSDictionary, public Task QTSSPrefs* GetPrefsDict() { return fPrefs; } QTSSDictionary* GetAttributesDict() { return fAttributes; } OSMutex* GetAttributesMutex() { return &fAttributesMutex; } + + //convert QTSS.h 4 char id roles to private role index + SInt32 GetPrivateRoleIndex(QTSS_Role apiRole); + // This calls into the module. QTSS_Error CallDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams) - { return (fDispatchFunc)(inRole, inParams); } + { + SInt32 theRoleIndex = -1; + + if (MODULE_DEBUG) + { this->GetValue(qtssModName)->PrintStr("QTSSModule::CallDispatch ENTER module=", " role="); + theRoleIndex = GetPrivateRoleIndex(inRole); + if (theRoleIndex != -1) + qtss_printf(" %s ENTR\n", sRoleNames[theRoleIndex]); + + } + QTSS_Error theError = (fDispatchFunc)(inRole, inParams); + + if (MODULE_DEBUG) + { this->GetValue(qtssModName)->PrintStr("QTSSModule::CallDispatch EXIT module=", " role="); + if (theRoleIndex != -1) + qtss_printf(" %s EXIT\n", sRoleNames[theRoleIndex]); + } + + return theError; + } // These enums allow roles to be stored in a more optimized way - + // add new RoleNames to sRoleNames in QTSSModule.cpp for debugging enum { kInitializeRole = 0, @@ -153,6 +178,7 @@ class QTSSModule : public QTSSDictionary, public Task static Bool16 sHasRTSPAuthenticateModule; static QTSSAttrInfoDict::AttrInfo sAttributes[]; + static char* sRoleNames[]; QTSS_ModuleState fModuleState; diff --git a/Server.tproj/QTSSPrefs.cpp b/Server.tproj/QTSSPrefs.cpp index 3b4d34f..e0bbd37 100644 --- a/Server.tproj/QTSSPrefs.cpp +++ b/Server.tproj/QTSSPrefs.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -191,7 +191,7 @@ void QTSSPrefs::RereadObjectPreferences(ContainerRef container) { char* theName = NULL; UInt32 nameLen = 0; theAttrInfoPtr->GetValuePtr(qtssAttrName,0, (void **) &theName, &nameLen); - qtss_printf("QTSSPrefs::RereadPreferences about to delete modulePrefInServer=%s attr=%s id=%lu\n",modulePrefInServer[a], theName,theAttrID); + qtss_printf("QTSSPrefs::RereadPreferences about to delete modulePrefInServer=%s attr=%s id=%"_U32BITARG_"\n",modulePrefInServer[a], theName,theAttrID); } diff --git a/Server.tproj/QTSSPrefs.h b/Server.tproj/QTSSPrefs.h index 52b23a7..12c4462 100644 --- a/Server.tproj/QTSSPrefs.h +++ b/Server.tproj/QTSSPrefs.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSSocket.cpp b/Server.tproj/QTSSSocket.cpp index 4b1104f..b30af5a 100644 --- a/Server.tproj/QTSSSocket.cpp +++ b/Server.tproj/QTSSSocket.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSSocket.h b/Server.tproj/QTSSSocket.h index 7745cbb..f806625 100644 --- a/Server.tproj/QTSSSocket.h +++ b/Server.tproj/QTSSSocket.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSStream.h b/Server.tproj/QTSSStream.h index 9821b3e..7b5a10e 100644 --- a/Server.tproj/QTSSStream.h +++ b/Server.tproj/QTSSStream.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSSUserProfile.cpp b/Server.tproj/QTSSUserProfile.cpp index 6ecbd41..c02f550 100644 --- a/Server.tproj/QTSSUserProfile.cpp +++ b/Server.tproj/QTSSUserProfile.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -41,7 +41,10 @@ QTSSAttrInfoDict::AttrInfo QTSSUserProfile::sAttributes[] = /* 0 */ { "qtssUserName", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 1 */ { "qtssUserPassword", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite}, /* 2 */ { "qtssUserGroups", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite}, - /* 3 */ { "qtssUserRealm", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite} + /* 3 */ { "qtssUserRealm", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite}, + /* 4 */ { "qtssUserRights", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite}, + /* 5 */ { "qtssUserExtendedRights", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite}, + /* 6 */ { "qtssUserQTSSExtendedRights", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite} }; void QTSSUserProfile::Initialize() @@ -51,6 +54,8 @@ void QTSSUserProfile::Initialize() QTSSDictionaryMap::GetMap(QTSSDictionaryMap::kQTSSUserProfileDictIndex)-> SetAttribute(x, sAttributes[x].fAttrName, sAttributes[x].fFuncPtr, sAttributes[x].fAttrDataType, sAttributes[x].fAttrPermission); + + } //CONSTRUCTOR / DESTRUCTOR: very simple stuff @@ -59,5 +64,7 @@ QTSSUserProfile::QTSSUserProfile() { this->SetEmptyVal(qtssUserName, &fUserNameBuf[0], kMaxUserProfileNameLen); this->SetEmptyVal(qtssUserPassword, &fUserPasswordBuf[0], kMaxUserProfilePasswordLen); + this->SetVal(qtssUserRights, &fUserRights, sizeof(fUserRights)); + this->fUserRights = qtssAttrRightNone; } diff --git a/Server.tproj/QTSSUserProfile.h b/Server.tproj/QTSSUserProfile.h index eed0b0a..dca662c 100644 --- a/Server.tproj/QTSSUserProfile.h +++ b/Server.tproj/QTSSUserProfile.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -66,6 +66,7 @@ class QTSSUserProfile : public QTSSDictionary char fUserNameBuf[kMaxUserProfileNameLen]; // Set by RTSPRequest object char fUserPasswordBuf[kMaxUserProfilePasswordLen];// Set by authentication module through API + UInt32 fUserRights; //Set by authorization module. //Dictionary support static QTSSAttrInfoDict::AttrInfo sAttributes[]; }; diff --git a/Server.tproj/QTSServer.cpp b/Server.tproj/QTSServer.cpp index b4188f7..e730758 100644 --- a/Server.tproj/QTSServer.cpp +++ b/Server.tproj/QTSServer.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -70,6 +70,7 @@ #include "QTSSAdminModule.h" #include "QTSSAccessModule.h" #include "QTSSMP3StreamingModule.h" +#include "QTSSDSAuthModule.h" #if MEMORY_DEBUGGING #include "QTSSWebDebugModule.h" #endif @@ -84,6 +85,9 @@ #include "RTCPTask.h" #include "QTSSFile.h" +#include "RTPStream3GPP.h" +#include "RTSPRequest3GPP.h" + // CLASS DEFINITIONS class RTSPListenerSocket : public TCPListenerSocket @@ -170,6 +174,11 @@ Bool16 QTSServer::Initialize(XMLPrefsParser* inPrefsSource, PrefsSource* inMessa QTSSFile::Initialize(); QTSSUserProfile::Initialize(); + RTSPRequest3GPP::Initialize(); + RTPStream3GPP::Initialize(); + RTPSession3GPP::Initialize(); + RTSPSession3GPP::Initialize(); + // // STUB SERVER INITIALIZATION // @@ -581,6 +590,8 @@ Bool16 QTSServer::SwitchPersonality() OSCharArrayDeleter runGroupName(fSrvrPrefs->GetRunGroupName()); OSCharArrayDeleter runUserName(fSrvrPrefs->GetRunUserName()); + int groupID = 0; + if (::strlen(runGroupName.GetObject()) > 0) { struct group* gr = ::getgrnam(runGroupName.GetObject()); @@ -592,11 +603,18 @@ Bool16 QTSServer::SwitchPersonality() runGroupName.GetObject(), qtss_strerror(OSThread::GetErrno(), buffer, sizeof(buffer))); return false; } + groupID = gr->gr_gid; } - + if (::strlen(runUserName.GetObject()) > 0) { struct passwd* pw = ::getpwnam(runUserName.GetObject()); + +#if __MacOSX__ + if (pw != NULL && groupID != 0) //call initgroups before doing a setuid + (void) initgroups(runUserName.GetObject(),groupID); +#endif + if (pw == NULL || ::setuid(pw->pw_uid) == -1) { QTSSModuleUtils::LogError(qtssFatalVerbosity, qtssMsgCannotSetRunUser, 0, @@ -662,9 +680,14 @@ void QTSServer::LoadCompiledInModules() (void)AddModule(theWebDebug); #endif - QTSSModule* theQTACESSmodule = new QTSSModule("QTSSAccessModule"); - (void)theQTACESSmodule->SetupModule(&sCallbacks, &QTSSAccessModule_Main); - (void)AddModule(theQTACESSmodule); + QTSSModule* theQTSSDSAuthModule = new QTSSModule("QTSSDSAuthModule"); + (void)theQTSSDSAuthModule->SetupModule(&sCallbacks, &QTSSDSAuthModule_Main); + (void)AddModule(theQTSSDSAuthModule); + + QTSSModule* theQTACCESSmodule = new QTSSModule("QTSSAccessModule"); + (void)theQTACCESSmodule->SetupModule(&sCallbacks, &QTSSAccessModule_Main); + (void)AddModule(theQTACCESSmodule); + #endif //DSS_DYNAMIC_MODULES_ONLY @@ -1133,7 +1156,7 @@ void RTPSocketPool::SetUDPSocketOptions(UDPSocketPair* inPair) if (theRcvBufSize != QTSServerInterface::GetServer()->GetPrefs()->GetRTCPSocketRcvBufSizeinK()) { char theRcvBufSizeStr[20]; - qtss_sprintf(theRcvBufSizeStr, "%lu", theRcvBufSize); + qtss_sprintf(theRcvBufSizeStr, "%"_U32BITARG_"", theRcvBufSize); // // For now, do not log an error, though we should enable this in the future. //QTSSModuleUtils::LogError(qtssWarningVerbosity, qtssMsgSockBufSizesTooLarge, theRcvBufSizeStr); diff --git a/Server.tproj/QTSServer.h b/Server.tproj/QTSServer.h index 8cd4cfa..31b24eb 100644 --- a/Server.tproj/QTSServer.h +++ b/Server.tproj/QTSServer.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/QTSServerInterface.cpp b/Server.tproj/QTSServerInterface.cpp index dbe4d9f..a5099ca 100644 --- a/Server.tproj/QTSServerInterface.cpp +++ b/Server.tproj/QTSServerInterface.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -140,7 +140,9 @@ QTSSAttrInfoDict::AttrInfo QTSServerInterface::sAttributes[] = /* 38 */ { "qtssSvrServerBuild", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 39 */ { "qtssSvrServerPlatform", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 40 */ { "qtssSvrRTSPServerComment", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe }, - /* 41 */ { "qtssSvrNumThinned", NULL, qtssAttrDataTypeSInt32, qtssAttrModeRead | qtssAttrModeWrite } + /* 41 */ { "qtssSvrNumThinned", NULL, qtssAttrDataTypeSInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 42 */ { "qtssSvrNumThreads", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe } + }; void QTSServerInterface::Initialize() @@ -227,7 +229,8 @@ QTSServerInterface::QTSServerInterface() fTotalLate(0), fCurrentMaxLate(0), fTotalQuality(0), - fNumThinned(0) + fNumThinned(0), + fNumThreads(0) { for (UInt32 y = 0; y < QTSSModule::kNumRoles; y++) { @@ -265,6 +268,7 @@ QTSServerInterface::QTSServerInterface() this->SetVal(qtssSvrServerPlatform, sServerPlatformStr.Ptr, sServerPlatformStr.Len); this->SetVal(qtssSvrNumThinned, &fNumThinned, sizeof(fNumThinned)); + this->SetVal(qtssSvrNumThreads, &fNumThreads, sizeof(fNumThreads)); sServer = this; @@ -414,8 +418,8 @@ SInt64 RTPStatsUpdaterTask::Run() Assert(curTime > fLastBandwidthTime); UInt32 delta = (UInt32)(curTime - fLastBandwidthTime); // Prevent divide by zero errror - if (delta < 1000) { - WarnV(delta >= 1000, "delta < 1000"); + if (delta < 1000) { + WarnV(delta >= 1000, "delta < 1000"); (void)this->GetEvents();//we must clear the event mask! return theServer->GetPrefs()->GetTotalBytesUpdateTimeInSecs() * 1000; } diff --git a/Server.tproj/QTSServerInterface.h b/Server.tproj/QTSServerInterface.h index a7730c2..97a3fc1 100644 --- a/Server.tproj/QTSServerInterface.h +++ b/Server.tproj/QTSServerInterface.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -139,6 +139,7 @@ class QTSServerInterface : public QTSSDictionary { OSMutexLocker locker(&fMutex); fTotalQuality = 0; } + void InitNumThreads(UInt32 numThreads) { fNumThreads = numThreads; } // // ACCESSORS @@ -174,6 +175,7 @@ class QTSServerInterface : public QTSSDictionary SInt64 GetCurrentMaxLate() { return fCurrentMaxLate; }; SInt64 GetTotalQuality() { return fTotalQuality; }; SInt32 GetNumThinned() { return fNumThinned; }; + UInt32 GetNumThreads() { return fNumThreads; }; // // @@ -234,6 +236,12 @@ class QTSServerInterface : public QTSSDictionary static QTSSModule* GetModule(QTSSModule::RoleIndex inRole, UInt32 inIndex) { Assert(inRole < QTSSModule::kNumRoles); Assert(inIndex < sNumModulesInRole[inRole]); + if (inRole >= QTSSModule::kNumRoles) //index out of bounds, shouldn't happen + { return NULL; + } + if (inIndex >= sNumModulesInRole[inRole]) //index out of bounds, shouldn't happen + { return NULL; + } return sModuleArray[inRole][inIndex]; } @@ -381,7 +389,8 @@ class QTSServerInterface : public QTSSDictionary SInt64 fCurrentMaxLate; SInt64 fTotalQuality; SInt32 fNumThinned; - + UInt32 fNumThreads; + // Param retrieval functions static void* CurrentUnixTimeMilli(QTSSDictionary* inServer, UInt32* outLen); static void* GetTotalUDPSockets(QTSSDictionary* inServer, UInt32* outLen); diff --git a/Server.tproj/QTSServerPrefs.cpp b/Server.tproj/QTSServerPrefs.cpp index 89e88d9..60cf0f8 100644 --- a/Server.tproj/QTSServerPrefs.cpp +++ b/Server.tproj/QTSServerPrefs.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -72,6 +72,26 @@ char* QTSServerPrefs::sNo_Pause_Time_Adjustment_Players[] = NULL }; +char* QTSServerPrefs::sRTP_Start_Time_Players[] = +{ + NULL +}; + +char* QTSServerPrefs::sDisable_Rate_Adapt_Players[] = +{ + NULL +}; + +char* QTSServerPrefs::sFixed_Target_Time_Players[] = +{ + NULL +}; + +char* QTSServerPrefs::sDisable_Thinning_Players[] = +{ + NULL +}; + QTSServerPrefs::PrefInfo QTSServerPrefs::sPrefInfo[] = { { kDontAllowMultipleValues, "0", NULL }, //rtsp_timeout @@ -155,9 +175,29 @@ QTSServerPrefs::PrefInfo QTSServerPrefs::sPrefInfo[] = { kDontAllowMultipleValues, "false", NULL }, //disable_thinning { kAllowMultipleValues, "Nokia", sRTP_Header_Players }, //player_requires_rtp_header_info { kAllowMultipleValues, "Nokia", sAdjust_Bandwidth_Players }, //player_requires_bandwidth_adjustment - { kAllowMultipleValues, "Nokia", sNo_Pause_Time_Adjustment_Players } //player_requires_no_pause_time_adjustment - - + { kAllowMultipleValues, "Nokia", sNo_Pause_Time_Adjustment_Players }, //player_requires_no_pause_time_adjustment + { kDontAllowMultipleValues, "true", NULL }, //enable_3gpp_protocol + { kDontAllowMultipleValues, "true", NULL }, //enable_3gpp_protocol_rate_adaptation + { kDontAllowMultipleValues, "1", NULL }, //3gpp_protocol_rate_adaptation_report_frequency + { kDontAllowMultipleValues, "0", NULL }, //default_stream_quality + { kAllowMultipleValues, "Real", sRTP_Start_Time_Players }, //player_requires_rtp_start_time_adjust + { kDontAllowMultipleValues, "false", NULL }, //enable_3gpp_debug_printfs + { kDontAllowMultipleValues, "false", NULL }, //enable_udp_monitor_stream + { kDontAllowMultipleValues, "5002", NULL }, //udp_monitor_video_stream + { kDontAllowMultipleValues, "5004", NULL }, //udp_monitor_audio_stream + { kDontAllowMultipleValues, "127.0.0.1",NULL }, //udp_monitor_dest_ip + { kDontAllowMultipleValues, "0.0.0.0", NULL }, //udp_monitor_src_ip + { kDontAllowMultipleValues, "true", NULL }, //enable_allow_guest_default + { kDontAllowMultipleValues, "1", NULL }, //run_num_rtsp_threads + { kAllowMultipleValues, "", sDisable_Rate_Adapt_Players }, //player_requires_disable_3gpp_rate_adapt + { kAllowMultipleValues, "", sFixed_Target_Time_Players }, //player_requires_3gpp_target_time + { kDontAllowMultipleValues, "3000", NULL }, //3gpp_target_time_milliseconds + { kAllowMultipleValues, "", sDisable_Thinning_Players } //player_requires_disable_thinning + + + + + }; @@ -236,7 +276,25 @@ QTSSAttrInfoDict::AttrInfo QTSServerPrefs::sAttributes[] = /* 69 */ { "disable_thinning", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite }, /* 70 */ { "player_requires_rtp_header_info", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, /* 71 */ { "player_requires_bandwidth_adjustment", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, - /* 72 */ { "player_requires_no_pause_time_adjustment", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite } + /* 72 */ { "player_requires_no_pause_time_adjustment", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, + /* 73 */ { "enable_3gpp_protocol", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 74 */ { "enable_3gpp_protocol_rate_adaptation", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 75 */ { "3gpp_protocol_rate_adaptation_report_frequency", NULL, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 76 */ { "default_stream_quality", NULL, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 77 */ { "player_requires_rtp_start_time_adjust", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, + /* 78 */ { "enable_3gpp_debug_printfs", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 79 */ { "enable_udp_monitor_stream", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 80 */ { "udp_monitor_video_port", NULL, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 81 */ { "udp_monitor_audio_port", NULL, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 82 */ { "udp_monitor_dest_ip", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, + /* 83 */ { "udp_monitor_src_ip", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, + /* 84 */ { "enable_allow_guest_default", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite }, + /* 85 */ { "run_num_rtsp_threads", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModeWrite }, + /* 86 */ { "player_requires_disable_3gpp_rate_adapt", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, + /* 87 */ { "player_requires_3gpp_target_time", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite }, + /* 88 */ { "3gpp_target_time_milliseconds", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModeWrite }, + /* 89 */ { "player_requires_disable_thinning", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModeWrite } + }; @@ -294,6 +352,7 @@ QTSServerPrefs::QTSServerPrefs(XMLPrefsParser* inPrefsSource, Bool16 inWriteMiss fEnableRTSPDebugPrintfs(false), fEnableRTSPServerInfo(true), fNumThreads(0), + fNumRTSPThreads(0), #if __MacOSX__ fEnableMonitorStatsFile(false), #else @@ -304,7 +363,20 @@ QTSServerPrefs::QTSServerPrefs(XMLPrefsParser* inPrefsSource, Bool16 inWriteMiss fEnablePacketHeaderPrintfs(false), fPacketHeaderPrintfOptions(kRTPALL | kRTCPSR | kRTCPRR | kRTCPAPP | kRTCPACK), fCloseLogsOnWrite(false), - fDisableThinning(false) + fDisableThinning(false), + // + f3gppProtocolEnabled(true), + f3gppProtocolRateAdaptationEnabled(true), + f3gppProtocolRateAdaptationReportFrequency(1), + fDefaultStreamQuality(0), + f3gppDebugPrintfsEnabled(false), + fUDPMonitorEnabled(false), + fUDPMonitorVideoPort(0), + fUDPMonitorAudioPort(0), + fAllowGuestAuthorizeDefault(true), + f3GPPRateAdaptTargetTime(0) + + { SetupAttributes(); RereadServerPreferences(inWriteMissingPrefs); @@ -383,6 +455,23 @@ void QTSServerPrefs::SetupAttributes() this->SetVal(qtssPrefsCloseLogsOnWrite, &fCloseLogsOnWrite, sizeof(fCloseLogsOnWrite)); this->SetVal(qtssPrefsOverbufferRate, &fOverbufferRate, sizeof(fOverbufferRate)); this->SetVal(qtssPrefsDisableThinning, &fDisableThinning, sizeof(fDisableThinning)); + + this->SetVal(qtssPrefsEnable3gppProtocol, &f3gppProtocolEnabled, sizeof(f3gppProtocolEnabled)); + this->SetVal(qtssPrefsEnable3gppProtocolRateAdapt, &f3gppProtocolRateAdaptationEnabled, sizeof(f3gppProtocolRateAdaptationEnabled)); + this->SetVal(qtssPrefs3gppRateAdaptReportFrequency, &f3gppProtocolRateAdaptationReportFrequency, sizeof(f3gppProtocolRateAdaptationReportFrequency)); //3gpp_protocol_rate_adaptation_report_frequency + this->SetVal(qtssPrefsDefaultStreamQuality, &fDefaultStreamQuality, sizeof(fDefaultStreamQuality)); //default_stream_quality + this->SetVal(qtssPrefsEnable3gppDebugPrintfs, &f3gppDebugPrintfsEnabled, sizeof(f3gppDebugPrintfsEnabled)); + this->SetVal(qtssPrefsEnableUDPMonitor, &fUDPMonitorEnabled, sizeof(fUDPMonitorEnabled)); + this->SetVal(qtssPrefsUDPMonitorAudioPort, &fUDPMonitorVideoPort, sizeof(fUDPMonitorVideoPort)); + this->SetVal(qtssPrefsUDPMonitorVideoPort, &fUDPMonitorAudioPort, sizeof(fUDPMonitorAudioPort)); + this->SetVal(qtssPrefsUDPMonitorDestIPAddr, &fUDPMonitorDestAddr, sizeof(fUDPMonitorDestAddr)); + this->SetVal(qtssPrefsUDPMonitorSourceIPAddr, &fUDPMonitorSrcAddr, sizeof(fUDPMonitorSrcAddr)); + this->SetVal(qtssPrefsEnableAllowGuestDefault, &fAllowGuestAuthorizeDefault, sizeof(fAllowGuestAuthorizeDefault)); //enable_allow_guest_authorize_default + this->SetVal(qtssPrefsNumRTSPThreads, &fNumRTSPThreads, sizeof(fNumRTSPThreads)); + this->SetVal(qtssPrefs3GPPTargetTime, &f3GPPRateAdaptTargetTime, sizeof(f3GPPRateAdaptTargetTime)); + + + } diff --git a/Server.tproj/QTSServerPrefs.h b/Server.tproj/QTSServerPrefs.h index 8308825..193cba7 100644 --- a/Server.tproj/QTSServerPrefs.h +++ b/Server.tproj/QTSServerPrefs.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -106,7 +106,7 @@ class QTSServerPrefs : public QTSSPrefs UInt32 GetMaxErrorLogBytes() { return fErrorLogBytes; } UInt32 GetErrorRollIntervalInDays() { return fErrorRollIntervalInDays; } UInt32 GetErrorLogVerbosity() { return fErrorLogVerbosity; } - void SetErrorLogVerbosity(UInt32 verbosity) { fErrorLogVerbosity = verbosity; } + void SetErrorLogVerbosity(UInt32 verbosity) { fErrorLogVerbosity = verbosity; } Bool16 GetAppendSrcAddrInTransport() { return fAppendSrcAddrInTransport; } // @@ -123,14 +123,14 @@ class QTSServerPrefs : public QTSSPrefs Bool16 GetRTSPDebugPrintfs() { return fEnableRTSPDebugPrintfs; } Bool16 GetRTSPServerInfoEnabled() { return fEnableRTSPServerInfo; } - Float32 GetOverbufferRate() { return fOverbufferRate; } - + Float32 GetOverbufferRate() { return fOverbufferRate; } + // RUDP window size UInt32 GetSmallWindowSizeInK() { return fSmallWindowSizeInK; } - UInt32 GetMediumWindowSizeInK() { return fMediumWindowSizeInK; } + UInt32 GetMediumWindowSizeInK() { return fMediumWindowSizeInK; } UInt32 GetLargeWindowSizeInK() { return fLargeWindowSizeInK; } UInt32 GetWindowSizeThreshold() { return fWindowSizeThreshold; } - UInt32 GetWindowSizeMaxThreshold() { return fWindowSizeMaxThreshold; } + UInt32 GetWindowSizeMaxThreshold() { return fWindowSizeMaxThreshold; } // // force logs to close after each write (true or false) @@ -169,8 +169,8 @@ class QTSServerPrefs : public QTSSPrefs char* GetRunGroupName() { return this->GetStringPref(qtssPrefsRunGroupName); } - char* GetPidFilePath() - { return this->GetStringPref(qtssPrefsPidFile); } + char* GetPidFilePath() + { return this->GetStringPref(qtssPrefsPidFile); } char* GetStatsMonitorFileName() { return this->GetStringPref(qtssPrefsMonitorStatsFileName); } @@ -184,14 +184,33 @@ class QTSServerPrefs : public QTSSPrefs Bool16 PrintRTPHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTPALL); } Bool16 PrintSRHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTCPSR); } Bool16 PrintRRHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTCPRR); } - Bool16 PrintAPPHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTCPAPP); } - Bool16 PrintACKHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTCPACK); } + Bool16 PrintAPPHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTCPAPP); } + Bool16 PrintACKHeaders() { return (Bool16) (fPacketHeaderPrintfOptions & kRTCPACK); } - UInt32 DeleteSDPFilesInterval() { return fsdp_file_delete_interval_seconds; } + UInt32 DeleteSDPFilesInterval() { return fsdp_file_delete_interval_seconds; } - UInt32 GetNumThreads() { return fNumThreads; } + UInt32 GetNumThreads() { return fNumThreads; } //short tasks threads + UInt32 GetNumBlockingThreads() { return fNumRTSPThreads; } //return the number of threads that long tasks will be scheduled on -- RTSP processing for example. + + Bool16 GetDisableThinning() { return fDisableThinning; } + + Bool16 Get3GPPEnabled() { return f3gppProtocolEnabled; } + Bool16 Get3GPPRateAdaptationEnabled() { return f3gppProtocolRateAdaptationEnabled; } + UInt16 Get3GPPRateAdaptReportFrequency() { return f3gppProtocolRateAdaptationReportFrequency; } + UInt16 GetDefaultStreamQuality() { return fDefaultStreamQuality; } + Bool16 Get3GPPDebugPrintfs() { return f3gppDebugPrintfsEnabled; } + Bool16 GetUDPMonitorEnabled() { return fUDPMonitorEnabled; } + UInt16 GetUDPMonitorVideoPort() { return fUDPMonitorVideoPort; } + UInt16 GetUDPMonitorAudioPort() { return fUDPMonitorAudioPort; } + + char* GetMonitorDestIP() { return this->GetStringPref(qtssPrefsUDPMonitorDestIPAddr); } + + char* GetMonitorSrcIP() { return this->GetStringPref(qtssPrefsUDPMonitorSourceIPAddr); } + + Bool16 GetAllowGuestDefault() { return fAllowGuestAuthorizeDefault; } + + UInt32 Get3GPPForcedTargetTime() {return f3GPPRateAdaptTargetTime; } - Bool16 DisableThinning() { return fDisableThinning; } private: UInt32 fRTSPTimeoutInSecs; @@ -232,10 +251,10 @@ class QTSServerPrefs : public QTSSPrefs Bool16 fAppendSrcAddrInTransport; UInt32 fSmallWindowSizeInK; - UInt32 fMediumWindowSizeInK; + UInt32 fMediumWindowSizeInK; UInt32 fLargeWindowSizeInK; UInt32 fWindowSizeThreshold; - UInt32 fWindowSizeMaxThreshold; + UInt32 fWindowSizeMaxThreshold; UInt32 fMaxRetransDelayInMsec; Bool16 fIsAckLoggingEnabled; @@ -254,16 +273,32 @@ class QTSServerPrefs : public QTSSPrefs Bool16 fEnableRTSPDebugPrintfs; Bool16 fEnableRTSPServerInfo; UInt32 fNumThreads; + UInt32 fNumRTSPThreads; + UInt32 f3GPPRateAdaptTargetTime; + Bool16 fEnableMonitorStatsFile; UInt32 fStatsFileIntervalSeconds; - - Float32 fOverbufferRate; - + + Float32 fOverbufferRate; + Bool16 fEnablePacketHeaderPrintfs; UInt32 fPacketHeaderPrintfOptions; Bool16 fCloseLogsOnWrite; Bool16 fDisableThinning; + + Bool16 f3gppProtocolEnabled; + Bool16 f3gppProtocolRateAdaptationEnabled; + UInt16 f3gppProtocolRateAdaptationReportFrequency; + UInt16 fDefaultStreamQuality; + Bool16 f3gppDebugPrintfsEnabled; + Bool16 fUDPMonitorEnabled; + UInt16 fUDPMonitorVideoPort; + UInt16 fUDPMonitorAudioPort; + char fUDPMonitorDestAddr[20]; + char fUDPMonitorSrcAddr[20]; + Bool16 fAllowGuestAuthorizeDefault; + enum //fPacketHeaderPrintfOptions { kRTPALL = 1 << 0, @@ -306,7 +341,10 @@ class QTSServerPrefs : public QTSSPrefs static char* sAdjust_Bandwidth_Players[]; static char* sNo_Adjust_Pause_Time_Players[]; static char* sNo_Pause_Time_Adjustment_Players[]; - + static char* sRTP_Start_Time_Players[]; + static char* sDisable_Rate_Adapt_Players[]; + static char* sFixed_Target_Time_Players[]; + static char* sDisable_Thinning_Players[]; }; #endif //__QTSSPREFS_H__ diff --git a/Server.tproj/RTCPTask.cpp b/Server.tproj/RTCPTask.cpp index e0c4baa..3e7e979 100644 --- a/Server.tproj/RTCPTask.cpp +++ b/Server.tproj/RTCPTask.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTCPTask.h b/Server.tproj/RTCPTask.h index 5367b02..02d914a 100644 --- a/Server.tproj/RTCPTask.h +++ b/Server.tproj/RTCPTask.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTPBandwidthTracker.cpp b/Server.tproj/RTPBandwidthTracker.cpp index f6376fa..7bae0c3 100644 --- a/Server.tproj/RTPBandwidthTracker.cpp +++ b/Server.tproj/RTPBandwidthTracker.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -245,12 +245,12 @@ void RTPBandwidthTracker::UpdateAckTimeout(UInt32 bitsSentInInterval, SInt64 int if (rto < fAckTimeout) rto = fAckTimeout; UInt32 adjustment = (rto - fAckTimeout) / 2; - //qtss_printf("UnadjustedTimeout = %lu. rto: %ld. Last ack timeout: %lu. Adjustment = %lu.", unadjustedTimeout, fUnadjustedRTO, fAckTimeout, adjustment); + //qtss_printf("UnadjustedTimeout = %"_U32BITARG_". rto: %"_S32BITARG_". Last ack timeout: %"_U32BITARG_". Adjustment = %"_U32BITARG_".", unadjustedTimeout, fUnadjustedRTO, fAckTimeout, adjustment); if (adjustment > unadjustedTimeout) adjustment = unadjustedTimeout; fAckTimeout = unadjustedTimeout - adjustment; - //qtss_printf("AckTimeout: %lu\n",fAckTimeout); + //qtss_printf("AckTimeout: %"_U32BITARG_"\n",fAckTimeout); if (fAckTimeout > kMaxAckTimeout) fAckTimeout = kMaxAckTimeout; else if (fAckTimeout < kMinAckTimeout) diff --git a/Server.tproj/RTPBandwidthTracker.h b/Server.tproj/RTPBandwidthTracker.h index ca243b3..f0d64f1 100644 --- a/Server.tproj/RTPBandwidthTracker.h +++ b/Server.tproj/RTPBandwidthTracker.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTPOverbufferWindow.cpp b/Server.tproj/RTPOverbufferWindow.cpp index 3d9d01d..a59bddd 100644 --- a/Server.tproj/RTPOverbufferWindow.cpp +++ b/Server.tproj/RTPOverbufferWindow.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTPOverbufferWindow.h b/Server.tproj/RTPOverbufferWindow.h index 30db4c5..bb98437 100644 --- a/Server.tproj/RTPOverbufferWindow.h +++ b/Server.tproj/RTPOverbufferWindow.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTPPacketResender.cpp b/Server.tproj/RTPPacketResender.cpp index 279feb6..4f01c7a 100644 --- a/Server.tproj/RTPPacketResender.cpp +++ b/Server.tproj/RTPPacketResender.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -204,8 +204,8 @@ UInt32 RTPPacketResender::SpillGuts(UInt32 inBytesSentThisInterval) //fStreamCumDuration += fInfoDisplayTimer.DurationInMilliseconds(); fInfoDisplayTimer.Reset(); - //this->logprintf( "\n[%li] info for track %li, cur bytes %li, cur kbit/s %li\n", /*(long)fStreamCumDuration,*/ fTrackID, (long)inBytesSentThisInterval, (long)kiloBitperSecond); - this->logprintf( "\nx info for track %li, cur bytes %li, cur kbit/s %li\n", /*(long)fStreamCumDuration,*/ fTrackID, (long)inBytesSentThisInterval, (long)kiloBitperSecond); + //this->logprintf( "\n[%li] info for track %li, cur bytes %li, cur kbit/s %li\n", /*(SInt32)fStreamCumDuration,*/ fTrackID, (SInt32)inBytesSentThisInterval, (SInt32)kiloBitperSecond); + this->logprintf( "\nx info for track %li, cur bytes %li, cur kbit/s %li\n", /*(SInt32)fStreamCumDuration,*/ fTrackID, (SInt32)inBytesSentThisInterval, (SInt32)kiloBitperSecond); this->logprintf( "stream is %s, bytes pending ack %li, cwnd %li, ssth %li, wind %li \n", isFlowed, fBandwidthTracker->BytesInList(), fBandwidthTracker->CongestionWindow(), fBandwidthTracker->SlowStartThreshold(), fBandwidthTracker->ClientWindowSize() ); this->logprintf( "stats- resends: %li, expired: %li, dupe acks: %li, sent: %li\n", fNumResends, fNumExpired, fNumAcksForMissingPackets, fNumSent ); this->logprintf( "delays- cur: %li, srtt: %li , dev: %li, rto: %li, bw: %li\n\n", fCurrentPacketDelay, fBandwidthTracker->RunningAverageMSecs(), fBandwidthTracker->RunningMeanDevationMSecs(), fBandwidthTracker->CurRetransmitTimeout(), fBandwidthTracker->GetCurrentBandwidthInBps()); @@ -245,7 +245,7 @@ RTPResenderEntry* RTPPacketResender::GetEmptyEntry(UInt16 inSeqNum, UInt32 inP ::memcpy(tempArray,fPacketArray,sizeof(RTPResenderEntry) * fPacketsInList); delete [] fPacketArray; fPacketArray = tempArray; - //qtss_printf("NewArray size=%ld packetsInList=%ld\n",fPacketArraySize, fPacketsInList); + //qtss_printf("NewArray size=%"_S32BITARG_" packetsInList=%"_S32BITARG_"\n",fPacketArraySize, fPacketsInList); } if (fPacketsInList < fPacketArraySize) // have an open spot @@ -265,7 +265,7 @@ RTPResenderEntry* RTPPacketResender::GetEmptyEntry(UInt16 inSeqNum, UInt32 inP else fLastUsed = 0; - //qtss_printf("array is full = %lu reusing index=%lu\n",fPacketsInList,fLastUsed); + //qtss_printf("array is full = %"_U32BITARG_" reusing index=%"_U32BITARG_"\n",fPacketsInList,fLastUsed); theEntry = &fPacketArray[fLastUsed]; RemovePacket(fLastUsed, false); // delete packet in place don't fill we will use the spot } @@ -348,7 +348,7 @@ void RTPPacketResender::AddPacket( void * inRTPPacket, UInt32 packetSize, SInt32 else { #if RTP_PACKET_RESENDER_DEBUGGING - this->logprintf( "packet too old to add: seq# %li, age limit %li, cur late %li, track id %li\n", (long)ntohs( *((UInt16*)(((char*)inRTPPacket)+2)) ), (long)ageLimit, fCurrentPacketDelay, fTrackID ); + this->logprintf( "packet too old to add: seq# %li, age limit %li, cur late %li, track id %li\n", (SInt32)ntohs( *((UInt16*)(((char*)inRTPPacket)+2)) ), (SInt32)ageLimit, fCurrentPacketDelay, fTrackID ); #endif fNumExpired++; } @@ -379,7 +379,7 @@ void RTPPacketResender::AckPacket( UInt16 inSeqNum, SInt64& inCurTimeInMsec ) */ #if RTP_PACKET_RESENDER_DEBUGGING this->logprintf( "acked packet not found: %li, track id %li, OS::MSecs %li\n" - , (long)inSeqNum, fTrackID, (long)OS::Milliseconds() + , (SInt32)inSeqNum, fTrackID, (SInt32)OS::Milliseconds() ); #endif fNumAcksForMissingPackets++; @@ -407,7 +407,7 @@ void RTPPacketResender::AckPacket( UInt16 inSeqNum, SInt64& inCurTimeInMsec ) #if RTP_PACKET_RESENDER_DEBUGGING Assert(inSeqNum == theEntry->fSeqNum); this->logprintf( "Ack for packet: %li, track id %li, OS::MSecs %qd\n" - , (long)inSeqNum, fTrackID, OS::Milliseconds() + , (SInt32)inSeqNum, fTrackID, OS::Milliseconds() ); #endif fBandwidthTracker->EmptyWindow(theEntry->fPacketSize); @@ -425,8 +425,8 @@ void RTPPacketResender::AckPacket( UInt16 inSeqNum, SInt64& inCurTimeInMsec ) { #if RTP_PACKET_RESENDER_DEBUGGING this->logprintf( "re-tx'd packet acked. ack num : %li, pack seq #: %li, num resends %li, track id %li, size %li, OS::MSecs %qd\n" \ - , (long)inSeqNum, (long)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2)) ), (long)theEntry->fNumResends - , (long)fTrackID, theEntry->fPacketSize, OS::Milliseconds() ); + , (SInt32)inSeqNum, (SInt32)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2)) ), (SInt32)theEntry->fNumResends + , (SInt32)fTrackID, theEntry->fPacketSize, OS::Milliseconds() ); #endif } this->RemovePacket(foundIndex); @@ -508,8 +508,8 @@ void RTPPacketResender::ResendDueEntries() version &= 0x84; // grab most sig 2 bits version = version >> 6; // shift by 6 bits this->logprintf( "expired: seq number %li, track id %li (port: %li), vers # %li, pack seq # %li, size: %li, OS::Msecs: %qd\n", \ - (long)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2)) ), fTrackID, (long) ntohs(fDestPort), \ - (long)version, (long)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2))), theEntry->fPacketSize, OS::Milliseconds() ); + (SInt32)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2)) ), fTrackID, (SInt32) ntohs(fDestPort), \ + (SInt32)version, (SInt32)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2))), theEntry->fPacketSize, OS::Milliseconds() ); #endif // // This packet is expired @@ -527,15 +527,15 @@ void RTPPacketResender::ResendDueEntries() theEntry->fNumResends++; #if RTP_PACKET_RESENDER_DEBUGGING - this->logprintf( "re-sent: %li RTO %li, track id %li (port %li), size: %li, OS::Ms %qd\n", (long)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2)) ), curTime - theEntry->fAddedTime, \ - fTrackID, (long) ntohs(fDestPort) \ + this->logprintf( "re-sent: %li RTO %li, track id %li (port %li), size: %li, OS::Ms %qd\n", (SInt32)ntohs( *((UInt16*)(((char*)theEntry->fPacketData)+2)) ), curTime - theEntry->fAddedTime, \ + fTrackID, (SInt32) ntohs(fDestPort) \ , theEntry->fPacketSize, OS::Milliseconds()); #endif fNumResends++; numResends ++; - //qtss_printf("resend loop numResends=%ld packet theEntry->fNumResends=%ld stream fNumResends=\n",numResends,theEntry->fNumResends++, fNumResends); + //qtss_printf("resend loop numResends=%"_S32BITARG_" packet theEntry->fNumResends=%"_S32BITARG_" stream fNumResends=\n",numResends,theEntry->fNumResends++, fNumResends); // ok -- lets try this.. add 1.5x of the INITIAL duration since the last send to the rto estimator // since we won't get an ack on this packet diff --git a/Server.tproj/RTPPacketResender.h b/Server.tproj/RTPPacketResender.h index de268e0..35bcef2 100644 --- a/Server.tproj/RTPPacketResender.h +++ b/Server.tproj/RTPPacketResender.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTPSession.cpp b/Server.tproj/RTPSession.cpp index eee8a4b..cd487ce 100644 --- a/Server.tproj/RTPSession.cpp +++ b/Server.tproj/RTPSession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -38,6 +38,7 @@ #include "RTSPProtocol.h" #include "QTSServerInterface.h" #include "QTSS.h" +#include "RTSPRequest3gpp.h" #include "OS.h" #include "OSMemory.h" @@ -96,9 +97,9 @@ RTPSession::~RTPSession() RTPBandwidthTracker* tracker = this->GetBandwidthTracker(); qtss_printf("Client complete. URL: %s.\n",theURL); - qtss_printf("Max congestion window: %ld. Min congestion window: %ld. Avg congestion window: %ld\n", tracker->GetMaxCongestionWindowSize(), tracker->GetMinCongestionWindowSize(), tracker->GetAvgCongestionWindowSize()); - qtss_printf("Max RTT: %ld. Min RTT: %ld. Avg RTT: %ld\n", tracker->GetMaxRTO(), tracker->GetMinRTO(), tracker->GetAvgRTO()); - qtss_printf("Num resends: %ld. Num skipped frames: %ld. Num late packets dropped: %ld\n", theNumResends, this->GetFramesSkipped(), theNumLatePacketsDropped); + qtss_printf("Max congestion window: %"_S32BITARG_". Min congestion window: %"_S32BITARG_". Avg congestion window: %"_S32BITARG_"\n", tracker->GetMaxCongestionWindowSize(), tracker->GetMinCongestionWindowSize(), tracker->GetAvgCongestionWindowSize()); + qtss_printf("Max RTT: %"_S32BITARG_". Min RTT: %"_S32BITARG_". Avg RTT: %"_S32BITARG_"\n", tracker->GetMaxRTO(), tracker->GetMinRTO(), tracker->GetAvgRTO()); + qtss_printf("Num resends: %"_S32BITARG_". Num skipped frames: %"_S32BITARG_". Num late packets dropped: %"_S32BITARG_"\n", theNumResends, this->GetFramesSkipped(), theNumLatePacketsDropped); delete [] theURL; } @@ -142,9 +143,11 @@ RTPSession::~RTPSession() //we better not be in the RTPSessionMap anymore! #if DEBUG +/* does not compile??? Assert(!fRTPMapElem.IsInTable()); OSRef* theRef = QTSServerInterface::GetServer()->GetRTPSessionMap()->Resolve(&fRTSPSessionID); Assert(theRef == NULL); +*/ #endif } @@ -265,6 +268,44 @@ void RTPSession::SetStreamThinningParams(Float32 inLateTolerance) } } + +void RTPSession::Set3GPPRateAdaptionData(RateAdapationStreamDataFields *rateAdaptStreamData) +{ + RTPStream** theStream = NULL; + UInt32 theLen = 0; + + for (int x = 0; this->GetValuePtr(qtssCliSesStreamObjects, x, (void**)&theStream, &theLen) == QTSS_NoErr; x++) + { + if ((*theStream)->GetSDPStreamID() == rateAdaptStreamData->GetSDPStreamID()) + { + (*theStream)->SetRateAdaptData(rateAdaptStreamData); + break; + } + } +} + +void RTPSession::SetMovieBitRateData() +{ + RTPStream** theStream = NULL; + UInt32 theLen = 0; + + //should eventually set the stream rate too. Use some gross amount right now. + UInt32 movieBitRate = GetMovieAvgBitrate(); + + for (int x = 0; this->GetValuePtr(qtssCliSesStreamObjects, x, (void**)&theStream, &theLen) == QTSS_NoErr; x++) + { + (*theStream)->SetBitRateData(movieBitRate); + } +} + + + +void RTPSession::Set3GPPLinkCharData(LinkCharDataFields *linkCharData) +{ + this->Get3GPPSessPtr()->SetLinkCharData(linkCharData); +} + + QTSS_Error RTPSession::Play(RTSPRequestInterface* request, QTSS_PlayFlags inFlags) { //first setup the play associated session interface variables @@ -358,6 +399,8 @@ QTSS_Error RTPSession::Play(RTSPRequestInterface* request, QTSS_PlayFlags inFla // Same deal for max buffer size if (theBufferSize > thePrefs->GetMaxTCPBufferSizeInBytes()) theBufferSize = thePrefs->GetMaxTCPBufferSizeInBytes(); + + this->SetMovieBitRateData(); } Assert(fRTSPSession != NULL); // can this ever happen? @@ -366,13 +409,27 @@ QTSS_Error RTPSession::Play(RTSPRequestInterface* request, QTSS_PlayFlags inFla #if RTPSESSION_DEBUGGING - qtss_printf("RTPSession %ld: In Play, about to call Signal\n",(SInt32)this); + qtss_printf("RTPSession %"_S32BITARG_": In Play, about to call Signal\n",(SInt32)this); #endif this->Signal(Task::kStartEvent); return QTSS_NoErr; } +void RTPSession::Pause() +{ + fState = qtssPausedState; + RTPStream** theStream = NULL; + UInt32 theLen = 0; + + for (int x = 0; this->GetValuePtr(qtssCliSesStreamObjects, x, (void**)&theStream, &theLen) == QTSS_NoErr; x++) + { + Assert(theStream != NULL); + Assert(theLen == sizeof(RTPStream*)); + (*theStream)->Pause(); + } +} + UInt32 RTPSession::PowerOf2Floor(UInt32 inNumToFloor) { UInt32 retVal = 0x10000000; @@ -476,7 +533,7 @@ SInt64 RTPSession::Run() //as the first parameter #if RTPSESSION_DEBUGGING - qtss_printf("RTPSession %ld: In Run. Events %ld\n",(SInt32)this, (SInt32)events); + qtss_printf("RTPSession %"_S32BITARG_": In Run. Events %"_S32BITARG_"\n",(SInt32)this, (SInt32)events); #endif // Some callbacks look for this struct in the thread object OSThreadDataSetter theSetter(&fModuleState, NULL); @@ -496,7 +553,7 @@ SInt64 RTPSession::Run() //threads). We do this by first removing the session from the session map. #if RTPSESSION_DEBUGGING - qtss_printf("RTPSession %ld: about to be killed. Eventmask = %ld\n",(SInt32)this, (SInt32)events); + qtss_printf("RTPSession %"_S32BITARG_": about to be killed. Eventmask = %"_S32BITARG_"\n",(SInt32)this, (SInt32)events); #endif // We cannot block waiting to UnRegister, because we have to // give the RTSPSessionTask a chance to release the RTPSession. @@ -583,7 +640,7 @@ SInt64 RTPSession::Run() else { #if RTPSESSION_DEBUGGING - qtss_printf("RTPSession %ld: about to call SendPackets\n",(SInt32)this); + qtss_printf("RTPSession %"_S32BITARG_": about to call SendPackets\n",(SInt32)this); #endif if ((theParams.rtpSendPacketsParams.inCurrentTime - fLastBandwidthTrackerStatsUpdate) > 1000) this->GetBandwidthTracker()->UpdateStats(); @@ -594,7 +651,7 @@ SInt64 RTPSession::Run() Assert(fModule != NULL); (void)fModule->CallDispatch(QTSS_RTPSendPackets_Role, &theParams); #if RTPSESSION_DEBUGGING - qtss_printf("RTPSession %ld: back from sendPackets, nextPacketTime = %"_64BITARG_"d\n",(SInt32)this, theParams.rtpSendPacketsParams.outNextPacketTime); + qtss_printf("RTPSession %"_S32BITARG_": back from sendPackets, nextPacketTime = %"_64BITARG_"d\n",(SInt32)this, theParams.rtpSendPacketsParams.outNextPacketTime); #endif //make sure not to get deleted accidently! if (theParams.rtpSendPacketsParams.outNextPacketTime < 0) diff --git a/Server.tproj/RTPSession.h b/Server.tproj/RTPSession.h index d416620..6288110 100644 --- a/Server.tproj/RTPSession.h +++ b/Server.tproj/RTPSession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -89,12 +89,18 @@ class RTPSession : public RTPSessionInterface //Reset the thinning params for all streams using the late tolerance value void SetStreamThinningParams(Float32 inLateTolerance); + //Find the appropriate stream and set the rate adaptation stream data + void Set3GPPRateAdaptionData(RateAdapationStreamDataFields *rateAdaptStreamData); + + // Store the Session Interface's Link Char values + void Set3GPPLinkCharData(LinkCharDataFields *linkCharData); + //Begins playing all streams. Currently must be associated with an RTSP Play //request, and the request interface must be provided. QTSS_Error Play(RTSPRequestInterface* request, QTSS_PlayFlags inFlags); //Pauses all streams. - void Pause() { fState = qtssPausedState; } + void Pause(); // Tears down the session. This will cause QTSS_SessionClosing_Role to run void Teardown(); @@ -110,6 +116,8 @@ class RTPSession : public RTPSessionInterface SInt32 GetQualityLevel(); void SetQualityLevel(SInt32 level); + + void SetMovieBitRateData(); private: diff --git a/Server.tproj/RTPSession3GPP.cpp b/Server.tproj/RTPSession3GPP.cpp new file mode 100644 index 0000000..1aa58f0 --- /dev/null +++ b/Server.tproj/RTPSession3GPP.cpp @@ -0,0 +1,98 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTPSession.cpp + + Contains: Implementation of RTPSession class. + + Change History (most recent first): + + + +*/ + +#include "RTPSession3GPP.h" + +#include "RTSPProtocol.h" +#include "QTSServerInterface.h" +#include "QTSS.h" + +#include "OS.h" +#include "OSMemory.h" + +#include + +#define RTPSESSION_DEBUGGING 0 + +QTSSAttrInfoDict::AttrInfo RTPSession3GPP::sAttributes[] = +{ /*fields: fAttrName, fFuncPtr, fAttrDataType, fAttrPermission */ + /* 0 */ { "qtss3GPPCliSesEnabled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 1 */ { "qtss3GPPCliSesLinkCharGuaranteedBitRate", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 2 */ { "qtss3GPPCliSesLinkCharMaxBitRate", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 3 */ { "qtss3GPPCliSesLinkCharMaxTransferDelayMilliSec", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 4 */ { "qtss3GPPCliSesLinkCharURL", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe } + +}; + + +void RTPSession3GPP::Initialize() +{ + for (int x = 0; x < qtss3GPPCliSesNumParams; x++) + QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPClientSessionDictIndex)-> + SetAttribute(x, sAttributes[x].fAttrName, sAttributes[x].fFuncPtr, + sAttributes[x].fAttrDataType, sAttributes[x].fAttrPermission); +} + + +RTPSession3GPP::RTPSession3GPP(Bool16 enabled) +: QTSSDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPClientSessionDictIndex), NULL), + fEnabled (enabled) +{ + this->SetVal(qtss3GPPCliSesEnabled, &fEnabled, sizeof(fEnabled)); + + this->SetVal(qtss3GPPCliSesLinkCharGuaranteedBitRate, &fLinkCharGuarntdKBitsPerSec, sizeof(fLinkCharGuarntdKBitsPerSec)); + this->SetVal(qtss3GPPCliSesLinkCharMaxBitRate, &fLinkCharMaxKBitsPerSec, sizeof(fLinkCharMaxKBitsPerSec)); + this->SetVal(qtss3GPPCliSesLinkCharMaxTransferDelayMilliSec, &fLinkCharMaxTransferDelayMilliSec, sizeof(fLinkCharMaxTransferDelayMilliSec)); + this->SetVal(qtss3GPPCliSesLinkCharURL, fURL, sizeof(fURL)); + fURL[0] =0; +} + + +void RTPSession3GPP::SetLinkCharData(LinkCharDataFields* linkCharDataPtr) +{ + if (NULL == linkCharDataPtr) + return; + + this->SetGKbits(linkCharDataPtr->GetGKbits()); + this->SetMaxKbits(linkCharDataPtr->GetMaxKBits()); + this->SetMaxDelayMilliSecs(linkCharDataPtr->GetMaxDelayMilliSecs()); + this->SetURLCopy(linkCharDataPtr->GetURL()); + +} + + +RTPSession3GPP::~RTPSession3GPP() +{ +} diff --git a/Server.tproj/RTPSession3GPP.h b/Server.tproj/RTPSession3GPP.h new file mode 100644 index 0000000..6612959 --- /dev/null +++ b/Server.tproj/RTPSession3GPP.h @@ -0,0 +1,79 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTPSession3GPP.h + + Contains: RTPSession3GPP represents the 3gpp specific support for an RTP session. The server creates + one of these when a new client connects. + + Change History (most recent first): + + + + +*/ + + +#ifndef _RTPSESSION3GPP_H_ +#define _RTPSESSION3GPP_H_ + +#include "QTSS.h" +#include "QTSSDictionary.h" +#include "RTSPRequest3GPP.h" + + +class RTPSession3GPP : public QTSSDictionary +{ + public: + + //Initialize + //Call initialize before instantiating this class: see QTSServer.cpp. + static void Initialize(); + + RTPSession3GPP(Bool16 enabled); + virtual ~RTPSession3GPP(); + + void SetLinkCharData(LinkCharDataFields* linkCharDataPtr); + void SetGKbits(UInt32 gKBits) { fLinkCharGuarntdKBitsPerSec = gKBits; } + void SetMaxKbits(UInt32 maxKbits) { fLinkCharMaxKBitsPerSec = maxKbits; } + void SetMaxDelayMilliSecs(UInt32 maxDelayMilliSecs) { fLinkCharMaxTransferDelayMilliSec = maxDelayMilliSecs; } + void SetURLCopy(StrPtrLen* urlPtr) { if (urlPtr) (void) this->SetValue(qtss3GPPCliSesLinkCharURL, 0, urlPtr->Ptr , urlPtr->Len, QTSSDictionary::kDontObeyReadOnly);} + UInt32 GetLinkCharMaxKBits() { return fLinkCharMaxKBitsPerSec; } + + private: + + Bool16 fEnabled; + char fURL[128]; //will be resized as needed + UInt32 fLinkCharGuarntdKBitsPerSec; + UInt32 fLinkCharMaxKBitsPerSec; + UInt32 fLinkCharMaxTransferDelayMilliSec; + + + //Dictionary support + static QTSSAttrInfoDict::AttrInfo sAttributes[]; + +}; + +#endif //_RTPSESSION_H_ diff --git a/Server.tproj/RTPSessionInterface.cpp b/Server.tproj/RTPSessionInterface.cpp index e20b881..10c3ba6 100644 --- a/Server.tproj/RTPSessionInterface.cpp +++ b/Server.tproj/RTPSessionInterface.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -86,7 +86,11 @@ QTSSAttrInfoDict::AttrInfo RTPSessionInterface::sAttributes[] = /* 33 */ { "qtssCliSesOverBufferEnabled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite | qtssAttrModePreempSafe }, /* 34 */ { "qtssCliSesRTCPPacketsRecv", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 35 */ { "qtssCliSesRTCPBytesRecv", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, - /* 36 */ { "qtssCliSesStartedThinning", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite | qtssAttrModePreempSafe } + /* 36 */ { "qtssCliSesStartedThinning", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite | qtssAttrModePreempSafe }, + /* 37 */ { "qtssCliSes3GPPObject", NULL, qtssAttrDataTypeQTSS_Object, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 38 */ { "qtssCliSessLastRTSPBandwidth", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 39 */ { "qtssCliSessIs3GPPSession", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe } + }; @@ -138,7 +142,11 @@ QTSServerInterface::GetServer()->GetPrefs()->GetOverbufferRate()), fAuthScheme(QTSServerInterface::GetServer()->GetPrefs()->GetAuthScheme()), fAuthQop(RTSPSessionInterface::kNoQop), fAuthNonceCount(0), - fFramesSkipped(0) + fFramesSkipped(0), + fRTPSession3GPP(QTSServerInterface::GetServer()->GetPrefs()->Get3GPPEnabled() ), + fRTPSession3GPPPtr(&fRTPSession3GPP), + fLastRTSPBandwidthHeaderBits(0), + fIs3GPPSession(false) { //don't actually setup the fTimeoutTask until the session has been bound! //(we don't want to get timeouts before the session gets bound) @@ -195,7 +203,12 @@ QTSServerInterface::GetServer()->GetPrefs()->GetOverbufferRate()), this->SetVal(qtssCliSesOverBufferEnabled, this->GetOverbufferWindow()->OverbufferingEnabledPtr(), sizeof(Bool16)); this->SetVal(qtssCliSesStartedThinning, &fStartedThinning, sizeof(Bool16)); + this->SetVal(qtssCliSes3GPPObject, &fRTPSession3GPPPtr, sizeof(fRTPSession3GPPPtr)); + this->SetVal(qtssCliSessLastRTSPBandwidth, &fLastRTSPBandwidthHeaderBits, sizeof(fLastRTSPBandwidthHeaderBits)); + this->SetVal(qtssCliSessIs3GPPSession, &fIs3GPPSession, sizeof(fIs3GPPSession)); + + } void RTPSessionInterface::SetValueComplete(UInt32 inAttrIndex, QTSSDictionaryMap* inMap, @@ -268,7 +281,7 @@ void RTPSessionInterface::UpdateBitRateInternal(const SInt64& curTime) fLastBitRateBytes = fBytesSent; fLastBitRateUpdateTime = curTime; } - //qtss_printf("fMovieCurrentBitRate=%lu\n",fMovieCurrentBitRate); + //qtss_printf("fMovieCurrentBitRate=%"_U32BITARG_"\n",fMovieCurrentBitRate); //qtss_printf("Cur bandwidth: %d. Cur ack timeout: %d.\n",fTracker.GetCurrentBandwidthInBps(), fTracker.RecommendedClientAckTimeout()); } @@ -309,12 +322,12 @@ void* RTPSessionInterface::PacketLossPercent(QTSSDictionary* inSession, UInt32* UInt32 streamCurPacketsLost = 0; theLen = sizeof(UInt32); (void) theStream->GetValue(qtssRTPStrCurPacketsLostInRTCPInterval,0, &streamCurPacketsLost, &theLen); - //qtss_printf("stream = %d streamCurPacketsLost = %lu \n",x, streamCurPacketsLost); + //qtss_printf("stream = %d streamCurPacketsLost = %"_U32BITARG_" \n",x, streamCurPacketsLost); UInt32 streamCurPackets = 0; theLen = sizeof(UInt32); (void) theStream->GetValue(qtssRTPStrPacketCountInRTCPInterval,0, &streamCurPackets, &theLen); - //qtss_printf("stream = %d streamCurPackets = %lu \n",x, streamCurPackets); + //qtss_printf("stream = %d streamCurPackets = %"_U32BITARG_" \n",x, streamCurPackets); packetsSent += (SInt64) streamCurPackets; packetsLost += (SInt64) streamCurPacketsLost; @@ -392,7 +405,7 @@ void RTPSessionInterface::SetChallengeParams(QTSS_AuthScheme scheme, UInt32 qop, ::srand((unsigned int)theMicroseconds); UInt32 randomNum = ::rand(); char* randomNumStr = NEW char[128]; - qtss_sprintf(randomNumStr, "%lu", randomNum); + qtss_sprintf(randomNumStr, "%"_U32BITARG_"", randomNum); int len = ::strlen(randomNumStr); fAuthOpaque.Len = Base64encode_len(len); char *opaqueStr = NEW char[fAuthOpaque.Len]; @@ -428,7 +441,7 @@ void RTPSessionInterface::UpdateDigestAuthChallengeParams(Bool16 newNonce, Bool1 ::srand((unsigned int)theMicroseconds); UInt32 randomNum = ::rand(); char* randomNumStr = NEW char[128]; - qtss_sprintf(randomNumStr, "%lu", randomNum); + qtss_sprintf(randomNumStr, "%"_U32BITARG_"", randomNum); int len = ::strlen(randomNumStr); fAuthOpaque.Len = Base64encode_len(len); char *opaqueStr = NEW char[fAuthOpaque.Len]; diff --git a/Server.tproj/RTPSessionInterface.h b/Server.tproj/RTPSessionInterface.h index e6859d5..eb38a53 100644 --- a/Server.tproj/RTPSessionInterface.h +++ b/Server.tproj/RTPSessionInterface.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -47,6 +47,7 @@ #include "QTSServerInterface.h" #include "OSMutex.h" #include "atomic.h" +#include "RTPSession3GPP.h" class RTSPRequestInterface; @@ -130,7 +131,7 @@ class RTPSessionInterface : public QTSSDictionary, public Task void UpdatePacketsSent(UInt32 packetsSent) { fPacketsSent += packetsSent; } void UpdateCurrentBitRate(const SInt64& curTime) - { if (curTime > (fLastBitRateUpdateTime + 10000)) this->UpdateBitRateInternal(curTime); } + { if (curTime > (fLastBitRateUpdateTime + 3000)) this->UpdateBitRateInternal(curTime); } void SetAllTracksInterleaved(Bool16 newValue) { fAllTracksInterleaved = newValue; } // @@ -190,8 +191,17 @@ class RTPSessionInterface : public QTSSDictionary, public Task void IncrTotalRTCPBytesRecv(UInt16 cnt) { fTotalRTCPBytesRecv += cnt; } UInt32 GetTotalRTCPBytesRecv() { return fTotalRTCPBytesRecv; } + UInt32 GetLastRTSPBandwithBits() { return fLastRTSPBandwidthHeaderBits; } + UInt32 GetCurrentMovieBitRate() { return fMovieCurrentBitRate; } + + UInt32 GetMaxBandwidthBits() { UInt32 maxRTSP = GetLastRTSPBandwithBits(); UInt32 maxLink = fRTPSession3GPP.GetLinkCharMaxKBits()* 1000; return (maxRTSP > maxLink) ? maxRTSP : maxLink; } + + void SetIs3GPPSession(Bool16 is3GPP) { fIs3GPPSession = is3GPP; } + protected: + RTPSession3GPP* Get3GPPSessPtr() { return fRTPSession3GPPPtr; } + // These variables are setup by the derived RTPSession object when // Play and Pause get called @@ -229,6 +239,9 @@ class RTPSessionInterface : public QTSSDictionary, public Task // an RTP session, we store a pointer to the RTSP session used in // the last RTSP request. RTSPSessionInterface* fRTSPSession; + + + private: // @@ -329,7 +342,12 @@ class RTPSessionInterface : public QTSSDictionary, public Task UInt32 fQualityUpdate; UInt32 fFramesSkipped; - Bool16 fOverBufferEnabled; + + RTPSession3GPP fRTPSession3GPP; + RTPSession3GPP* fRTPSession3GPPPtr; + UInt32 fLastRTSPBandwidthHeaderBits; + Bool16 fIs3GPPSession; + }; #endif //_RTPSESSIONINTERFACE_H_ diff --git a/Server.tproj/RTPStream.cpp b/Server.tproj/RTPStream.cpp index 4836f32..2d8c9f5 100644 --- a/Server.tproj/RTPStream.cpp +++ b/Server.tproj/RTPStream.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -34,8 +34,10 @@ #include +#include #include "SafeStdLib.h" #include "RTPStream.h" +#include "RTPSessionInterface.h" #include "QTSSModuleUtils.h" #include "QTSServerInterface.h" @@ -43,17 +45,44 @@ #include "RTCPPacket.h" #include "RTCPAPPPacket.h" +#include "RTCPAPPQTSSPacket.h" #include "RTCPAckPacket.h" #include "RTCPSRPacket.h" +#include "RTCPAPPNADUPacket.h" + #include "SocketUtils.h" #include + +#include #if DEBUG #define RTP_TCP_STREAM_DEBUG 1 +#define RTP_3GPP_DEBUG 1 +#define RTP_RTCP_DEBUG 1 #else #define RTP_TCP_STREAM_DEBUG 0 +#define RTP_3GPP_DEBUG 0 +#define RTP_RTCP_DEBUG 0 + +#endif + + +#if RTP_RTCP_DEBUG + #define DEBUG_RTCP_PRINTF(s) qtss_printf s +#else + #define DEBUG_RTCP_PRINTF(s) {} +#endif + +#if RTP_3GPP_DEBUG + #define DEBUG_3GPP_PRINTF(s) qtss_printf s +#else + #define DEBUG_3GPP_PRINTF(s) {} #endif + +#define RTCP_TESTING 0 + + QTSSAttrInfoDict::AttrInfo RTPStream::sAttributes[] = { /*fields: fAttrName, fFuncPtr, fAttrDataType, fAttrPermission */ /* 0 */ { "qtssRTPStrTrackID", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite }, @@ -95,7 +124,9 @@ QTSSAttrInfoDict::AttrInfo RTPStream::sAttributes[] = /* 35 */ { "qtssRTPStrPacketCountInRTCPInterval", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 36 */ { "qtssRTPStrSvrRTPPort", NULL, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 37 */ { "qtssRTPStrClientRTPPort", NULL, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModePreempSafe }, - /* 38 */ { "qtssRTPStrNetworkMode", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe } + /* 38 */ { "qtssRTPStrNetworkMode", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 39 */ { "qtssRTPStr3gppObject", NULL, qtssAttrDataTypeQTSS_Object, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 40 */ { "qtssRTPStrThinningDisabled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe } }; @@ -141,6 +172,9 @@ RTPStream::RTPStream(UInt32 inSSRC, RTPSessionInterface* inSession) fRemoteRTPPort(0), fRemoteRTCPPort(0), fLocalRTPPort(0), + fMonitorAddr (0), + fMonitorSocket(0), + fPlayerToMonitorAddr(0), fLastSenderReportTime(0), fPacketCount(0), fLastPacketCount(0), @@ -155,10 +189,11 @@ RTPStream::RTPStream(UInt32 inSSRC, RTPSessionInterface* inSession) fFirstTimeStamp(0), fTimescale(0), fStreamURLPtr(fStreamURL, 0), - fQualityLevel(0), + fQualityLevel(QTSServerInterface::GetServer()->GetPrefs()->GetDefaultStreamQuality()), fNumQualityLevels(0), fLastRTPTimestamp(0), - + fLastNTPTimeStamp(0), + fEstRTT(0), fFractionLostPackets(0), fTotalLostPackets(0), //fPriorTotalLostPackets(0), @@ -207,17 +242,60 @@ RTPStream::RTPStream(UInt32 inSSRC, RTPSessionInterface* inSession) fRTPChannel(0), fRTCPChannel(0), fNetworkMode(qtssRTPNetworkModeDefault), - fStreamStartTimeOSms(OS::Milliseconds()) + fStreamStartTimeOSms(OS::Milliseconds()), + fLastQualityLevel(0), + fLastRateLevel(0), + fDisableThinning(QTSServerInterface::GetServer()->GetPrefs()->GetDisableThinning()), + fLastQualityUpdate(0), + fDefaultQualityLevel(QTSServerInterface::GetServer()->GetPrefs()->GetDefaultStreamQuality()), + fMaxQualityLevel(fDefaultQualityLevel), + fInitialMaxQualityLevelIsSet(false), + fUDPMonitorEnabled(QTSServerInterface::GetServer()->GetPrefs()->GetUDPMonitorEnabled()), + fMonitorVideoDestPort(QTSServerInterface::GetServer()->GetPrefs()->GetUDPMonitorVideoPort() ), + fMonitorAudioDestPort(QTSServerInterface::GetServer()->GetPrefs()->GetUDPMonitorAudioPort() ) { + Bool16 doRateAdaptation = QTSServerInterface::GetServer()->GetPrefs()->Get3GPPEnabled() && QTSServerInterface::GetServer()->GetPrefs()->Get3GPPRateAdaptationEnabled(); + + QTSS_StandardRTSP_Params inParamBlock; + inParamBlock.inClientSession=inSession; + Bool16 disableRateAdaptForPlayer = !QTSSModuleUtils::HavePlayerProfile((void *) QTSServerInterface::GetServer()->GetPrefs(),&inParamBlock,QTSSModuleUtils::kDisable3gppRateAdaptation); + if (doRateAdaptation) + doRateAdaptation = disableRateAdaptForPlayer; + + // Set the whether thinning is enabled. + Bool16 thinningDisabledForUserAgent = QTSSModuleUtils::HavePlayerProfile((void *) QTSServerInterface::GetServer()->GetPrefs(), &inParamBlock,QTSSModuleUtils::kDisableThinning); + if (thinningDisabledForUserAgent) + fDisableThinning = thinningDisabledForUserAgent; + + fStream3GPP = NEW RTPStream3GPP(*this, doRateAdaptation); fStreamRef = this; + if (fUDPMonitorEnabled) + { + StrPtrLenDel destIP(QTSServerInterface::GetServer()->GetPrefs()->GetMonitorDestIP()); + StrPtrLenDel srcIP(QTSServerInterface::GetServer()->GetPrefs()->GetMonitorSrcIP()); + + fMonitorAddr = SocketUtils::ConvertStringToAddr(destIP.Ptr); + fPlayerToMonitorAddr = SocketUtils::ConvertStringToAddr(srcIP.Ptr); + + fMonitorSocket = ::socket(AF_INET, SOCK_DGRAM, 0); + #ifdef __Win32__ + u_long one = 1; + (void) ::ioctlsocket(fMonitorSocket, FIONBIO, &one); + #else + int flag = ::fcntl(fMonitorSocket, F_GETFL, 0); + (void) ::fcntl(fMonitorSocket, F_SETFL, flag | O_NONBLOCK); + #endif + } + + #if DEBUG fNumPacketsDroppedOnTCPFlowControl = 0; fFlowControlStartedMsec = 0; fFlowControlDurationMsec = 0; #endif //format the ssrc as a string - qtss_sprintf(fSsrcString, "%lu", fSsrc); + qtss_sprintf(fSsrcString, "%"_U32BITARG_"", fSsrc); fSsrcStringPtr.Len = ::strlen(fSsrcString); Assert(fSsrcStringPtr.Len < kMaxSsrcSizeInBytes); @@ -263,7 +341,10 @@ RTPStream::RTPStream(UInt32 inSSRC, RTPSessionInterface* inSession) this->SetVal(qtssRTPStrClientRTPPort, &fRemoteRTPPort, sizeof(fRemoteRTPPort)); this->SetVal(qtssRTPStrNetworkMode, &fNetworkMode, sizeof(fNetworkMode)); + this->SetVal(qtssRTPStr3gppObject, &fStream3GPP, sizeof(fStream3GPP)); + this->SetVal(qtssRTPStrThinningDisabled, &fDisableThinning, sizeof(fDisableThinning)); + } RTPStream::~RTPStream() @@ -287,34 +368,52 @@ RTPStream::~RTPStream() #if RTP_TCP_STREAM_DEBUG if ( fIsTCP ) - qtss_printf( "DEBUG: ~RTPStream %li sends got EAGAIN'd.\n", (long)fNumPacketsDroppedOnTCPFlowControl ); + qtss_printf( "DEBUG: ~RTPStream %li sends got EAGAIN'd.\n", (SInt32)fNumPacketsDroppedOnTCPFlowControl ); #endif + delete fStream3GPP; + + if (fMonitorSocket != 0) + { + #ifdef __Win32__ + ::closesocket(fMonitorSocket); + #else + ::close(fMonitorSocket); + #endif + } + } SInt32 RTPStream::GetQualityLevel() { if (fTransportType == qtssRTPTransportTypeUDP) - return fQualityLevel; + return MIN(fQualityLevel, (SInt32) fNumQualityLevels - 1); else return fSession->GetQualityLevel(); } void RTPStream::SetQualityLevel(SInt32 level) { - if (level < 0 ) // invalid level - { Assert(0); - level = 0; - } - if (QTSServerInterface::GetServer()->GetPrefs()->DisableThinning()) - level = 0; - + if (fDisableThinning) + return; + + SInt32 minLevel = MAX(0, (SInt32) fNumQualityLevels - 1); + level = MIN(MAX(level, fMaxQualityLevel), minLevel); + + if (level == minLevel) //Instead of going down to key-frames only, go down to key-frames plus 1 P frame instead. + level++; + + if (level == fQualityLevel) + return; + if (fTransportType == qtssRTPTransportTypeUDP) fQualityLevel = level; else fSession->SetQualityLevel(level); + + fLastQualityLevel = level; } -void RTPStream::SetOverBufferState(RTSPRequestInterface* request) + void RTPStream::SetOverBufferState(RTSPRequestInterface* request) { SInt32 requestedOverBufferState = request->GetDynamicRateState(); Bool16 enableOverBuffer = false; @@ -448,7 +547,6 @@ QTSS_Error RTPStream::Setup(RTSPRequestInterface* request, QTSS_AddStreamFlags i // if the transport is TCP or RUDP, then we only want one session quality level instead of a per stream one if (fTransportType != qtssRTPTransportTypeUDP) { -// this->SetVal(qtssRTPStrQualityLevel, fSession->GetQualityLevelPtr(), sizeof(fQualityLevel)); this->SetQualityLevel(*(fSession->GetQualityLevelPtr())); } @@ -500,7 +598,7 @@ QTSS_Error RTPStream::Setup(RTSPRequestInterface* request, QTSS_AddStreamFlags i { char url[256]; char logfile[256]; - qtss_sprintf(logfile, "resend_log_%lu", fSession->GetRTSPSession()->GetSessionID()); + qtss_sprintf(logfile, "resend_log_%"_U32BITARG_"", fSession->GetRTSPSession()->GetSessionID()); StrPtrLen logName(logfile); fResender.SetLog(&logName); @@ -635,7 +733,7 @@ void RTPStream::AppendRTPInfo(QTSS_RTSPHeader inHeader, RTSPRequestInterface* StrPtrLen rtpTimeBufPtr; if (inFlags & qtssPlayRespWriteTrackInfo) { - qtss_sprintf(rtpTimeBuf, "%lu", fFirstTimeStamp); + qtss_sprintf(rtpTimeBuf, "%"_U32BITARG_"", fFirstTimeStamp); rtpTimeBufPtr.Set(rtpTimeBuf, ::strlen(rtpTimeBuf)); Assert(rtpTimeBufPtr.Len < 20); } @@ -654,6 +752,42 @@ void RTPStream::AppendRTPInfo(QTSS_RTSPHeader inHeader, RTSPRequestInterface* } + +//UDP Monitor reflected write +void RTPStream::UDPMonitorWrite(void* thePacketData, UInt32 inLen, Bool16 isRTCP) +{ + if (FALSE == fUDPMonitorEnabled || 0 == fMonitorSocket || NULL == thePacketData) + return; + + if ((0 != fPlayerToMonitorAddr) && (this->fRemoteAddr != fPlayerToMonitorAddr)) + return; + + UInt16 RTCPportOffset = (TRUE == isRTCP)? 1 : 0; + + + struct sockaddr_in sin; + memset(&sin, 0, sizeof(struct sockaddr_in)); + sin.sin_family = AF_INET; + sin.sin_addr.s_addr = htonl(fMonitorAddr); + + if (fPayloadType == qtssVideoPayloadType) + sin.sin_port = (in_port_t) htons(fMonitorVideoDestPort+RTCPportOffset); + else if (fPayloadType == qtssAudioPayloadType) + sin.sin_port = (in_port_t) htons(fMonitorAudioDestPort+RTCPportOffset); + + if (sin.sin_port != 0) + { + ssize_t result = ::sendto(fMonitorSocket, thePacketData, inLen, 0, (struct sockaddr *)&sin, sizeof(struct sockaddr)); + if (DEBUG) + { if (result < 0) + qtss_printf("RTCP Monitor Socket sendto failed\n"); + else if (0) + qtss_printf("RTCP Monitor Socket sendto port=%hu, packetLen=%"_U32BITARG_"\n", ntohs(sin.sin_port), inLen); + } + } + +} + /********************************* / / InterleavedWrite @@ -699,7 +833,7 @@ QTSS_Error RTPStream::InterleavedWrite(void* inBuffer, UInt32 inLen, UInt32* ou fSession->RefreshTimeout(); // RTSP session gets refreshed internally in WriteV #if RTP_TCP_STREAM_DEBUG - //qtss_printf( "DEBUG: RTPStream fCurrentPacketDelay %li, fQualityLevel %i\n", (long)fCurrentPacketDelay, (int)fQualityLevel ); + //qtss_printf( "DEBUG: RTPStream fCurrentPacketDelay %li, fQualityLevel %i\n", (SInt32)fCurrentPacketDelay, (int)fQualityLevel ); #endif return err; @@ -788,6 +922,21 @@ QTSS_Error RTPStream::ReliableRTPWrite(void* inBuffer, UInt32 inLen, const SInt6 return err; } +void RTPStream::SetRateAdaptData(RateAdapationStreamDataFields *rateAdaptStreamData) +{ + if (NULL == rateAdaptStreamData) + return; + + fStream3GPP->SetRateAdaptationData(rateAdaptStreamData); + + QTSS_StandardRTSP_Params inParamBlock; + inParamBlock.inClientSession=fSession; + Bool16 setTargetTimeForPlayer = QTSSModuleUtils::HavePlayerProfile((void *) QTSServerInterface::GetServer()->GetPrefs(),&inParamBlock,QTSSModuleUtils::kAdjust3gppTargetTime); + if (setTargetTimeForPlayer) + fStream3GPP->SetBufferTime(QTSServerInterface::GetServer()->GetPrefs()->Get3GPPForcedTargetTime()); + +} + void RTPStream::SetThinningParams() { SInt32 toleranceAdjust = 1500 - (SInt32(fLateToleranceInSec * 1000)); @@ -808,8 +957,40 @@ void RTPStream::SetThinningParams() fSession->fLastQualityCheckTime = 0; fSession->fLastQualityCheckMediaTime = 0; fSession->fStartedThinning = false; + + } +void RTPStream::SetInitialMaxQualityLevel() +{ + UInt32 movieBitRate = GetSession().GetMovieAvgBitrate(); + UInt32 bandwidth = GetSession().GetMaxBandwidthBits(); + if (bandwidth != 0 && movieBitRate != 0) + { + double ratio = movieBitRate / static_cast(bandwidth); + + //interpolate between ratio and fNumQualityLevels such that 0.90 maps to 0 and 3.0 maps to fNumQualityLevels + SetMaxQualityLevelLimit(static_cast(fNumQualityLevels * (ratio / 2.1 - 0.43))); + SetQualityLevel(GetQualityLevel()); + DEBUG_3GPP_PRINTF(("RTPStream::SetInitialMaxQualityLevel movieBitRate=%"_U32BITARG_", bandwidth=%"_U32BITARG_", ratio=%f, fMaxQualityLevel=%"_S32BITARG_"\n", + movieBitRate, bandwidth, ratio, fMaxQualityLevel)); + } +} + + +Bool16 RTPStream::Supports3GPPQualityLevels() +{ + + if (fStream3GPP->RateAdaptationEnabled() && !fDisableThinning) + { + return true; + } + + return false; + +} + + Bool16 RTPStream::UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& inCurrentPacketDelay, const SInt64& inCurrentTime, UInt32 inPacketSize) { @@ -817,12 +998,13 @@ Bool16 RTPStream::UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& if (inTransmitTime <= fSession->GetPlayTime()) return true; - if (fTransportType == qtssRTPTransportTypeUDP) + + if (this->Supports3GPPQualityLevels()) return true; - -// fQualityLevel = 2; -// return true; + if (fTransportType == qtssRTPTransportTypeUDP) + return true; + if (fSession->fLastQualityCheckTime == 0) { // Reset the interval for checking quality levels @@ -859,7 +1041,7 @@ Bool16 RTPStream::UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& // // If we have fallen behind enough such that we risk trasmitting // stale packets to the client, AGGRESSIVELY thin the stream - SetQualityLevel(fNumQualityLevels); + this->SetMinQuality(); // if (fPayloadType == qtssVideoPayloadType) // qtss_printf("Q=%d, delay = %qd\n", GetQualityLevel(), inCurrentPacketDelay); if (inCurrentPacketDelay > fDropAllPacketsForThisStreamDelay) @@ -873,7 +1055,7 @@ Bool16 RTPStream::UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& if (fNumQualityLevels <= 2) { if ((inCurrentPacketDelay < fStartThickingDelay) && (GetQualityLevel() > 0)) - SetQualityLevel(0); + this->SetMaxQuality(); return true; // not enough quality levels to do fine tuning } @@ -902,12 +1084,12 @@ Bool16 RTPStream::UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& if (inCurrentPacketDelay < fThickAllTheWayDelay) { - SetQualityLevel(0); + this->SetMaxQuality(); fWaitOnLevelAdjustment = false; } // if (fPayloadType == qtssVideoPayloadType) -// printf("Q=%d, delay = %qd\n", GetQualityLevel(), inCurrentPacketDelay); +// qtss_printf("Q=%d, delay = %qd\n", GetQualityLevel(), inCurrentPacketDelay); fLastCurrentPacketDelay = inCurrentPacketDelay; fSession->fLastQualityCheckTime = inCurrentTime; fSession->fLastQualityCheckMediaTime = inTransmitTime; @@ -916,6 +1098,7 @@ Bool16 RTPStream::UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& return true; // We should send this packet } + QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten, UInt32 inFlags) { Assert(fSession != NULL); @@ -931,11 +1114,14 @@ QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten QTSS_PacketStruct* thePacket = (QTSS_PacketStruct*)inBuffer; thePacket->suggestedWakeupTime = -1; SInt64 theCurrentPacketDelay = theTime - thePacket->packetTransmitTime; - -#if RTP_PACKET_RESENDER_DEBUGGING - UInt16* theSeqNum = (UInt16*)thePacket->packetData; -#endif - + + //If we are doing rate-adaptation, set the maximum quality level if the bandwidth header is received + if (!fInitialMaxQualityLevelIsSet && fStream3GPP->RateAdaptationEnabled() && !fDisableThinning) + { + fInitialMaxQualityLevelIsSet = true; + SetInitialMaxQualityLevel(); + } + // // Empty the overbuffer window fSession->GetOverbufferWindow()->EmptyOutWindow(theTime); @@ -970,25 +1156,37 @@ QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten } else if ( inLen > 0 ) { - (void)fSockets->GetSocketB()->SendTo(fRemoteAddr, fRemoteRTCPPort, thePacket->packetData, inLen); + (void)this->fSockets->GetSocketB()->SendTo(fRemoteAddr, fRemoteRTCPPort, thePacket->packetData, inLen); + + this->UDPMonitorWrite(thePacket->packetData, inLen, kIsRTCPPacket); + } - + + if (err == QTSS_NoErr) - PrintPacketPrefEnabled( (char*) thePacket->packetData, inLen, (SInt32) RTPStream::rtcpSR); + this->PrintPacketPrefEnabled( (char*) thePacket->packetData, inLen, (SInt32) RTPStream::rtcpSR); } - else if (inFlags & qtssWriteFlagsIsRTP) + else if (inFlags & qtssWriteFlagsIsRTP) { - // - // Check to see if this packet fits in the overbuffer window - thePacket->suggestedWakeupTime = fSession->GetOverbufferWindow()->CheckTransmitTime(thePacket->packetTransmitTime, theTime, inLen); + + if (fStream3GPP->RateAdaptationEnabled()) + thePacket->suggestedWakeupTime = fStream3GPP->GetAdjustedTransmitTime(thePacket->packetTransmitTime, theTime); + else + { // + // Check to see if this packet fits in the overbuffer window + thePacket->suggestedWakeupTime = fSession->GetOverbufferWindow()->CheckTransmitTime(thePacket->packetTransmitTime, theTime, inLen); + } + DEBUG_3GPP_PRINTF(("RTPStream::Write time: %"_S64BITARG_" -> %"_S64BITARG_" (%"_S64BITARG_")\n", + thePacket->packetTransmitTime, thePacket->suggestedWakeupTime, thePacket->suggestedWakeupTime - thePacket->packetTransmitTime)); + if (thePacket->suggestedWakeupTime > theTime) { - Assert(thePacket->suggestedWakeupTime >= fSession->GetOverbufferWindow()->GetSendInterval()); + // Assert(thePacket->suggestedWakeupTime >= fSession->GetOverbufferWindow()->GetSendInterval()); #if RTP_PACKET_RESENDER_DEBUGGING fResender.logprintf("Overbuffer window full. Num bytes in overbuffer: %d. Wakeup time: %qd\n",fSession->GetOverbufferWindow()->AvailableSpaceInWindow(), thePacket->packetTransmitTime); #endif //qtss_printf("Overbuffer window full. Returning: %qd\n", thePacket->suggestedWakeupTime - theTime); - + fSession->GetSessionMutex()->Unlock();// Make sure to unlock the mutex return QTSS_WouldBlock; } @@ -998,54 +1196,67 @@ QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten // also tells us whether this packet is just too old to send if (this->UpdateQualityLevel(thePacket->packetTransmitTime, theCurrentPacketDelay, theTime, inLen)) { - if ( fTransportType == qtssRTPTransportTypeTCP ) // write out in interleave format on the RTSP TCP channel + if ( fTransportType == qtssRTPTransportTypeTCP ) // write out in interleave format on the RTSP TCP channel. err = this->InterleavedWrite( thePacket->packetData, inLen, outLenWritten, fRTPChannel ); else if ( fTransportType == qtssRTPTransportTypeReliableUDP ) err = this->ReliableRTPWrite( thePacket->packetData, inLen, theCurrentPacketDelay ); else if ( inLen > 0 ) + { (void)fSockets->GetSocketA()->SendTo(fRemoteAddr, fRemoteRTPPort, thePacket->packetData, inLen); + this->UDPMonitorWrite(thePacket->packetData, inLen, kIsRTPPacket); + } + if (err == QTSS_NoErr) - PrintPacketPrefEnabled( (char*) thePacket->packetData, inLen, (SInt32) RTPStream::rtp); - - if (err == 0) + this->PrintPacketPrefEnabled( (char*) thePacket->packetData, inLen, (SInt32) RTPStream::rtp); + + UInt16* theSeqNumP = (UInt16*)thePacket->packetData; + UInt16 theSeqNum = ntohs(theSeqNumP[1]); + + //Add the packet sequence number and the timestamp to the list of mappings if doing 3GPP-rate-adaptation. + fStream3GPP->AddSeqNumTimeMapping(theSeqNum, thePacket->packetTransmitTime); + +#if 0 // testing { - static SInt64 time = -1; - static int byteCount = 0; - static SInt64 startTime = -1; - static int totalBytes = 0; - static int numPackets = 0; - static SInt64 firstTime; - - if (theTime - time > 1000) + if (err == 0) { - if (time != -1) - { -// qtss_printf(" %qd KBit (%d in %qd secs)", byteCount * 8 * 1000 / (theTime - time) / 1024, totalBytes, (theTime - startTime) / 1000); -// if (fTracker) -// qtss_printf(" Window = %d\n", fTracker->CongestionWindow()); -// else -// qtss_printf("\n"); -// qtss_printf("Packet #%d xmit time = %qd\n", numPackets, (thePacket->packetTransmitTime - firstTime) / 1000); - } - else + static SInt64 time = -1; + static int byteCount = 0; + static SInt64 startTime = -1; + static int totalBytes = 0; + static int numPackets = 0; + static SInt64 firstTime; + + if (theTime - time > 1000) { - startTime = theTime; - firstTime = thePacket->packetTransmitTime; + if (time != -1) + { + qtss_printf(" %qd KBit (%d in %qd secs)", byteCount * 8 * 1000 / (theTime - time) / 1024, totalBytes, (theTime - startTime) / 1000); + if (fTracker) + qtss_printf(" Window = %d\n", fTracker->CongestionWindow()); + else + qtss_printf("\n"); + qtss_printf("Packet #%d xmit time = %qd\n", numPackets, (thePacket->packetTransmitTime - firstTime) / 1000); + } + else + { + startTime = theTime; + firstTime = thePacket->packetTransmitTime; + } + + byteCount = 0; + time = theTime; } - - byteCount = 0; - time = theTime; - } + + byteCount += inLen; + totalBytes += inLen; + numPackets++; - byteCount += inLen; - totalBytes += inLen; - numPackets++; - -// UInt16* theSeqNumP = (UInt16*)thePacket->packetData; -// UInt16 theSeqNum = ntohs(theSeqNumP[1]); -// qtss_printf("Packet %d for time %qd sent at %qd (%d bytes)\n", theSeqNum, thePacket->packetTransmitTime - fSession->GetPlayTime(), theTime - fSession->GetPlayTime(), inLen); + qtss_printf("Packet %d for time %qd sent at %qd (%d bytes)\n", theSeqNum, thePacket->packetTransmitTime - fSession->GetPlayTime(), theTime - fSession->GetPlayTime(), inLen); + } } +#endif + } #if RTP_PACKET_RESENDER_DEBUGGING @@ -1060,7 +1271,7 @@ QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten { // Update statistics if we were actually able to send the data (don't // update if the socket is flow controlled or some such thing) - + fSession->GetOverbufferWindow()->AddPacketToWindow(inLen); fSession->UpdatePacketsSent(1); fSession->UpdateBytesSent(inLen); @@ -1080,8 +1291,10 @@ QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten // Send an RTCP sender report if it's time. Again, we only want to send an // RTCP if the RTP packet was sent sucessfully + // If doing rate-adaptation, then send an RTCP SR every seconds so that we get faster RTT feedback. + UInt32 senderReportInterval = fStream3GPP->RateAdaptationEnabled() ? kSenderReportInterval3GPPInSecs : kSenderReportIntervalInSecs; if ((fSession->GetPlayFlags() & qtssPlayFlagsSendRTCP) && - (theTime > (fLastSenderReportTime + (kSenderReportIntervalInSecs * 1000)))) + (theTime > (fLastSenderReportTime + (senderReportInterval * 1000)))) { fLastSenderReportTime = theTime; // CISCO comments @@ -1113,7 +1326,6 @@ QTSS_Error RTPStream::Write(void* inBuffer, UInt32 inLen, UInt32* outLenWritten // SendRTCPSR must be called from a fSession mutex protected caller void RTPStream::SendRTCPSR(const SInt64& inTime, Bool16 inAppendBye) { - // // This will roll over, after which payloadByteCount will be all messed up. // But because it is a 32 bit number, that is bound to happen eventually, // and we are limited by the RTCP packet format in that respect, so this is @@ -1123,8 +1335,9 @@ void RTPStream::SendRTCPSR(const SInt64& inTime, Bool16 inAppendBye) RTCPSRPacket* theSR = fSession->GetSRPacket(); theSR->SetSSRC(fSsrc); theSR->SetClientSSRC(fClientSSRC); - theSR->SetNTPTimestamp(fSession->GetNTPPlayTime() + - OS::TimeMilli_To_Fixed64Secs(inTime - fSession->GetPlayTime())); + //fLastNTPTimeStamp = fSession->GetNTPPlayTime() + OS::TimeMilli_To_Fixed64Secs(inTime - fSession->GetPlayTime()); + fLastNTPTimeStamp = OS::TimeMilli_To_1900Fixed64Secs(OS::Milliseconds()); //The time value should be filled in as late as possible. + theSR->SetNTPTimestamp(fLastNTPTimeStamp); theSR->SetRTPTimestamp(fLastRTPTimestamp); theSR->SetPacketCount(fPacketCount); theSR->SetByteCount(payloadByteCount); @@ -1145,11 +1358,14 @@ void RTPStream::SendRTCPSR(const SInt64& inTime, Bool16 inAppendBye) } else { - err = fSockets->GetSocketB()->SendTo(fRemoteAddr, fRemoteRTCPPort, theSR->GetSRPacket(), thePacketLen); + void *ptr = theSR->GetSRPacket(); + err = fSockets->GetSocketB()->SendTo(fRemoteAddr, fRemoteRTCPPort, ptr, thePacketLen); + this->UDPMonitorWrite(ptr, thePacketLen, kIsRTCPPacket); } - + + if (err == QTSS_NoErr) - PrintPacketPrefEnabled((char *) theSR->GetSRPacket(), thePacketLen, (SInt32) RTPStream::rtcpSR); // if we are flow controlled this packet is not sent + this->PrintPacketPrefEnabled((char *) theSR->GetSRPacket(), thePacketLen, (SInt32) RTPStream::rtcpSR); // if we are flow controlled this packet is not sent } @@ -1165,11 +1381,166 @@ void RTPStream::ProcessIncomingInterleavedData(UInt8 inChannelNum, RTSPSessionIn this->ProcessIncomingRTCPPacket(inPacket); } + +Bool16 RTPStream::ProcessNADUPacket(RTCPPacket &rtcpPacket, SInt64 &curTime, StrPtrLen ¤tPtr, UInt32 highestSeqNum) +{ + RTCPNaduPacket naduPacket(false); + UInt8* packetBuffer = rtcpPacket.GetPacketBuffer(); + UInt32 packetLen = (rtcpPacket.GetPacketLength() * 4) + RTCPPacket::kRTCPHeaderSizeInBytes; + + this->PrintPacketPrefEnabled( (char*) packetBuffer, packetLen, RTPStream::rtcpAPP); + + if (!naduPacket.ParseAPPData((UInt8*)currentPtr.Ptr, currentPtr.Len)) + return false;//abort if we discover a malformed app packet + + fStream3GPP->AddNadu((UInt8*)currentPtr.Ptr, currentPtr.Len, highestSeqNum); + + if (RTCP_TESTING) // testing + { fStream3GPP->fNaduList.DumpList(); + } + + return true; +} + +Bool16 RTPStream::ProcessCompressedQTSSPacket(RTCPPacket &rtcpPacket, SInt64 &curTime, StrPtrLen ¤tPtr) +{ + RTCPCompressedQTSSPacket compressedQTSSPacket; + UInt8* packetBuffer = rtcpPacket.GetPacketBuffer(); + UInt32 packetLen = (rtcpPacket.GetPacketLength() * 4) + RTCPPacket::kRTCPHeaderSizeInBytes; + + this->PrintPacketPrefEnabled( (char*) packetBuffer, packetLen, RTPStream::rtcpAPP); + + if (!compressedQTSSPacket.ParseAPPData((UInt8*)currentPtr.Ptr, currentPtr.Len)) + return false;//abort if we discover a malformed app packet + + + fReceiverBitRate = compressedQTSSPacket.GetReceiverBitRate(); + fAvgLateMsec = compressedQTSSPacket.GetAverageLateMilliseconds(); + + fPercentPacketsLost = compressedQTSSPacket.GetPercentPacketsLost(); + fAvgBufDelayMsec = compressedQTSSPacket.GetAverageBufferDelayMilliseconds(); + fIsGettingBetter = (UInt16)compressedQTSSPacket.GetIsGettingBetter(); + fIsGettingWorse = (UInt16)compressedQTSSPacket.GetIsGettingWorse(); + fNumEyes = compressedQTSSPacket.GetNumEyes(); + fNumEyesActive = compressedQTSSPacket.GetNumEyesActive(); + fNumEyesPaused = compressedQTSSPacket.GetNumEyesPaused(); + fTotalPacketsRecv = compressedQTSSPacket.GetTotalPacketReceived(); + fTotalPacketsDropped = compressedQTSSPacket.GetTotalPacketsDropped(); + fTotalPacketsLost = compressedQTSSPacket.GetTotalPacketsLost(); + fClientBufferFill = compressedQTSSPacket.GetClientBufferFill(); + fFrameRate = compressedQTSSPacket.GetFrameRate(); + fExpectedFrameRate = compressedQTSSPacket.GetExpectedFrameRate(); + fAudioDryCount = compressedQTSSPacket.GetAudioDryCount(); + + + // Update our overbuffer window size to match what the client is telling us + if (fTransportType != qtssRTPTransportTypeUDP) + { + // qtss_printf("Setting over buffer to %d\n", compressedQTSSPacket.GetOverbufferWindowSize()); + fSession->GetOverbufferWindow()->SetWindowSize(compressedQTSSPacket.GetOverbufferWindowSize()); + } + +#ifdef DEBUG_RTCP_PACKETS + compressedQTSSPacket.Dump(); +#endif + + return true; + +} + + +Bool16 RTPStream::ProcessAckPacket(RTCPPacket &rtcpPacket, SInt64 &curTime) +{ + RTCPAckPacket theAckPacket; + UInt8* packetBuffer = rtcpPacket.GetPacketBuffer(); + UInt32 packetLen = (rtcpPacket.GetPacketLength() * 4) + RTCPPacket::kRTCPHeaderSizeInBytes; + + if (!theAckPacket.ParseAPPData(packetBuffer, packetLen)) + return false; + + if (NULL != fTracker && false == fTracker->ReadyForAckProcessing()) // this stream must be ready to receive acks. Between RTSP setup and sending of first packet on stream we must protect against a bad ack. + return false;//abort if we receive an ack when we haven't sent anything. + + + this->PrintPacketPrefEnabled( (char*)packetBuffer, packetLen, RTPStream::rtcpACK); + // Only check for ack packets if we are using Reliable UDP + if (fTransportType == qtssRTPTransportTypeReliableUDP) + { + UInt16 theSeqNum = theAckPacket.GetAckSeqNum(); + fResender.AckPacket(theSeqNum, curTime); + //qtss_printf("Got ack: %d\n",theSeqNum); + + for (UInt16 maskCount = 0; maskCount < theAckPacket.GetAckMaskSizeInBits(); maskCount++) + { + if (theAckPacket.IsNthBitEnabled(maskCount)) + { + fResender.AckPacket( theSeqNum + maskCount + 1, curTime); + //qtss_printf("Got ack in mask: %d\n",theSeqNum + maskCount + 1); + } + } + + } + + return true; + + + +} + +Bool16 RTPStream::TestRTCPPackets(StrPtrLen* inPacketPtr, UInt32 itemName) +{ + // Testing? + if (!RTCP_TESTING) + return false; + + + itemName = RTCPNaduPacket::kNaduPacketName; + + + qtss_printf("RTPStream::TestRTCPPackets received packet inPacketPtr.Ptr=%p inPacketPtr.len =%lu\n", inPacketPtr->Ptr, inPacketPtr->Len); + + switch (itemName) + { + + case RTCPAckPacket::kAckPacketName: + case RTCPAckPacket::kAckPacketAlternateName: + { + qtss_printf ("testing RTCPAckPacket"); + RTCPAckPacket::GetTestPacket(inPacketPtr); + } + break; + + case RTCPCompressedQTSSPacket::kCompressedQTSSPacketName: + { + qtss_printf ("testing RTCPCompressedQTSSPacket"); + RTCPCompressedQTSSPacket::GetTestPacket(inPacketPtr); + } + break; + + case RTCPNaduPacket::kNaduPacketName: + { + qtss_printf ("testing RTCPNaduPacket"); + RTCPNaduPacket::GetTestPacket(inPacketPtr); + } + break; + + }; + + qtss_printf(" using packet inPacketPtr.Ptr=%p inPacketPtr.len =%lu\n", inPacketPtr->Ptr, inPacketPtr->Len); + + return true; +} + + + + void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) { StrPtrLen currentPtr(*inPacket); SInt64 curTime = OS::Milliseconds(); - + Bool16 hasPacketLoss = false; + UInt32 highestSeqNum = 0; + Bool16 hasNADU = false; // Modules are guarenteed atomic access to the session. Also, the RTSP Session accessed // below could go away at any time. So we need to lock the RTP session mutex. @@ -1184,8 +1555,12 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) if (fSession->GetRTSPSession() != NULL) fSession->GetRTSPSession()->RefreshTimeout(); + this->TestRTCPPackets(¤tPtr, 0); + while ( currentPtr.Len > 0 ) { + DEBUG_RTCP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket start parse rtcp currentPtr.Len = %"_U32BITARG_"\n", currentPtr.Len)); + /* Due to the variable-type nature of RTCP packets, this is a bit unusual... We initially treat the packet as a generic RTCPPacket in order to determine its' @@ -1194,6 +1569,7 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) RTCPPacket rtcpPacket; if (!rtcpPacket.ParsePacket((UInt8*)currentPtr.Ptr, currentPtr.Len)) { fSession->GetSessionMutex()->Unlock(); + DEBUG_RTCP_PRINTF(("malformed rtcp packet\n")); return;//abort if we discover a malformed RTCP packet } // Increment our RTCP Packet and byte counters for the session. @@ -1204,9 +1580,9 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) switch (rtcpPacket.GetPacketType()) { case RTCPPacket::kReceiverPacketType: - { + { DEBUG_RTCP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket kReceiverPacketType\n")); RTCPReceiverPacket receiverPacket; - if (!receiverPacket.ParseReceiverReport((UInt8*)currentPtr.Ptr, currentPtr.Len)) + if (!receiverPacket.ParseReport((UInt8*)currentPtr.Ptr, currentPtr.Len)) { fSession->GetSessionMutex()->Unlock(); return;//abort if we discover a malformed receiver report } @@ -1235,6 +1611,7 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) fCurPacketsLostInRTCPInterval = curTotalLostPackets - fTotalLostPackets; // qtss_printf("fCurPacketsLostInRTCPInterval = %d\n", fCurPacketsLostInRTCPInterval); fTotalLostPackets = curTotalLostPackets; + hasPacketLoss = true; } else if(curTotalLostPackets == fTotalLostPackets) { @@ -1246,6 +1623,28 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) fPacketCountInRTCPInterval = fPacketCount - fLastPacketCount; fLastPacketCount = fPacketCount; } + + //Marks down the highest sequence number received and calculates the RTT from the DLSR and the LSR + if (receiverPacket.GetReportCount() > 0) + { + highestSeqNum = receiverPacket.GetHighestSeqNumReceived(0); + + UInt32 lsr = receiverPacket.GetLastSenderReportTime(0); + UInt32 dlsr = receiverPacket.GetLastSenderReportDelay(0); + + if (lsr != 0) + { + UInt32 diff = static_cast(OS::TimeMilli_To_1900Fixed64Secs(curTime) >> 16) - lsr - dlsr; + UInt32 measuredRTT = static_cast(OS::Fixed64Secs_To_TimeMilli(static_cast(diff) << 16)); + + if (measuredRTT < 60000) //make sure that the RTT is not some ridiculously large value + { + fEstRTT = fEstRTT == 0 ? measuredRTT : MIN(measuredRTT, fEstRTT); + fStream3GPP->SetRTT(fEstRTT, measuredRTT); + } + DEBUG_3GPP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket measuredRTT=%"_U32BITARG_", fEstRTT=%"_U32BITARG_"\n", measuredRTT, fEstRTT)); + } + } #ifdef DEBUG_RTCP_PACKETS receiverPacket.Dump(); @@ -1255,93 +1654,61 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) case RTCPPacket::kAPPPacketType: { - // - // Check and see if this is an Ack packet. If it is, update the UDP Resender - RTCPAckPacket theAckPacket; - UInt8* packetBuffer = rtcpPacket.GetPacketBuffer(); - UInt32 packetLen = (rtcpPacket.GetPacketLength() * 4) + RTCPPacket::kRTCPHeaderSizeInBytes; - - - if (theAckPacket.ParseAckPacket(packetBuffer, packetLen)) + DEBUG_RTCP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket kAPPPacketType\n")); + Bool16 packetOK = false; + RTCPAPPPacket theAPPPacket; + if (!theAPPPacket.ParseAPPPacket((UInt8*)currentPtr.Ptr, currentPtr.Len)) + { + fSession->GetSessionMutex()->Unlock(); + return;//abort if we discover a malformed receiver report + } + UInt32 itemName = theAPPPacket.GetAppPacketName(); + itemName = theAPPPacket.GetAppPacketName(); + switch (itemName) { - if (NULL != fTracker && false == fTracker->ReadyForAckProcessing()) // this stream must be ready to receive acks. Between RTSP setup and sending of first packet on stream we must protect against a bad ack. - { fSession->GetSessionMutex()->Unlock(); - return;//abort if we receive an ack when we haven't sent anything. - } - - this->PrintPacketPrefEnabled( (char*)packetBuffer, packetLen, RTPStream::rtcpACK); - // Only check for ack packets if we are using Reliable UDP - if (fTransportType == qtssRTPTransportTypeReliableUDP) + + case RTCPAckPacket::kAckPacketName: + case RTCPAckPacket::kAckPacketAlternateName: { - UInt16 theSeqNum = theAckPacket.GetAckSeqNum(); - fResender.AckPacket(theSeqNum, curTime); - //qtss_printf("Got ack: %d\n",theSeqNum); - - for (UInt16 maskCount = 0; maskCount < theAckPacket.GetAckMaskSizeInBits(); maskCount++) - { - if (theAckPacket.IsNthBitEnabled(maskCount)) - { - fResender.AckPacket( theSeqNum + maskCount + 1, curTime); - //qtss_printf("Got ack in mask: %d\n",theSeqNum + maskCount + 1); - } - } - - } - } - else - { - this->PrintPacketPrefEnabled( (char*) packetBuffer, packetLen, RTPStream::rtcpAPP); - // - // If it isn't an ACK, assume its the qtss APP packet - RTCPCompressedQTSSPacket compressedQTSSPacket; - if (!compressedQTSSPacket.ParseCompressedQTSSPacket((UInt8*)currentPtr.Ptr, currentPtr.Len)) - { fSession->GetSessionMutex()->Unlock(); - return;//abort if we discover a malformed app packet + packetOK = this->ProcessAckPacket(rtcpPacket, curTime); } + break; - fReceiverBitRate = compressedQTSSPacket.GetReceiverBitRate(); - fAvgLateMsec = compressedQTSSPacket.GetAverageLateMilliseconds(); - - fPercentPacketsLost = compressedQTSSPacket.GetPercentPacketsLost(); - fAvgBufDelayMsec = compressedQTSSPacket.GetAverageBufferDelayMilliseconds(); - fIsGettingBetter = (UInt16)compressedQTSSPacket.GetIsGettingBetter(); - fIsGettingWorse = (UInt16)compressedQTSSPacket.GetIsGettingWorse(); - fNumEyes = compressedQTSSPacket.GetNumEyes(); - fNumEyesActive = compressedQTSSPacket.GetNumEyesActive(); - fNumEyesPaused = compressedQTSSPacket.GetNumEyesPaused(); - fTotalPacketsRecv = compressedQTSSPacket.GetTotalPacketReceived(); - fTotalPacketsDropped = compressedQTSSPacket.GetTotalPacketsDropped(); - fTotalPacketsLost = compressedQTSSPacket.GetTotalPacketsLost(); - fClientBufferFill = compressedQTSSPacket.GetClientBufferFill(); - fFrameRate = compressedQTSSPacket.GetFrameRate(); - fExpectedFrameRate = compressedQTSSPacket.GetExpectedFrameRate(); - fAudioDryCount = compressedQTSSPacket.GetAudioDryCount(); - -// if (fPercentPacketsLost == 0) -// { -// qtss_printf("***\n"); -// fCurPacketsLostInRTCPInterval = 0; -// } - // - // Update our overbuffer window size to match what the client is telling us - if (fTransportType != qtssRTPTransportTypeUDP) + case RTCPCompressedQTSSPacket::kCompressedQTSSPacketName: { -// qtss_printf("Setting over buffer to %d\n", compressedQTSSPacket.GetOverbufferWindowSize()); - fSession->GetOverbufferWindow()->SetWindowSize(compressedQTSSPacket.GetOverbufferWindowSize()); + packetOK = this->ProcessCompressedQTSSPacket(rtcpPacket, curTime, currentPtr); } + break; -#ifdef DEBUG_RTCP_PACKETS - compressedQTSSPacket.Dump(); -#endif + case RTCPNaduPacket::kNaduPacketName: + { + packetOK = this->ProcessNADUPacket(rtcpPacket, curTime, currentPtr, highestSeqNum); + hasNADU = true; + } + break; + + default: + { + + } + break; + } + + if (!packetOK) + { + fSession->GetSessionMutex()->Unlock(); + return;//abort if we discover a malformed receiver report } + } break; case RTCPPacket::kSDESPacketType: { + DEBUG_RTCP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket kSDESPacketType\n")); #ifdef DEBUG_RTCP_PACKETS - SourceDescriptionPacket sedsPacket; - if (!sedsPacket.ParsePacket((UInt8*)currentPtr.Ptr, currentPtr.Len)) + SourceDescriptionPacket sdesPacket; + if (!sdesPacket.ParsePacket((UInt8*)currentPtr.Ptr, currentPtr.Len)) { fSession->GetSessionMutex()->Unlock(); return;//abort if we discover a malformed app packet } @@ -1351,7 +1718,8 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) } break; - //default: + default: + DEBUG_RTCP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket Unknown Packet Type\n")); // WarnV(false, "Unknown RTCP Packet Type"); break; @@ -1360,8 +1728,22 @@ void RTPStream::ProcessIncomingRTCPPacket(StrPtrLen* inPacket) currentPtr.Ptr += (rtcpPacket.GetPacketLength() * 4 ) + 4; currentPtr.Len -= (rtcpPacket.GetPacketLength() * 4 ) + 4; + + DEBUG_RTCP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket end parse rtcp currentPtr.Len = %"_U32BITARG_"\n", currentPtr.Len)); + } + + Float32 packetLostPercent = ((Float32) fCurPacketsLostInRTCPInterval / (Float32) fPacketCountInRTCPInterval); + if (hasPacketLoss) + { + DEBUG_3GPP_PRINTF(("RTPStream::ProcessIncomingRTCPPacket fCurPacketsLostInRTCPInterval=%"_U32BITARG_" packetLostPercent=%.0f%%\n", + fCurPacketsLostInRTCPInterval,packetLostPercent * 100)); + fStream3GPP->SetPacketLoss(packetLostPercent); + } + if( hasNADU && fStream3GPP->RateAdaptationEnabled() ) + fStream3GPP->UpdateTimeAndQuality(curTime); + // Invoke the RTCP modules, allowing them to process this packet QTSS_RoleParams theParams; theParams.rtcpProcessParams.inRTPStream = this; @@ -1425,7 +1807,7 @@ void RTPStream::PrintRTP(char* packetBuff, UInt32 inLen) qtss_printf("?"); - qtss_printf(" H_ssrc=%ld H_seq=%u H_ts=%lu seq_count=%lu ts_secs=%.3f \n", ssrc, sequence, timestamp, fPacketCount +1, rtpTimeInSecs ); + qtss_printf(" H_ssrc=%"_S32BITARG_" H_seq=%u H_ts=%"_U32BITARG_" seq_count=%"_U32BITARG_" ts_secs=%.3f \n", ssrc, sequence, timestamp, fPacketCount +1, rtpTimeInSecs ); } @@ -1467,14 +1849,14 @@ void RTPStream::PrintRTCPSenderReport(char* packetBuff, UInt32 inLen) else qtss_printf("?"); - qtss_printf(" H_ssrc=%lu H_bytes=%lu H_ts=%lu H_pckts=%lu ts_secs=%.3f H_ntp=%s", ssrc,bytecount, timestamp, packetcount, theTimeInSecs, ::qtss_ctime( &theTime,timebuffer,sizeof(timebuffer)) ); + qtss_printf(" H_ssrc=%"_U32BITARG_" H_bytes=%"_U32BITARG_" H_ts=%"_U32BITARG_" H_pckts=%"_U32BITARG_" ts_secs=%.3f H_ntp=%s\n", + ssrc,bytecount, timestamp, packetcount, theTimeInSecs, ::qtss_ctime( &theTime,timebuffer,sizeof(timebuffer))); } void RTPStream::PrintPacket(char *inBuffer, UInt32 inLen, SInt32 inType) { static char* rr="RR"; static char* ack="ACK"; - static char* app="APP"; static char* sTypeAudio=" type=audio"; static char* sTypeVideo=" type=video"; static char* sUnknownTypeStr = "?"; @@ -1490,7 +1872,8 @@ void RTPStream::PrintPacket(char *inBuffer, UInt32 inLen, SInt32 inType) case RTPStream::rtp: if (QTSServerInterface::GetServer()->GetPrefs()->PrintRTPHeaders()) { - qtss_printf("fSession->GetUniqueID(), this->GetStreamTypeStr(), this->GetStreamStartTimeSecs(), theType, inLen); + qtss_printf("\n"); + qtss_printf("fSession->GetUniqueID(), this->GetStreamTypeStr(), this->GetStreamStartTimeSecs(), theType, inLen); PrintRTP(inBuffer, inLen); } break; @@ -1498,7 +1881,8 @@ void RTPStream::PrintPacket(char *inBuffer, UInt32 inLen, SInt32 inType) case RTPStream::rtcpSR: if (QTSServerInterface::GetServer()->GetPrefs()->PrintSRHeaders()) { - qtss_printf("fSession->GetUniqueID(), this->GetStreamTypeStr(), this->GetStreamStartTimeSecs(), theType, inLen); + qtss_printf("\n"); + qtss_printf("fSession->GetUniqueID(), this->GetStreamTypeStr(), this->GetStreamStartTimeSecs(), theType, inLen); PrintRTCPSenderReport(inBuffer, inLen); } break; @@ -1507,9 +1891,10 @@ void RTPStream::PrintPacket(char *inBuffer, UInt32 inLen, SInt32 inType) if (QTSServerInterface::GetServer()->GetPrefs()->PrintRRHeaders()) { RTCPReceiverPacket rtcpRR; - if (rtcpRR.ParseReceiverReport( (UInt8*) inBuffer, inLen)) + if (rtcpRR.ParseReport( (UInt8*) inBuffer, inLen)) { - qtss_printf(">recv sess=%lu: RTCP %s recv_sec=%.3f %s size=%lu ",this->fSession->GetUniqueID(), rr, this->GetStreamStartTimeSecs(), theType, inLen); + qtss_printf("\n"); + qtss_printf(">recv sess=%"_U32BITARG_": RTCP %s recv_sec=%.3f %s size=%"_U32BITARG_" ",this->fSession->GetUniqueID(), rr, this->GetStreamStartTimeSecs(), theType, inLen); rtcpRR.Dump(); } } @@ -1519,12 +1904,43 @@ void RTPStream::PrintPacket(char *inBuffer, UInt32 inLen, SInt32 inType) if (QTSServerInterface::GetServer()->GetPrefs()->PrintAPPHeaders()) { Bool16 debug = true; - RTCPCompressedQTSSPacket compressedQTSSPacket(debug); - if (compressedQTSSPacket.ParseCompressedQTSSPacket((UInt8*)inBuffer, inLen)) + + RTCPAPPPacket appPacket; + if (!appPacket.ParseAPPPacket((UInt8*)inBuffer, inLen)) + break; + + UInt32 itemName = appPacket.GetAppPacketName(); + + if (RTCPCompressedQTSSPacket::kCompressedQTSSPacketName == itemName) { - qtss_printf(">recv sess=%lu: RTCP %s recv_sec=%.3f %s size=%lu ",this->fSession->GetUniqueID(), app, this->GetStreamStartTimeSecs(), theType, inLen); - compressedQTSSPacket.Dump(); + qtss_printf(">recv sess=%"_U32BITARG_": RTCP APP QTSS recv_sec=%.3f %s size=%"_U32BITARG_" ",this->fSession->GetUniqueID(), this->GetStreamStartTimeSecs(), theType, inLen); + RTCPCompressedQTSSPacket compressedQTSSPacket(debug); + if (compressedQTSSPacket.ParseAPPData((UInt8*)inBuffer, inLen)) + { + compressedQTSSPacket.Dump(); + } + break; } + + if (RTCPNaduPacket::kNaduPacketName == itemName) + { + qtss_printf(">recv sess=%"_U32BITARG_": RTCP APP NADU recv_sec=%.3f %s size=%"_U32BITARG_" ",this->fSession->GetUniqueID(), this->GetStreamStartTimeSecs(), theType, inLen); + RTCPNaduPacket naduPacket(debug); + if (naduPacket.ParseAPPData((UInt8*)inBuffer, inLen)) + { + naduPacket.Dump(); + + } + + break; + } + + //unknown app packet + qtss_printf(">recv sess=%"_U32BITARG_": RTCP APP %c%c%c%c recv_sec=%.3f %s size=%"_U32BITARG_" ", this->fSession->GetUniqueID(), ((UInt8*) &itemName)[0],(char) ((UInt8*) &itemName)[1],(char) ((UInt8*) &itemName)[2],(char) ((UInt8*) &itemName)[3], this->GetStreamStartTimeSecs(), theType, inLen); + qtss_printf("unknown APP packet: "); + appPacket.Dump(); + + } break; @@ -1532,9 +1948,9 @@ void RTPStream::PrintPacket(char *inBuffer, UInt32 inLen, SInt32 inType) if (QTSServerInterface::GetServer()->GetPrefs()->PrintACKHeaders()) { RTCPAckPacket rtcpAck; - if (rtcpAck.ParseAckPacket((UInt8*)inBuffer,inLen)) + if (rtcpAck.ParseAPPData((UInt8*)inBuffer,inLen)) { - qtss_printf(">recv sess=%lu: RTCP %s recv_sec=%.3f %s size=%lu ",this->fSession->GetUniqueID(), ack, this->GetStreamStartTimeSecs(), theType, inLen); + qtss_printf(">recv sess=%"_U32BITARG_": RTCP %s recv_sec=%.3f %s size=%"_U32BITARG_" ",this->fSession->GetUniqueID(), ack, this->GetStreamStartTimeSecs(), theType, inLen); rtcpAck.Dump(); } } diff --git a/Server.tproj/RTPStream.h b/Server.tproj/RTPStream.h index 7341854..ce2397a 100644 --- a/Server.tproj/RTPStream.h +++ b/Server.tproj/RTPStream.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -53,6 +53,19 @@ #include "RTPPacketResender.h" #include "QTSServerInterface.h" +#include "RTPStream3gpp.h" + +#include "RTCPPacket.h" + +#include "RTSPRequest3gpp.h" + +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif /* MIN */ +#ifndef MAX +#define MAX(a,b) (((a)>(b))?(a):(b)) +#endif /* MAX */ + class RTPStream : public QTSSDictionary, public UDPDemuxerTask { public: @@ -76,7 +89,9 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask QTSS_RTPTransportType GetTransportType() { return fTransportType; } UInt32 GetStalePacketsDropped() { return fStalePacketsDropped; } UInt32 GetTotalPacketsRecv() { return fTotalPacketsRecv; } - + UInt32 GetSDPStreamID() { return fTrackID; } //streamID is trackID + RTPSessionInterface &GetSession() { return *fSession; } + // Setup uses the info in the RTSPRequestInterface to associate // all the necessary resources, ports, sockets, etc, etc, with this // stream. @@ -112,6 +127,15 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask //to process the packet right now! void ProcessIncomingRTCPPacket(StrPtrLen* inPacket); + //Process the incoming ack RTCP packet + Bool16 ProcessAckPacket(RTCPPacket &rtcpPacket, SInt64 &curTime); + + //Process the incoming qtss app RTCP packet + Bool16 ProcessCompressedQTSSPacket(RTCPPacket &rtcpPacket, SInt64 &curTime, StrPtrLen ¤tPtr); + + Bool16 ProcessNADUPacket(RTCPPacket &rtcpPacket, SInt64 &curTime, StrPtrLen ¤tPtr, UInt32 highestSeqNum); + + // Send a RTCP SR on this stream. Pass in true if this SR should also have a BYE void SendRTCPSR(const SInt64& inTime, Bool16 inAppendBye = false); @@ -134,6 +158,33 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask void EnableSSRC() { fEnableSSRC = true; } void DisableSSRC() { fEnableSSRC = false; } + void SetRateAdaptData(RateAdapationStreamDataFields *rateAdaptStreamData); + void SetBitRateData(UInt32 movieBitRate) { fStream3GPP->SetBitRateData(movieBitRate); } + + //Tells the stream that it has been paused; the next Write will restart the stream. + void Pause() { fStream3GPP->Pause(); } + + void SetMinQuality() { SetQualityLevel(fNumQualityLevels); } + void SetMaxQuality() { SetQualityLevel(kMaxQualityLevel); } + SInt32 GetQualityLevel(); + void SetQualityLevel(SInt32 level); + void HalveQualityLevel() + { + UInt32 minLevel = fNumQualityLevels - 1; + SetQualityLevel(minLevel - (minLevel - GetQualityLevel()) / 2); + } + void SetMaxQualityLevelLimit(SInt32 newMaxLimit) //Changes what is the best quality level possible + { + SInt32 minLevel = MAX(0, (SInt32) fNumQualityLevels - 2); //do not drop down to key frames + fMaxQualityLevel = MAX(MIN(minLevel, newMaxLimit), 0); + SetQualityLevel(GetQualityLevel()); + } + + SInt32 GetMaxQualityLevelLimit() { return fMaxQualityLevel; } + + UInt32 GetNumQualityLevels() { return fNumQualityLevels; } + QTSS_RTPPayloadType GetPayLoadType() { return fPayloadType; } + private: enum @@ -142,7 +193,11 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask kMaxStreamURLSizeInBytes = 32, kDefaultPayloadBufSize = 32, kSenderReportIntervalInSecs = 7, + kSenderReportInterval3GPPInSecs = 1, kNumPrebuiltChNums = 10, + kMaxQualityLevel = 0, + kIsRTCPPacket = TRUE, + kIsRTPPacket = FALSE }; SInt64 fLastQualityChange; @@ -169,7 +224,10 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask UInt16 fRemoteRTPPort; UInt16 fRemoteRTCPPort; UInt16 fLocalRTPPort; - + UInt32 fMonitorAddr; + int fMonitorSocket; + UInt32 fPlayerToMonitorAddr; + //RTCP stuff SInt64 fLastSenderReportTime; UInt32 fPacketCount; @@ -205,6 +263,8 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask UInt32 fNumQualityLevels; UInt32 fLastRTPTimestamp; + SInt64 fLastNTPTimeStamp; + UInt32 fEstRTT; //The estimated RTT calculated from RTCP's DLSR and LSR fields // RTCP data UInt32 fFractionLostPackets; @@ -283,12 +343,29 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask QTSS_RTPNetworkMode fNetworkMode; SInt64 fStreamStartTimeOSms; + + RTPStream3GPP* fStream3GPP; + + SInt32 fLastQualityLevel; + SInt32 fLastRateLevel; + + Bool16 fDisableThinning; + SInt64 fLastQualityUpdate; + UInt32 fDefaultQualityLevel; + SInt32 fMaxQualityLevel; + Bool16 fInitialMaxQualityLevelIsSet; + Bool16 fUDPMonitorEnabled; + UInt16 fMonitorVideoDestPort; + UInt16 fMonitorAudioDestPort; + + //----------------------------------------------------------- // acutally write the data out that way QTSS_Error InterleavedWrite(void* inBuffer, UInt32 inLen, UInt32* outLenWritten, unsigned char channel ); // implements the ReliableRTP protocol QTSS_Error ReliableRTPWrite(void* inBuffer, UInt32 inLen, const SInt64& curPacketDelay); + void SetTCPThinningParams(); QTSS_Error TCPWrite(void* inBuffer, UInt32 inLen, UInt32* outLenWritten, UInt32 inFlags); @@ -304,8 +381,10 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask Bool16 UpdateQualityLevel(const SInt64& inTransmitTime, const SInt64& inCurrentPacketDelay, const SInt64& inCurrentTime, UInt32 inPacketSize); - SInt32 GetQualityLevel(); - void SetQualityLevel(SInt32 level); + void DisableThinning() { fDisableThinning = true; } + void Update3GPPQualityLevels(QTSS_PacketStruct* thePacket, SInt64 theTime); + Bool16 Supports3GPPQualityLevels(); + void SetInitialMaxQualityLevel(); char *GetStreamTypeStr(); enum { rtp = 0, rtcpSR = 1, rtcpRR = 2, rtcpACK = 3, rtcpAPP = 4 }; @@ -316,6 +395,11 @@ class RTPStream : public QTSSDictionary, public UDPDemuxerTask inline void PrintPacketPrefEnabled(char *inBuffer,UInt32 inLen, SInt32 inType) { if (QTSServerInterface::GetServer()->GetPrefs()->PacketHeaderPrintfsEnabled() ) this->PrintPacket(inBuffer,inLen, inType); } void SetOverBufferState(RTSPRequestInterface* request); + + Bool16 TestRTCPPackets(StrPtrLen* inPacketPtr, UInt32 itemName); + + void UDPMonitorWrite(void* thePacketData, UInt32 inLen, Bool16 isRTCP); + }; diff --git a/Server.tproj/RTPStream3gpp.cpp b/Server.tproj/RTPStream3gpp.cpp new file mode 100644 index 0000000..26bd023 --- /dev/null +++ b/Server.tproj/RTPStream3gpp.cpp @@ -0,0 +1,549 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTPStream3gpp.cpp + + Contains: Implementation of RTPStream3gpp class. +*/ + +#include +#include "SafeStdLib.h" +#include "OS.h" +#include "RTPStream.h" +#include "RTPStream3gpp.h" +#include "RTPSessionInterface.h" +#include "RTSPRequest3gpp.h" +#include "RTCPAPPNADUPacket.h" + +#if DEBUG + #define RTP_STREAM_3GPP_DEBUG 1 +#else + #define RTP_STREAM_3GPP_DEBUG 0 +#endif + +#if RTP_STREAM_3GPP_DEBUG + #define DEBUG_PRINTF(s) qtss_printf s +#else + #define DEBUG_PRINTF(s) if (GetDebugPrintfs()) qtss_printf s +#endif + +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif /* MIN */ +#ifndef MAX +#define MAX(a,b) (((a)>(b))?(a):(b)) +#endif /* MAX */ + +QTSSAttrInfoDict::AttrInfo RTPStream3GPP::sAttributes[] = +{ /*fields: fAttrName, fFuncPtr, fAttrDataType, fAttrPermission */ + /* 0 */ { "qtss3GPPStreamEnabled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 1 */ { "qtss3GPPStreamRateAdaptBufferBytes", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 2 */ { "qtss3GPPStreamRateAdaptTimeMilli", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe } + +}; + + +void RTPStream3GPP::Initialize() +{ + for (int x = 0; x < qtss3GPPStreamNumParams; x++) + QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPStreamDictIndex)-> + SetAttribute(x, sAttributes[x].fAttrName, sAttributes[x].fFuncPtr, + sAttributes[x].fAttrDataType, sAttributes[x].fAttrPermission); +} + + +RTPStream3GPP::RTPStream3GPP(RTPStream &owner, Bool16 enabled) +: QTSSDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPStreamDictIndex), NULL), + fRTPStream(owner), + fEnabled (enabled), + fHasRateAdaptData(false), + fBufferSize(0), + fTargetBufferingDelay(0), + fMovieBitRate(0), + fStartDoingAdaptation(false), + fNumRTCPWithoutPacketLoss(kUInt32_Max / 4), + fNumLargeRTT(0), + fNumSmallRTT(0), + fCurRTT(0), + fLastReportedFreeBufferSpace(0), + fLastReportedBufferingDelay(0), + fLastLocalTime(0), + fPlayTimeOffset(0), + fAdjustSize(kNoChange), + fAdjustTime(kNoChange), + fLastSeqNum(0), + fDebugPrintfs(QTSServerInterface::GetServer()->GetPrefs()->Get3GPPDebugPrintfs()) +{ + this->SetVal(qtss3GPPStreamEnabled, &fEnabled, sizeof(fEnabled)); + this->SetVal(qtss3GPPStreamRateAdaptBufferBytes, &fBufferSize, sizeof(fBufferSize)); + this->SetVal(qtss3GPPStreamRateAdaptTimeMilli, &fTargetBufferingDelay, sizeof(fTargetBufferingDelay)); + fNaduList.Initialize(kNaduListSize); +} + +void RTPStream3GPP::AddNadu(UInt8* inPacketBuffer, UInt32 inPacketLength, UInt32 highestSeqNum) +{ + if (!RateAdaptationEnabled()) + return; + + UInt32 id; + fNaduList.AddReport(inPacketBuffer, inPacketLength, &id); + fLastReportedFreeBufferSpace = fNaduList.LastReportedFreeBuffSizeBytes(); + UInt32 lastReportedPlayoutDelay = fNaduList.LastReportedTimeDelayMilli(); + + //Overwrites the high 16 bits of the highest sequence number with what we think it should be since some clients report the wrong high 16 bits. + if (highestSeqNum != 0) + highestSeqNum = ExtendSeqNum(static_cast(highestSeqNum), fLastSeqNum); + + UInt32 nextSeqNum = ExtendSeqNum(fNaduList.GetLastReportedNSN(), highestSeqNum); //Extend the sequence number based on the highest sequence number + + if (nextSeqNum <= highestSeqNum) + { + SInt64 nextPacketTime = 0; + SInt64 highestPacketTime = 0; + + //Go through the list of sequence numbers to time mapping and find the two sequence numbers, and kick off all the sequence numbers + //less than next sequence number since they are not needed anymore. + for(UInt32 i = 0; i < fSeqNumTimeMapping.size();) + { + if (fSeqNumTimeMapping[i].fSeqNum < nextSeqNum) + fSeqNumTimeMapping.swap_erase(i); + else + { + if (fSeqNumTimeMapping[i].fSeqNum == nextSeqNum) + nextPacketTime = fSeqNumTimeMapping[i].fTime; + if (fSeqNumTimeMapping[i].fSeqNum == highestSeqNum) + highestPacketTime = fSeqNumTimeMapping[i].fTime; + ++i; + // not sure about this but it means if highestSeqNum is the same as nextSeqNum, maybe they are both 0 as in nothing to report. + if (nextPacketTime != 0 && highestPacketTime != 0) + break; + } + } + + if (nextPacketTime == 0 || highestPacketTime == 0) + fLastReportedBufferingDelay = kUInt32_Max; + else + fLastReportedBufferingDelay = static_cast(highestPacketTime - nextPacketTime); + } + else if (nextSeqNum == highestSeqNum + 1) //The client buffer is empty! + { + fLastReportedBufferingDelay = 0; + } + else //error! + fLastReportedBufferingDelay = kUInt32_Max; + + //Add the playout delay to the buffering delay + if (fLastReportedBufferingDelay == kUInt32_Max) + { + if (highestSeqNum != 0) + DEBUG_PRINTF(( + "RTPStream3GPP::AddNadu sequence number error: seq=%hu, nextSeqNum=%"_U32BITARG_", highestSeqNum=%"_U32BITARG_"\n", + fNaduList.GetLastReportedNSN(), nextSeqNum, highestSeqNum)); + } + else if (lastReportedPlayoutDelay != RTCPNaduPacket::kReservedPlayoutDelayValue) //Is the playout delay available? + fLastReportedBufferingDelay += lastReportedPlayoutDelay; + +} + +void RTPStream3GPP::SetRTT(UInt32 minRTT, UInt32 curRTT) +{ + int scaleFactor = 10; + curRTT /= scaleFactor; + DEBUG_PRINTF(( "RTPStream3GPP::SetRTT curRTT ==%"_U32BITARG_" scaling by %d\n", curRTT,scaleFactor)); + + double ratio = curRTT / static_cast(minRTT); + if (ratio < 1.6) + { + fNumSmallRTT++; + fNumLargeRTT = MIN(0, fNumLargeRTT); + } + else if (ratio >= 4.0) + { + fNumLargeRTT++; + fNumSmallRTT = MIN(0, fNumSmallRTT); + } + else + { + fNumLargeRTT = MIN(0, fNumLargeRTT); + fNumSmallRTT = MIN(0, fNumSmallRTT); + } + fCurRTT = curRTT; +} + +//Does nothing if we are not doing 3GPP-rate-adaptation. +void RTPStream3GPP::AddSeqNumTimeMapping(UInt16 theSeqNum, SInt64 timeStamp) +{ + if (!RateAdaptationEnabled()) + return; + + //We need to extend the sequence number to 32 bits + fLastSeqNum = (fLastSeqNum == 0) ? theSeqNum : ExtendSeqNum(theSeqNum, fLastSeqNum); + fSeqNumTimeMapping.push_back(SeqNumTimePair(fLastSeqNum, timeStamp)); +} + +//Extends seqNum to full 32 bits by picking the highest 16 bits such that the sequence number is closest to the reference. +UInt32 RTPStream3GPP::ExtendSeqNum(UInt16 seqNum, UInt32 refSeqNum) +{ + //the highest 16 bits is either 1 less, 1 more, or the same as the highest sequence number. + UInt32 highBits = refSeqNum >> 16; + UInt32 seqNum32 = seqNum | (highBits << 16); + UInt32 diff = MIN(seqNum32 - refSeqNum, refSeqNum - seqNum32); + + UInt32 nextSeqNum = seqNum | ((highBits + 1) << 16); + if (nextSeqNum - refSeqNum < diff) + { + diff = nextSeqNum - refSeqNum; + seqNum32 = nextSeqNum; + } + + nextSeqNum = seqNum | ((highBits - 1) << 16); + if (refSeqNum - nextSeqNum < diff) + seqNum32 = nextSeqNum; + + return seqNum32; +} + +void RTPStream3GPP::UpdateTimeAndQuality(SInt64 curTime) +{ + fAdjustTime = kNoChange; + fAdjustSize = kNoChange; + + if (!RateAdaptationEnabled()) + return; + + + Bool16 limitTargetDelay = true; + UInt32 maxTargetDelayMilli = 5000; + + UInt32 adjustedFreeBuffer = fLastReportedFreeBufferSpace; + UInt32 adjustTargetDelay = fTargetBufferingDelay; + + if (limitTargetDelay) + { + if (adjustTargetDelay > maxTargetDelayMilli) //make this constant a pref + adjustTargetDelay = maxTargetDelayMilli; + } + + if (fBufferSize > RTCPNaduPacket::kMaximumReportableFreeBufferSpace) + fBufferSize = RTCPNaduPacket::kMaximumReportableFreeBufferSpace; + + UInt32 maxUsableBufferSizeBytes = fBufferSize; + UInt32 extraBufferMultipleInSeconds = 2; // use up to 3 times the requested target delay in bytes + UInt32 maxUsableDelaySecs = extraBufferMultipleInSeconds * (adjustTargetDelay/1000); + + UInt32 movieByteRate = fMovieBitRate >> 3; // bits to bytes + UInt32 bufferUsage = fBufferSize - fLastReportedFreeBufferSpace; + UInt32 bufferDelay = fLastReportedBufferingDelay; + + if (bufferUsage > fBufferSize) //there is more reported free buffer than the maximum -- not good for our ratios but a good situation at the client i.e. no buffer overrun here. + { + bufferUsage = fBufferSize / 2; // Have to pick something so use 50%. + } + + DEBUG_PRINTF(("reported buffer size = %"_U32BITARG_" reported Free Buffer=%"_U32BITARG_" current calculated bufferUsage= %"_U32BITARG_"\n", fBufferSize, fLastReportedFreeBufferSpace,bufferUsage)); + DEBUG_PRINTF(("Avg Movie BitRate = %lu original target delay=%lu adjusted TargetDelay =%ld \n",fMovieBitRate,fTargetBufferingDelay, adjustTargetDelay)); + + if (qtssVideoPayloadType == fRTPStream.GetPayLoadType() && fMovieBitRate > 0 && adjustTargetDelay > 0) //limit how much we use + { + + maxUsableBufferSizeBytes = maxUsableDelaySecs * movieByteRate; //buffer time * bit rate for movie is bigger than any single stream buffer + + if (maxUsableBufferSizeBytes > fBufferSize) // reported size is smaller than our buffer target + { maxUsableBufferSizeBytes = fBufferSize; + if (maxUsableBufferSizeBytes < movieByteRate) //hope for the best + maxUsableBufferSizeBytes = movieByteRate; + UInt32 newTargetDelay = (maxUsableBufferSizeBytes / movieByteRate) * 1000; + if (newTargetDelay < adjustTargetDelay) + adjustTargetDelay = newTargetDelay; + } + + if (adjustedFreeBuffer > maxUsableBufferSizeBytes) + adjustedFreeBuffer = maxUsableBufferSizeBytes ; + + UInt32 freeBytes = fBufferSize - bufferUsage; + if (freeBytes > fBufferSize) + bufferUsage = maxUsableBufferSizeBytes / 2; + + DEBUG_PRINTF(("ADJUSTING buffer usage and target delay: maxUsableBufferSizeBytes =%lu adjustedFreeBuffer=%lu bufferUsage=%lu adjusted TargetDelay=%lu\n",maxUsableBufferSizeBytes, adjustedFreeBuffer, bufferUsage, adjustTargetDelay)); + } + + + DEBUG_PRINTF(("Calculated maxUsableBufferSize =%"_U32BITARG_" reported fBufferSize=%"_U32BITARG_" reported buffer delay=%"_U32BITARG_" current calculated bufferUsage= %"_U32BITARG_"\n", maxUsableBufferSizeBytes, fBufferSize,bufferDelay, bufferUsage)); + + + + //bufferDelay should really be the network delay because if buffer delay were really large that would be ok + // it is supposed to be -1 if not supported or a real value. Some clients send 0 incorrectly. + //if buffer delay is small that should mean the buffer is empty and a under-run failure occurred. + if (bufferDelay == 0) + bufferDelay = kUInt32_Max; + + + double bufferUsageRatio = static_cast(bufferUsage) / maxUsableBufferSizeBytes; + double bufferDelayRatio = static_cast(bufferDelay) / adjustTargetDelay; + DEBUG_PRINTF(("bufferUsageRatio =%f bufferDelayRatio=%f\n", bufferUsageRatio, bufferDelayRatio)); + + if(!fStartDoingAdaptation) + { + //This is used to prevent QTSS from thinning in the beginning of the stream, when the buffering delay and usage are expected to be low + //Rate adaptation will start when EITHER of the two low watermarks for thinning have passed, OR the media has been playing for the target buffering delay. + //The ideal situation for the current code is 2x or more buffer size to target time. So target time converted to bytes should be 50% or less the buffer size to avoid overrun + + //this one is agressive and works well with Nokia when all is good and there is extra bandwidth so it makes a good network look good + if (bufferUsageRatio >= 0.7) //start active rate adapt when client is 70% full + fStartDoingAdaptation = true; + else if (curTime - fRTPStream.GetSession().GetFirstPlayTime() >= 15000) // but don't wait longer than 15 seconds + fStartDoingAdaptation = true; + else //neither criteria was met. //speed up while waiting for the buffer to fill. + { fAdjustTime = kAdjustUpUp; + } + + if (fStartDoingAdaptation) + { fNumLargeRTT = 0; + fNumSmallRTT = -3; //Delay the first rate increase + } + } + + if (fStartDoingAdaptation) + { + SInt32 currentQualityLevel = fRTPStream.GetQualityLevel(); + + // new code works good for Nokia N93 on wifi and ok for slow links (needs some more comparison testing against non rate adapt code and against build 520 or earlier) + + if (bufferDelay != kUInt32_Max) //not supported + { + DEBUG_PRINTF(("rate adapt is using delay ratio and buffer size\n")); + //The buffering delay information is available. + + //should I speed up or slow down? A Delay Ratio of 100% is a target not a minimum and not a maximum. + if (bufferDelayRatio < 2.0) //allow up to 200% + fAdjustTime = kAdjustUp; + else + fAdjustTime = kAdjustDown; + + if (bufferUsageRatio >= 0.7) //if you are in danger of buffer-overflowing because the buffer size is too small for the movie, also slow + fAdjustTime = kAdjustDownDown; + else if (bufferUsageRatio < 0.5 && bufferDelayRatio > 2.5) // stop pushing. + fAdjustTime = kAdjustDownDown; + else if (bufferUsageRatio < 0.5 && bufferDelayRatio > 2.0) // stop pushing. + fAdjustTime = kAdjustDown; + else if (bufferUsageRatio < 0.5 && bufferDelayRatio > 0.5) // try to push up hard. + fAdjustTime = kAdjustUpUp; + //should I thin or thicken? + + if (bufferUsageRatio < 0.2 && bufferDelayRatio > 2.5) // avoid underflow since the bandwidth is low. + { fAdjustSize = kAdjustDown; + DEBUG_PRINTF(("fAdjustSize=kAdjustDown 1\n")); + } + else if (bufferUsageRatio <= 0.1 ) //try thickening + { fAdjustSize = kAdjustUp; + DEBUG_PRINTF(("fAdjustSize=kAdjustUp 1\n")); + } + else if (bufferUsageRatio <= 0.3 && bufferDelayRatio < 1.0) //still in danger of underflow + { fAdjustSize = kAdjustDown; + DEBUG_PRINTF(("fAdjustSize=kAdjustDown 2\n")); + } + else if (bufferUsageRatio < 0.7 ) //no longer in danger of underflow; ok to thick + { fAdjustSize = kAdjustUp; + DEBUG_PRINTF(("fAdjustSize=kAdjustUp 2\n")); + } + else + fAdjustSize = kNoChange; + } + else + { + DEBUG_PRINTF(("rate adapt is using only buffer size\n")); + + //The buffering delay is not available; we make thin/slow decisions based on just the buffer usage alone + if (bufferUsageRatio > 0.9) //need to slow and thin to avoid overflow + { + fAdjustSize = kAdjustDown; + fAdjustTime = kAdjustDown; + } + if (bufferUsageRatio > 0.8) //need to slow and thin to avoid overflow + { + fAdjustSize = kNoChange; + fAdjustTime = kAdjustDown; + } + else if (bufferUsageRatio > 0.7) //need to slow and thin to avoid overflow + { + fAdjustSize = kAdjustUp; + fAdjustTime = kAdjustDown; + } + else if (bufferUsageRatio >= 0.5) //OK to start thickening + { + fAdjustSize = kAdjustUp; + fAdjustTime = kAdjustDown; + } + else if (bufferUsageRatio > 0.4) //OK to start thickening + { + fAdjustSize = kAdjustUp; + fAdjustTime = kAdjustUp; + } + else if (bufferUsageRatio > 0.3) //need to speed up to avoid underflow; not enough bandwidth + { + fAdjustSize = kNoChange; + fAdjustTime = kAdjustUpUp; + } + else if (bufferUsageRatio > 0.2) //need to speed up and thin to avoid underflow; not enough bandwidth + { + fAdjustSize = kAdjustDown; + fAdjustTime = kAdjustUpUp; + } + else //below 20% //need to speed up and thin to avoid underflow; not enough bandwidth + { + fAdjustSize = kAdjustDown; + fAdjustTime = kAdjustUp; + } + } + } + + if(fNumRTCPWithoutPacketLoss == 0) //RTCP have reported packet loss --> thinning + { + if (fCurRTT <= 10) + { + DEBUG_PRINTF(("RTPStream3GPP::UpdateTimeAndQuality fast network packet loss slowing down fNumRTCPWithoutPacketLoss=%"_S32BITARG_"\n",fNumRTCPWithoutPacketLoss)); + fAdjustTime = kAdjustDown; //slow down could be random packet loss. + } + else + { + DEBUG_PRINTF(("RTPStream3GPP::UpdateTimeAndQuality slow network packet loss decrease quality fNumRTCPWithoutPacketLoss=%"_S32BITARG_"\n",fNumRTCPWithoutPacketLoss)); + fAdjustSize = kAdjustDown; //most likely out of bandwidth so reduce quality. + fAdjustTime = kAdjustUpUp; //don't let the buffer drain while reducing quality. + } + } + else if (fNumRTCPWithoutPacketLoss <= 2) //If I get packet loss, then do not increase the rate for 2 RTCP cycles + fAdjustSize = MIN(kNoChange, fAdjustSize); + fNumRTCPWithoutPacketLoss++; + + //Set the quality based on the thinning value + if (fAdjustSize == kAdjustUp) // increase bit rate gradually + fRTPStream.SetQualityLevel(fRTPStream.GetQualityLevel() - 1); + else if (fAdjustSize == kAdjustDown) // thin down aggressively + fRTPStream.HalveQualityLevel(); + + SInt32 levelTest = ( (fRTPStream.GetNumQualityLevels() - fRTPStream.GetQualityLevel()) /2 )+ 1; + DEBUG_PRINTF(("RTPStream3GPP::UpdateTimeAndQuality update threshold=%ld\n", levelTest)); + + //Adjust the maximum quality if the router is getting congested(1 consecutive large RTT ratios) + if (fNumLargeRTT >= 4) + { + fNumLargeRTT = 0; //separate consecutive maximum quality lowering by at least 1 RTCP cycles. + fRTPStream.SetMaxQualityLevelLimit(fRTPStream.GetMaxQualityLevelLimit() + 1); + DEBUG_PRINTF(("RTPStream3GPP::UpdateTimeAndQuality fNumLargeRTT(%"_S32BITARG_") >= 4 maximum quality level decreased: %"_S32BITARG_"\n",fNumLargeRTT, fRTPStream.GetMaxQualityLevelLimit())); + } + else if (fNumSmallRTT >= levelTest) //Router is not congested(4 consecutive small RTT ratios); can start thickening. + { + fNumSmallRTT = 0; //separate consecutive maximum quality raising by at least x RTCP cycles. + fRTPStream.SetMaxQualityLevelLimit(fRTPStream.GetMaxQualityLevelLimit() - 1); + DEBUG_PRINTF(("RTPStream3GPP::UpdateTimeAndQuality fNumSmallRTT (%"_S32BITARG_") >= levelTest(%"_S32BITARG_") maximum quality level increased: %"_S32BITARG_"\n",fNumSmallRTT, levelTest, fRTPStream.GetMaxQualityLevelLimit())); + } + + char *payload = "?"; + if (GetDebugPrintfs()) + { + UInt8 payloadType = fRTPStream.GetPayLoadType(); + if (qtssVideoPayloadType == payloadType) + payload="video"; + else if (qtssAudioPayloadType == payloadType) + payload="audio"; + } + + if (bufferDelay != kUInt32_Max) + DEBUG_PRINTF(( + "RTPStream3GPP::UpdateTimeAndQuality type=%s quality=%"_S32BITARG_", qualitylimit=%"_S32BITARG_", fAdjustTime=%i bufferUsage=%"_U32BITARG_"(%.0f%%), " + "bufferDelay=%"_U32BITARG_"(%.0f%%)\n", + payload, + fRTPStream.GetQualityLevel(), fRTPStream.GetMaxQualityLevelLimit(), + fAdjustTime, + bufferUsage, bufferUsageRatio * 100, + bufferDelay, bufferDelayRatio * 100 + )); + else + DEBUG_PRINTF(( + "RTPStream3GPP::UpdateTimeAndQuality type=%s quality=%"_S32BITARG_", qualitylimit=%"_S32BITARG_", fAdjustTime=%i bufferUsage=%"_U32BITARG_"(%.0f%%), " + "bufferDelay=?\n", + payload, + fRTPStream.GetQualityLevel(), fRTPStream.GetMaxQualityLevelLimit(), + fAdjustTime, + bufferUsage, bufferUsageRatio * 100 + )); + + +} + +void RTPStream3GPP::SetRateAdaptationData(RateAdapationStreamDataFields* rateDataPtr) +{ + if (NULL == rateDataPtr || !fEnabled) + return; + + this->SetBufferBytes(rateDataPtr->GetBufferSizeBytes()); + this->SetBufferTime(rateDataPtr->GetTargetTimeMilliSec()); + fHasRateAdaptData = true; + + if (fTargetBufferingDelay < 1000) + fTargetBufferingDelay = 1000; + + if (fBufferSize == 0) + fBufferSize = 1; + + //rateDataPtr->PrintData(); +} + +//Returns the adjusted transmit time to take into account of speed increases/decreases +SInt64 RTPStream3GPP::GetAdjustedTransmitTime(SInt64 packetTransmitTime, SInt64 theTime) +{ + if (!RateAdaptationEnabled()) + return packetTransmitTime; + + if (fLastLocalTime == 0) + { + //can this happen? In case the file module tries to send a packet while the session is paused. + if (fRTPStream.GetSession().GetSessionState() == qtssPausedState) + return packetTransmitTime + fPlayTimeOffset; + + //First packet after starting to play or after a pause. + DEBUG_PRINTF(("RTPStream3GPP::GetAdjustedTransmitTime: initial quality=%"_U32BITARG_"\n", fRTPStream.GetQualityLevel())); + fLastLocalTime = theTime; + fPlayTimeOffset = 0; + return packetTransmitTime; + } + + SInt32 elapsedTime = theTime - fLastLocalTime; + if (elapsedTime >= 50) //Don't adjust the time over very small increments + { + fLastLocalTime = theTime; + if (fAdjustTime == kAdjustUpUp) // go faster subtract time (by 50%) + fPlayTimeOffset -= elapsedTime / 2; + else if (fAdjustTime == kAdjustUp) // go a bit faster by 10% + fPlayTimeOffset -= elapsedTime / 10; + else if (fAdjustTime == kAdjustDown) // go slower add time (by 20%) + fPlayTimeOffset += elapsedTime / 5; + else if (fAdjustTime == kAdjustDownDown) // go slower add time (by 50%) + fPlayTimeOffset += elapsedTime / 2; + } + return packetTransmitTime + fPlayTimeOffset; +} + diff --git a/Server.tproj/RTPStream3gpp.h b/Server.tproj/RTPStream3gpp.h new file mode 100644 index 0000000..74a0149 --- /dev/null +++ b/Server.tproj/RTPStream3gpp.h @@ -0,0 +1,135 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTPStream3gpp.h + + Contains: Handles the rate-adaptation algorithm +*/ + +#ifndef __RTPSTREAM3GPP_H__ +#define __RTPSTREAM3GPP_H__ + +#include "QTSS.h" +#include "QTSSDictionary.h" +#include "QTSS_Private.h" +#include "RTCPAPPNADUPacket.h" +#include "RTSPRequest3GPP.h" +#include "SVector.h" + +class RTPStream; + +class RTPStream3GPP : public QTSSDictionary +{ + public: + + // Initializes dictionary resources + static void Initialize(); + + // + // CONSTRUCTOR / DESTRUCTOR + + RTPStream3GPP(RTPStream &owner, Bool16 enabled); + virtual ~RTPStream3GPP() {} + + // + //ACCESS FUNCTIONS + void AddNadu(UInt8* inPacketBuffer, UInt32 inPacketLength, UInt32 highestSeqNum); + void AddSeqNumTimeMapping(UInt16 theSeqNum, SInt64 timeStamp); //Add a sequence number, timestamp pair; needed for figuring out the buffering delay + Bool16 Enabled() { return fEnabled; } + Bool16 HasRateAdaptation() { return fHasRateAdaptData; } + Bool16 RateAdaptationEnabled() { return Enabled() && HasRateAdaptation(); } + + void SetBufferBytes(UInt32 inBytes) { fBufferSize = inBytes; } + void SetBufferTime(UInt32 inMilliSecs) { fTargetBufferingDelay = inMilliSecs; } + void SetRateAdaptationData(RateAdapationStreamDataFields* rateDataPtr); + void SetBitRateData(UInt32 movieBitRate) {fMovieBitRate = movieBitRate; } + + //Will modify the containing RTPStream's QualityLevel + void UpdateTimeAndQuality(SInt64 curTime); //Call this function after every RTCP + + SInt64 GetAdjustedTransmitTime(SInt64 packetTransmitTime, SInt64 theTime); + + //This needs to be called so that the next call to GetAdjustedTransmitTime will return the right value. + void Pause() { fLastLocalTime = 0; fSeqNumTimeMapping.clear(); } + + //Called when there is a packet loss to slow down quality adjustment increase upon the next RTCP + void SetPacketLoss(Float32 percentage) { if (percentage > .10) fNumRTCPWithoutPacketLoss = 0; } + void SetRTT(UInt32 minRTT, UInt32 curRTT); + + Bool16 GetDebugPrintfs() { return fDebugPrintfs; } + //public members + NaduList fNaduList; + + private: + static UInt32 ExtendSeqNum(UInt16 seqNum, UInt32 refSeqNum); + + RTPStream& fRTPStream; //The RTPStream object that contains this RTPStream3GPP object + Bool16 fEnabled; + Bool16 fHasRateAdaptData; + UInt32 fBufferSize; //Buffer size as declared in 3GPP-Adaptation + UInt32 fTargetBufferingDelay; //Target buffering delay as declared in 3GPP-Adaptation + UInt32 fMovieBitRate; //in bits per second; + Bool16 fStartDoingAdaptation; + + SInt32 fNumRTCPWithoutPacketLoss; //Number of consecutive RTCP's without any reported packet loss + SInt32 fNumLargeRTT; //Number of consecutive RTCP's with a large RTT + SInt32 fNumSmallRTT; //Number of consecutive RTCP's with a small RTT + SInt32 fCurRTT; + //units are in bytes and milliseconds + UInt32 fLastReportedFreeBufferSpace; + UInt32 fLastReportedBufferingDelay; //set to kUInt32_Max if this value is not available. + + //Used to do play rate increase/decrease + SInt64 fLastLocalTime; //set to 0 whenver there is a pause + SInt64 fPlayTimeOffset; + + enum { kNaduListSize = 3 }; + + + enum AdjustMent { + kAdjustDownDown = -2, + kAdjustDown = -1, + kNoChange = 0, + kAdjustUp = 1, + kAdjustUpUp = 2 + }; + AdjustMent fAdjustSize; + AdjustMent fAdjustTime; + + //Dictionary support + static QTSSAttrInfoDict::AttrInfo sAttributes[]; + + //Used to map sequence number to timestamp; needed to figure out the client's buffering delay + struct SeqNumTimePair + { + SeqNumTimePair(UInt32 seqNum = 0, SInt64 time = 0) : fSeqNum(seqNum), fTime(time) {} + UInt32 fSeqNum; + SInt64 fTime; + }; + SVector fSeqNumTimeMapping; + UInt32 fLastSeqNum; + Bool16 fDebugPrintfs; +}; +#endif // __RTPSTREAM3GPP_H__ diff --git a/Server.tproj/RTSPProtocol.cpp b/Server.tproj/RTSPProtocol.cpp index ea7f268..bc2e4c6 100644 --- a/Server.tproj/RTSPProtocol.cpp +++ b/Server.tproj/RTSPProtocol.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -132,7 +132,22 @@ StrPtrLen RTSPProtocol::sHeaders[] = StrPtrLen("x-Dynamic-Rate"), StrPtrLen("x-Accept-Dynamic-Rate"), // DJM PROTOTYPE - StrPtrLen("x-Random-Data-Size") + StrPtrLen("x-Random-Data-Size"), + + //3gpp release 6 headers + StrPtrLen("3GPP-Link-Char"), + StrPtrLen("3GPP-Adaptation"), + StrPtrLen("3GPP-QoE-Feedback"), + StrPtrLen("3GPP-QoE-Metrics"), + + //Annex G + StrPtrLen("x-predecbufsize"), + StrPtrLen("x-initpredecbufperiod"), + StrPtrLen("x-initpostdecbufperiod"), + StrPtrLen("3gpp-videopostdecbufsize") + + + }; QTSS_RTSPHeader RTSPProtocol::GetRequestHeader(const StrPtrLen &inHeaderStr) diff --git a/Server.tproj/RTSPProtocol.h b/Server.tproj/RTSPProtocol.h index d46c226..e103cd6 100644 --- a/Server.tproj/RTSPProtocol.h +++ b/Server.tproj/RTSPProtocol.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTSPRequest.cpp b/Server.tproj/RTSPRequest.cpp index 85a5bd8..1f382d7 100644 --- a/Server.tproj/RTSPRequest.cpp +++ b/Server.tproj/RTSPRequest.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -88,7 +88,7 @@ static StrPtrLen sRealmStr("realm", 5); static StrPtrLen sNonceStr("nonce", 5); static StrPtrLen sUriStr("uri", 3); static StrPtrLen sQopStr("qop", 3); -static StrPtrLen sQopAuthStr("auth", 3); +static StrPtrLen sQopAuthStr("auth", 4); static StrPtrLen sQopAuthIntStr("auth-int", 8); static StrPtrLen sNonceCountStr("nc", 2); static StrPtrLen sResponseStr("response", 8); @@ -193,6 +193,7 @@ QTSS_Error RTSPRequest::ParseURI(StringParser &parser) } // don't allow non-aggregate operations indicated by a url/media track=id +// might need this for rate adapt if (qtssSetupMethod != fMethod && qtssOptionsMethod != fMethod && qtssSetParameterMethod != fMethod) // any method not a setup, options, or setparameter is not allowed to have a "/trackID=" in the url. if (qtssSetupMethod != fMethod) // any method not a setup is not allowed to have a "/trackID=" in the url. { StrPtrLenDel tempCStr(theAbsURL.GetAsCString()); @@ -309,7 +310,6 @@ QTSS_Error RTSPRequest::ParseHeaders(StringParser& parser) //and set that dictionary attribute to be whatever is in the body of the header UInt32 theHeader = RTSPProtocol::GetRequestHeader(theKeyWord); - StrPtrLen theHeaderVal; parser.ConsumeUntil(&theHeaderVal, StringParser::sEOLMask); @@ -363,8 +363,10 @@ QTSS_Error RTSPRequest::ParseHeaders(StringParser& parser) case qtssXTransportOptionsHeader: ParseTransportOptionsHeader();break; case qtssXPreBufferHeader: ParsePrebufferHeader();break; case qtssXDynamicRateHeader: ParseDynamicRateHeader(); break; - // DJM PROTOTYPE case qtssXRandomDataSizeHeader: ParseRandomDataSizeHeader(); break; + case qtss3GPPAdaptationHeader: fRequest3GPP.ParseAdpationHeader(&fHeaderDictionary); break; + case qtss3GPPLinkCharHeader: fRequest3GPP.ParseLinkCharHeader(&fHeaderDictionary); break; + case qtssBandwidthHeader: ParseBandwidthHeader(); break; default: break; } } @@ -397,9 +399,7 @@ Bool16 RTSPRequest::ParseNetworkModeSubHeader(StrPtrLen* inSubHeader) static StrPtrLen sUnicast("unicast"); static StrPtrLen sMulticast("multiicast"); Bool16 result = false; // true means header was found - - StringParser theSubHeaderParser(inSubHeader); - + if (!result && inSubHeader->EqualIgnoreCase(sUnicast)) { fNetworkMode = qtssRTPNetworkModeUnicast; @@ -791,6 +791,16 @@ void RTSPRequest::ParseRandomDataSizeHeader() } } +void RTSPRequest::ParseBandwidthHeader() +{ + StringParser theContentLenParser(fHeaderDictionary.GetValue(qtssBandwidthHeader)); + theContentLenParser.ConsumeWhitespace(); + fBandwidthBits = theContentLenParser.ConsumeInteger(NULL); + +} + + + QTSS_Error RTSPRequest::ParseBasicHeader(StringParser *inParsedAuthLinePtr) { QTSS_Error theErr = QTSS_NoErr; @@ -839,7 +849,16 @@ QTSS_Error RTSPRequest::ParseDigestHeader(StringParser *inParsedAuthLinePtr) fAuthScheme = qtssAuthDigest; inParsedAuthLinePtr->ConsumeWhitespace(); - + StrPtrLen *authLine = inParsedAuthLinePtr->GetStream(); + if (NULL != authLine) + { + StringParser digestAuthLine(authLine); + digestAuthLine.GetThru(NULL, '='); + digestAuthLine.ConsumeWhitespace(); + + fAuthDigestResponse.Set(authLine->Ptr, authLine->Len); + } + while(inParsedAuthLinePtr->GetDataRemaining() != 0) { StrPtrLen fieldNameAndValue(""); @@ -976,6 +995,13 @@ QTSS_Error RTSPRequest::SendDigestChallenge(UInt32 qop, StrPtrLen *nonce, StrPtr challengeFormatter.PutTerminator(); // [Digest realm="somerealm", nonce="19723343a9fd75e019723343a9fd75e0"\0] StrPtrLen challengePtr(challengeFormatter.GetBufPtr(), challengeFormatter.GetBytesWritten() - 1); + + this->SetValue(qtssRTSPReqDigestChallenge, 0, challengePtr.Ptr, challengePtr.Len, QTSSDictionary::kDontObeyReadOnly); + RTSPSessionInterface* thisRTSPSession = this->GetSession(); + if (thisRTSPSession) + { (void)thisRTSPSession->SetValue(qtssRTSPSesLastDigestChallenge, 0, challengePtr.Ptr, challengePtr.Len,QTSSDictionary::kDontObeyReadOnly); + } + fStatus = qtssClientUnAuthorized; this->SetResponseKeepAlive(true); this->AppendHeader(qtssWWWAuthenticateHeader, &challengePtr); @@ -1059,7 +1085,7 @@ QTSS_Error RTSPRequest::SendBasicChallenge(void) memcpy(test,challenge.Ptr,challenge.Len); test[challenge.Len] = 0; - qtss_printf("the challenge string =%s len = %ld\n",test, challenge.Len); + qtss_printf("the challenge string =%s len = %"_S32BITARG_"\n",test, challenge.Len); } #endif diff --git a/Server.tproj/RTSPRequest.h b/Server.tproj/RTSPRequest.h index 42470e9..4143b39 100644 --- a/Server.tproj/RTSPRequest.h +++ b/Server.tproj/RTSPRequest.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -119,8 +119,8 @@ class RTSPRequest : public RTSPRequestInterface void ParseModeSubHeader(StrPtrLen* inModeSubHeader); Bool16 ParseNetworkModeSubHeader(StrPtrLen* inSubHeader); void ParseDynamicRateHeader(); - // DJM PROTOTYPE void ParseRandomDataSizeHeader(); + void ParseBandwidthHeader(); static UInt8 sURLStopConditions[]; }; diff --git a/Server.tproj/RTSPRequest3GPP.cpp b/Server.tproj/RTSPRequest3GPP.cpp new file mode 100644 index 0000000..7a27c7b --- /dev/null +++ b/Server.tproj/RTSPRequest3GPP.cpp @@ -0,0 +1,327 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTSPRequest3gpp.cpp + + Contains: Implementation of RTSPRequest3gpp class. + + + +*/ + + +#include "RTSPRequest3gpp.h" +#include "RTSPProtocol.h" +#include "QTSServerInterface.h" + +#include "RTSPSession.h" +#include "RTSPSessionInterface.h" +#include "StringParser.h" +#include "StringTranslator.h" +#include "OS.h" +#include "OSMemory.h" +#include "QTSS.h" +#include "QTSSModuleUtils.h" +#include "base64.h" +#include "OSArrayObjectDeleter.h" +#include "DateTranslator.h" +#include "SocketUtils.h" + + +void RateAdapationStreamDataFields::SetData(StrPtrLen *streamDataStr) +{ + + static StrPtrLen sSize("size"); + static StrPtrLen sTargetTime("target-time"); + static StrPtrLen sURL("url"); + + StringParser theStreamDataParser(streamDataStr); + + StrPtrLen url; + theStreamDataParser.GetThru(&url, '=');//consume "url=" + url.TrimWhitespace(); // fix if it is " url =" instead of "url=" + + if (false == url.NumEqualIgnoreCase(sURL.Ptr, sURL.Len)) + return; //failed to find url= + + + theStreamDataParser.GetThru(&url, ';');//consume "url=/asdlfjasdf/id=12;" + + { //get the stream id url component + + StringParser theURLParser(&url); + while (theURLParser.GetThru(&url, '/')); //trim to the last path segment + } + + { // get the id value + StringParser theIDParser(&url); + if (false == theIDParser.GetThru(&url, '='))//consume "id=12;" + return; //failed to find '=' + + theIDParser.ConsumeWhitespace(); + fTrackID = theIDParser.ConsumeInteger(); + } + + + StrPtrLen theDataStr; + while ( theStreamDataParser.GetThru(&theDataStr,'=') ) //get the field name + { + theDataStr.TrimWhitespace(); + if (theDataStr.NumEqualIgnoreCase(sSize.Ptr, sSize.Len)) // size= + { + theStreamDataParser.ConsumeWhitespace(); + fBufferSizeBytes = theStreamDataParser.ConsumeInteger(); + } + + if (theDataStr.NumEqualIgnoreCase(sTargetTime.Ptr, sTargetTime.Len)) // target-time = + { + theStreamDataParser.ConsumeWhitespace(); + fTargetTimeMilli = theStreamDataParser.ConsumeInteger(); + } + theStreamDataParser.GetThru(&theDataStr,';'); //skip to next field + } + + +}; + + + +void RateAdapationStreamDataFields::CopyData(RateAdapationStreamDataFields* source) +{ + if (NULL == source) + return; + + fTrackID = source->GetSDPStreamID(); + fBufferSizeBytes = source->GetBufferSizeBytes(); + fTargetTimeMilli = source->GetTargetTimeMilliSec(); + }; + + + +//----------- +void LinkCharDataFields::ParseData( StrPtrLen &theDataStr, StringParser &theLinkCharDataParser) +{ + static StrPtrLen sGBW("GBW"); + static StrPtrLen sMBW("MBW"); + static StrPtrLen sMTD("MTD"); + + if (theDataStr.NumEqualIgnoreCase(sGBW.Ptr, sGBW.Len)) // GBW= + { + theLinkCharDataParser.ConsumeWhitespace(); + fGuaranteedKBitsPerSec = theLinkCharDataParser.ConsumeInteger(); + return; + } + + if (theDataStr.NumEqualIgnoreCase(sMBW.Ptr, sMBW.Len)) //MBW= + { + theLinkCharDataParser.ConsumeWhitespace(); + fMaximumKBitsPerSec = theLinkCharDataParser.ConsumeInteger(); + return; + } + + if (theDataStr.NumEqualIgnoreCase(sMTD.Ptr, sMTD.Len)) //MBW= + { + theLinkCharDataParser.ConsumeWhitespace(); + fMaximumTransferDelayMilliSec = theLinkCharDataParser.ConsumeInteger(); + return; + } + + +} + +void LinkCharDataFields::SetData(StrPtrLen *streamDataStr) +{ + + static StrPtrLen sURL("url"); + + StringParser theLinkCharDataParser(streamDataStr); + + StrPtrLen url; + theLinkCharDataParser.GetThru(&url, '=');//consume "url=" + url.TrimWhitespace(); // fix if it is " url =" instead of "url=" + + if (false == url.NumEqualIgnoreCase(sURL.Ptr, sURL.Len)) + return; //failed to find url= + + theLinkCharDataParser.ConsumeUntil(&url, ';');//consume "url=/asdlfjasdf;" + if (!theLinkCharDataParser.Expect(';')) + return; // no parameters + + url.TrimWhitespace(); + fURL.Set(url.GetAsCString()); + + StrPtrLen theDataStr; + while ( theLinkCharDataParser.GetThru(&theDataStr,'=') ) //get the field name + { + theDataStr.TrimWhitespace(); + this->ParseData(theDataStr,theLinkCharDataParser); + + theLinkCharDataParser.GetThru(&theDataStr,';'); //skip to next field + } + + +}; + + + +void LinkCharDataFields::CopyData(LinkCharDataFields* source) +{ + if (NULL == source) + return; + + fURL.Set(source->GetURL()->GetAsCString()); + fGuaranteedKBitsPerSec = source->GetGKbits(); + fMaximumKBitsPerSec = source->GetMaxKBits(); + fMaximumTransferDelayMilliSec = source->GetMaxDelayMilliSecs(); +}; + + + +//-------- +QTSSAttrInfoDict::AttrInfo RTSPRequest3GPP::sAttributes[] = +{ /*fields: fAttrName, fFuncPtr, fAttrDataType, fAttrPermission */ + /* 0 */ { "qtss3GPPRequestEnabled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModeWrite | qtssAttrModePreempSafe }, + /* 1 */ { "qtss3GPPRequestRateAdaptationStreamData", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe } + + +}; + +void RTSPRequest3GPP::Initialize() +{ + for (UInt32 x = 0; x < qtss3GPPRequestNumParams; x++) + QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPRequestDictIndex)-> + SetAttribute(x, sAttributes[x].fAttrName, sAttributes[x].fFuncPtr, + sAttributes[x].fAttrDataType, sAttributes[x].fAttrPermission); + +} + + +RTSPRequest3GPP::RTSPRequest3GPP(Bool16 enabled) +: QTSSDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPRequestDictIndex)), + fEnabled (enabled),fIs3GPP(false), fHasRateAdaptation(false), fHasLinkChar(false) +{ + this->SetVal(qtss3GPPRequestEnabled, &fEnabled, sizeof(fEnabled)); + +} + +QTSS_Error RTSPRequest3GPP::ParseAdpationHeader(QTSSDictionary* headerDictionaryPtr) +{ + + if (NULL == headerDictionaryPtr) + { Assert(0); + return -1; + } + + if (!fEnabled) + return QTSS_NoErr; + + StringParser theRateAdaptHeaderParser(headerDictionaryPtr->GetValue(qtss3GPPAdaptationHeader)); + + if (theRateAdaptHeaderParser.GetDataRemaining() == 0) + return -1; + + fIs3GPP = true; + fHasRateAdaptation = true; + + StrPtrLen theStreamData; + UInt32 numValueIndex = 0; + while (theRateAdaptHeaderParser.GetDataRemaining() != 0) + { + theRateAdaptHeaderParser.GetThru(&theStreamData, ','); + theStreamData.TrimWhitespace(); + (void) this->SetValuePtr(qtss3GPPRequestRateAdaptationStreamData,theStreamData.Ptr, theStreamData.Len, QTSSDictionary::kDontObeyReadOnly); + numValueIndex++; + } + + //this->ParseAdpationHeaderTest(); + + return QTSS_NoErr; +} + +void RTSPRequest3GPP::ParseAdpationHeaderTest() +{ + StrPtrLen dataStr; + UInt32 numValues = this->GetNumValues(qtss3GPPRequestRateAdaptationStreamData); + qtss_printf("RTSPRequest3GPP::ParseAdpationHeaderTest numValues =%lu\n", numValues); + + for (;numValues > 0; numValues --) + { + + if(0 != this->GetValuePtr(qtss3GPPRequestRateAdaptationStreamData, numValues - 1, (void**) &dataStr.Ptr, &dataStr.Len, true)) + qtss_printf("RTSPRequest3GPP::ParseAdpationHeaderTest err GetValuePtr(qtss3GPPRequestRateAdaptationStreamData\n"); + + dataStr.PrintStr("RTSPRequest3GPP::ParseAdpationHeaderTest qtss3GPPRequestRateAdaptationStreamData=[","]\n"); + RateAdapationStreamDataFields fieldsParser; + fieldsParser.SetData(&dataStr); + fieldsParser.PrintData(NULL); + } +} + + + +QTSS_Error RTSPRequest3GPP::ParseLinkCharHeader(QTSSDictionary* headerDictionaryPtr) +{ + + if (NULL == headerDictionaryPtr) + { Assert(0); + return -1; + } + + StrPtrLen* theLinkCharStr = headerDictionaryPtr->GetValue(qtss3GPPLinkCharHeader); + if (theLinkCharStr == NULL) + return -1; + + if (theLinkCharStr->Len == 0) + return -1; + + fIs3GPP = true; + fHasLinkChar = true; + + //this->ParseLinkCharHeaderTest(headerDictionaryPtr); + + return QTSS_NoErr; +} + + +void RTSPRequest3GPP::ParseLinkCharHeaderTest(QTSSDictionary* headerDictionaryPtr) +{ + StrPtrLen dataStr; + UInt32 numValues = headerDictionaryPtr->GetNumValues(qtss3GPPLinkCharHeader); + qtss_printf("RTSPRequest3GPP::ParseLinkCharHeaderTest qtss3GPPLinkCharHeader numValues =%lu\n", numValues); //should be 1 + + for (;numValues > 0; numValues --) + { + + if(0 != headerDictionaryPtr->GetValuePtr(qtss3GPPLinkCharHeader, numValues - 1, (void**) &dataStr.Ptr, &dataStr.Len, true)) + qtss_printf("RTSPRequest3GPP::ParseLinkCharHeaderTest err GetValuePtr(qtss3GPPLinkCharHeader\n"); + + dataStr.PrintStr("RTSPRequest3GPP::ParseLinkCharHeaderTest qtss3GPPLinkCharHeader=[","]\n"); + LinkCharDataFields fieldsParser; + fieldsParser.SetData(&dataStr); + fieldsParser.PrintData(NULL); + } +} + + diff --git a/Server.tproj/RTSPRequest3GPP.h b/Server.tproj/RTSPRequest3GPP.h new file mode 100644 index 0000000..7ed6ea7 --- /dev/null +++ b/Server.tproj/RTSPRequest3GPP.h @@ -0,0 +1,250 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTSPRequest3GPP.h + + Contains: This parses 3gpp headers from a request + + + +*/ + +#ifndef __RTSPREQUEST3GPP_H__ +#define __RTSPREQUEST3GPP_H__ + +#include "QTSS.h" +#include "QTSSDictionary.h" +#include "StringParser.h" + +/* + +5.3.2.2 The 3GPP-Adaptation header +To enable PSS clients to set bit-rate adaptation parameters, a new RTSP request and response header is defined. The +header can be used in the methods SETUP, PLAY, OPTIONS, and SET_PARAMETER. The header defined in ABNF +[53] has the following syntax: +3GPP-adaptation-def = "3GPP-Adaptation" ":" adaptation-spec 0*("," adaptation-spec) +adaptation-spec = url-def *adapt-params +adapt-params = ";" buffer-size-def + / ";" target-time-def +url-def = "url" "=" <"> url <"> +buffer-size-def = "size" "=" 1*9DIGIT ; bytes +target-time-def = "target-time" "=" 1*9DIGIT; ms +url = ( absoluteURI / relativeURI ) +absoluteURI and relativeURI are defined in RFC 2396 [60] and updated in RFC 2732 [61]. The base URI for any +relative URI is the RTSP request URI. +The "3GPP-Adaptation" header shall be sent in responses to requests containing this header. The PSS server shall not +change the values in the response header. The presence of the header in the response indicates to the client that the +server acknowledges the request. +The buffer size signalled in the "3GPP-Adaptation" header shall correspond to reception, de-jittering, and, if used, de- +interleaving buffer(s) that have this given amount of space for complete application data units (ADU), including the +following RTP header and RTP payload header fields: RTP timestamp, and sequence numbers or decoding order +numbers. The specified buffer size shall also include any Annex G pre-decoder buffer space used for this media, as the +two buffers cannot be separated. +The target protection time signalled in the value of the "target-time" parameter is the targeted minimum buffer level or, +in other words, the client desired amount of playback time in milliseconds to guarantee interrupt-free playback and +allow the server to adjust the transmission rate, if needed. + + +Telnet test data +DESCRIBE rtsp://127.0.0.1/sample_50kbit.3gp RTSP/1.0 +CSeq: 1 +Accept: application/sdp +User-Agent: telnet manual blah blah (03.05) Profile/MIDP-1.0 Configuration/CLDC-1.0 + + +SETUP rtsp://127.0.0.1/sample_50kbit.3gp/trackID=3 RTSP/1.0 +CSeq: 2 +Content-Length: 0 +User-Agent: telnet +Transport: RTP/AVP;unicast;client_port=1566-1567 +3GPP-Adaptation: url="rtsp:/127.0.0.1/sample_50kbit.3gp/streamID=0";target-time=7000,url="rtsp:/127.0.0.1/sample_50kbit.3gp/streamID=1";target-time=7000 + +*/ + + +class RateAdapationStreamDataFields +{ + public: + RateAdapationStreamDataFields() : fTrackID (0), fBufferSizeBytes(0), fTargetTimeMilli(0) {} + void SetData(StrPtrLen *streamDataStr); + void CopyData(RateAdapationStreamDataFields* source); + ~RateAdapationStreamDataFields() {} + UInt32 GetSDPStreamID() { return fTrackID; } + UInt32 GetBufferSizeBytes() { return fBufferSizeBytes; } + UInt32 GetTargetTimeMilliSec() { return fTargetTimeMilli; } + void PrintData(StrPtrLen *streamDataStr = NULL) {if (streamDataStr != NULL) this->SetData(streamDataStr); qtss_printf("RateAdapationStreamDataFields::PrintData trackID=%"_U32BITARG_" bufferSize=%"_U32BITARG_" targetTime=%"_U32BITARG_"\n", GetSDPStreamID(), GetBufferSizeBytes(),GetTargetTimeMilliSec() ); } + + + private: + + UInt32 fTrackID; + UInt32 fBufferSizeBytes; + UInt32 fTargetTimeMilli; + +}; + + +#if 0 +/* +5.3.2.1 The 3GPP-Link-Char header +To enable PSS clients to report the link characteristics of the radio interface to the PSS server, the "3GPP-Link-Char" +RTSP header is defined. The header takes one or more arguments. The reported information should be taken from a +QoS reservation (i.e. the QoS profile as defined in [56]). Note that this information is only valid for the wireless link +and does not apply end-to-end. However, the parameters do provide constraints that can be used. + +Three parameters are defined that can be included in the header, and future extensions are possible to define. Any +unknown parameter shall be ignored. The three parameters are: +- "GBW": the link's guaranteed bit-rate in kilobits per second as defined by [56]; +- "MBW": the link's maximum bit-rate in kilobits per second as defined by [56]; +- "MTD": the link's maximum transfer delay, as defined by [56] in milliseconds. +The "3GPP-Link-Char" header syntax is defined below using ABNF [53]: +3gpplinkheader = "3GPP-Link-Char" ":" link-char-spec *("," 0*1SP link-char-spec) CRLF +link-char-spec = char-link-url *(";" 0*1SP link-parameters) +char-link-url = "url" "=" <">url<"> +link-parameters = Guaranteed-BW / Max-BW / Max-Transfer-delay / extension-type +Guaranteed-BW = "GBW" "=" 1*DIGIT ; bps +Max-BW = "MBW" "=" 1*DIGIT ; bps +Max-Transfer-delay = "MTD" "=" 1*DIGIT ; ms +extension-type = token "=" (token / quoted-string) +DIGIT = as defined in RFC 2326 [5] +token = as defined in RFC 2326 [5] +quoted-string = as defined in RFC 2326 [5] +url = as defined in RFC 2326 [5] +The "3GPP-Link-Char" header can be included in a request using any of the following RTSP methods: SETUP, PLAY, +OPTIONS, and SET_PARAMETER. The header shall not be included in any response. The header can contain one or +more characteristics specifications. Each specification contains a URI that can either be an absolute or a relative, any +relative URI use the RTSP request URI as base. The URI points out the media component that the given parameters +apply to. This can either be an individual media stream or a session aggregate. +If a QoS reservation (PDP context) is shared by several media components in a session the 3GPP-Link-Char header +shall not be sent prior to the RTSP PLAY request. In this case the URI to use is the aggregated RTSP URI. If the QoS +reservation is not shared (one PDP context per media) the media stream URI must be used in the 3GPP-Link-Char +specification. If one QoS reservation (PDP context) per media component is used, the specification parameters shall be +sent per media component. +The "3GPP-Link-Char" header should be included in a SETUP or PLAY request by the client, to give the initial values +for the link characteristics. A SET_PARAMETER or OPTIONS request can be used to update the 3GPP-Link-Char +values in a session currently playing. It is strongly recommended that SET_PARAMETER is used, as this has the +correct semantics for the operation and also requires less overhead both in bandwidth and server processing. When +performing updates of the parameters, all of the previous signalled values are undefined and only the given ones in the +update are defined. This means that even if a parameter has not changed, it must be included in the update. + +Example: +3GPP-LinkChar: url="rtsp://server.example.com/media.3gp"; GBW=32; MBW=128; MTD=2000 + +In the above example the header tells the server that its radio link has a QoS setting with a guaranteed bit-rate of 32 +kbps, a maximum bit-rate of 128 kbps, and a maximum transfer delay of 2.0 seconds. These parameters are valid for the +aggregate of all media components, as the URI is an aggregated RTSP URI. + +Test protocol +DESCRIBE rtsp://127.0.0.1/sample_50kbit.3gp RTSP/1.0 +CSeq: 1 +Accept: application/sdp +User-Agent: telnet manual blah blah (03.05) Profile/MIDP-1.0 Configuration/CLDC-1.0 + + +SETUP rtsp://127.0.0.1/sample_50kbit.3gp/trackID=3 RTSP/1.0 +CSeq: 2 +Content-Length: 0 +User-Agent: telnet +Transport: RTP/AVP;unicast;client_port=1566-1567 +3GPP-Adaptation: url="rtsp:/127.0.0.1/sample_50kbit.3gp/streamID=0";target-time=7000,url="rtsp:/127.0.0.1/sample_50kbit.3gp/streamID=1";target-time=7000 +3GPP-Link-Char: url="rtsp://server.example.com/media.3gp"; GBW=32; MBW=128; MTD=2000 + + +*/ +#endif + +class LinkCharDataFields +{ + public: + LinkCharDataFields() : fGuaranteedKBitsPerSec (0), fMaximumKBitsPerSec(0), fMaximumTransferDelayMilliSec(0), fURL() {} + void SetData(StrPtrLen *streamDataStr); + void CopyData(LinkCharDataFields* source); + ~LinkCharDataFields() {} + UInt32 GetGKbits() { return fGuaranteedKBitsPerSec; } + UInt32 GetMaxKBits() { return fMaximumKBitsPerSec; } + UInt32 GetMaxDelayMilliSecs() { return fMaximumTransferDelayMilliSec; } + StrPtrLen* GetURL() { return &fURL; } + void PrintData(StrPtrLen *streamDataStr = NULL) + {if (streamDataStr != NULL) this->SetData(streamDataStr); qtss_printf("LinkCharDataFields::PrintData fURL=%s fGuaranteedKBitsPerSec=%"_U32BITARG_" fMaximumKBitsPerSec=%"_U32BITARG_" fMaximumTransferDelayMilliSec=%"_U32BITARG_"\n",GetURL()->Ptr, GetGKbits(), GetMaxKBits(),GetMaxDelayMilliSecs() ); } + + + private: + void ParseData( StrPtrLen &theDataStr, StringParser &theLinkCharDataParser); + + UInt32 fGuaranteedKBitsPerSec; + UInt32 fMaximumKBitsPerSec; + UInt32 fMaximumTransferDelayMilliSec; + StrPtrLenDel fURL; + +}; + + + + +//3GPPRequest utility class definition +class RTSPRequest3GPP : public QTSSDictionary +{ + public: + //Initialize + static void Initialize(); + + //CONSTRUCTOR / DESTRUCTOR + //these do very little. Just initialize / delete some member data. + // + //Arguments: enable the object + RTSPRequest3GPP(Bool16 enabled); + ~RTSPRequest3GPP() {} + + //Parses the request. Returns an error if there was an error encountered + //in parsing. + QTSS_Error ParseAdpationHeader(QTSSDictionary* headerDictionaryPtr); + + //Parses the request. Returns an error if there was an error encountered + //in parsing. + QTSS_Error ParseLinkCharHeader(QTSSDictionary* headerDictionaryPtr); + + + Bool16 Is3GPP() {return fIs3GPP;} + Bool16 HasRateAdaptation() {return fHasRateAdaptation;} + Bool16 HasLinkChar() {return fHasLinkChar;} + + private: + void ParseAdpationHeaderTest(); + void ParseLinkCharHeaderTest(QTSSDictionary* headerDictionaryPtr); + + + Bool16 fEnabled; + Bool16 fIs3GPP; + Bool16 fHasRateAdaptation; + Bool16 fHasLinkChar; + + + + //Dictionary support + static QTSSAttrInfoDict::AttrInfo sAttributes[]; + +}; +#endif // __RTSPREQUEST3GPP_H__ + diff --git a/Server.tproj/RTSPRequestInterface.cpp b/Server.tproj/RTSPRequestInterface.cpp index 9ea7c5d..624bd7e 100644 --- a/Server.tproj/RTSPRequestInterface.cpp +++ b/Server.tproj/RTSPRequestInterface.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -101,11 +101,21 @@ QTSSAttrInfoDict::AttrInfo RTSPRequestInterface::sAttributes[] = /* 34 */ { "qtssRTSPReqAuthScheme", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite }, /* 35 */ { "qtssRTSPReqSkipAuthorization", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite }, /* 36 */ { "qtssRTSPReqNetworkMode", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, - /* 37 */ { "qtssRTSPReqDynamicRateValue", NULL, qtssAttrDataTypeSInt32, qtssAttrModeRead | qtssAttrModePreempSafe } + /* 37 */ { "qtssRTSPReqDynamicRateValue", NULL, qtssAttrDataTypeSInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 38 */ { "qtssRTSPReq3GPPRequestObject", NULL, qtssAttrDataTypeQTSS_Object,qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 39 */ { "qtssRTSPReqBandwidthBits", NULL, qtssAttrDataTypeUInt32, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 40 */ { "qtssRTSPReqUserFound", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite }, + /* 41 */ { "qtssRTSPReqAuthHandled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeWrite }, + /* 42 */ { "qtssRTSPReqDigestChallenge", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe }, + /* 43 */ { "qtssRTSPReqDigestResponse", GetAuthDigestResponse, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe } + + + + }; -void RTSPRequestInterface::Initialize() +void RTSPRequestInterface::Initialize(void) { //make a partially complete header StringFormatter headerFormatter(sPremadeHeaderPtr.Ptr, kStaticHeaderSizeInBytes); @@ -164,6 +174,8 @@ RTSPRequestInterface::RTSPRequestInterface(RTSPSessionInterface *session) fMovieFolderPtr(&fMovieFolderPath[0]), fHeaderDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::kRTSPHeaderDictIndex)), fAllowed(true), + fHasUser(false), + fAuthHandled(false), fTransportMode(qtssRTPTransportModePlay), fSetUpServerPort(0), fAction(qtssActionFlagsNoFlags), @@ -176,9 +188,15 @@ RTSPRequestInterface::RTSPRequestInterface(RTSPSessionInterface *session) fEnableDynamicRateState(-1),// -1 undefined, 0 disabled, 1 enabled // DJM PROTOTYPE fRandomDataSize(0), + fRequest3GPP( QTSServerInterface::GetServer()->GetPrefs()->Get3GPPEnabled() ), + fRequest3GPPPtr(&fRequest3GPP), + fBandwidthBits(0), + + // private storage initializes after protected and public storage above fSession(session), fOutputStream(session->GetOutputStream()), - fStandardHeadersWritten(false) + fStandardHeadersWritten(false) // private initializes after protected and public storage above + { //Setup QTSS parameters that can be setup now. These are typically the parameters that are actually //pointers to binary variable values. Because these variables are just member variables of this object, @@ -195,7 +213,7 @@ RTSPRequestInterface::RTSPRequestInterface(RTSPSessionInterface *session) this->SetVal(qtssRTSPReqSpeed, &fSpeed, sizeof(fSpeed)); this->SetVal(qtssRTSPReqLateTolerance, &fLateTolerance, sizeof(fLateTolerance)); this->SetVal(qtssRTSPReqPrebufferMaxTime, &fPrebufferAmt, sizeof(fPrebufferAmt)); - + // Get the default root directory from QTSSPrefs, and store that in the proper parameter // Note that the GetMovieFolderPath function may allocate memory, so we check for that // in this object's destructor and free that memory if necessary. @@ -208,15 +226,25 @@ RTSPRequestInterface::RTSPRequestInterface(RTSPSessionInterface *session) //typically aren't set for every request, so we lazy initialize those when we parse the request this->SetVal(qtssRTSPReqUserAllowed, &fAllowed, sizeof(fAllowed)); + this->SetVal(qtssRTSPReqUserFound, &fHasUser, sizeof(fHasUser)); + this->SetVal(qtssRTSPReqAuthHandled, &fAuthHandled, sizeof(fAuthHandled)); + this->SetVal(qtssRTSPReqTransportType, &fTransportType, sizeof(fTransportType)); this->SetVal(qtssRTSPReqTransportMode, &fTransportMode, sizeof(fTransportMode)); this->SetVal(qtssRTSPReqSetUpServerPort, &fSetUpServerPort, sizeof(fSetUpServerPort)); this->SetVal(qtssRTSPReqAction, &fAction, sizeof(fAction)); - this->SetVal(qtssRTSPReqUserProfile, &fUserProfilePtr, sizeof(QTSSUserProfile*)); + this->SetVal(qtssRTSPReqUserProfile, &fUserProfilePtr, sizeof(fUserProfilePtr)); this->SetVal(qtssRTSPReqAuthScheme, &fAuthScheme, sizeof(fAuthScheme)); this->SetVal(qtssRTSPReqSkipAuthorization, &fSkipAuthorization, sizeof(fSkipAuthorization)); this->SetVal(qtssRTSPReqDynamicRateState, &fEnableDynamicRateState, sizeof(fEnableDynamicRateState)); + + this->SetVal(qtssRTSPReq3GPPRequestObject, &fRequest3GPPPtr, sizeof(fRequest3GPPPtr)); + this->SetVal(qtssRTSPReqBandwidthBits, &fBandwidthBits, sizeof(fBandwidthBits)); + + this->SetVal(qtssRTSPReqDigestResponse, &fAuthDigestResponse, sizeof(fAuthDigestResponse)); + + } void RTSPRequestInterface::AppendHeader(QTSS_RTSPHeader inHeader, StrPtrLen* inValue) @@ -249,7 +277,7 @@ void RTSPRequestInterface::AppendContentLength(UInt32 contentLength) char dataSize[10]; dataSize[sizeof(dataSize) -1] = 0; - qtss_snprintf(dataSize, sizeof(dataSize) -1, "%lu", contentLength); + qtss_snprintf(dataSize, sizeof(dataSize) -1, "%"_U32BITARG_"", contentLength); StrPtrLen contentLengthStr(dataSize); this->AppendHeader(qtssContentLengthHeader, &contentLengthStr); @@ -414,7 +442,7 @@ void RTSPRequestInterface::AppendTransportHeader(StrPtrLen* serverPortA, OSCharArrayDeleter cStrDeleter(theCString); UInt32 ssrcVal = 0; - ::sscanf(theCString, "%lu", &ssrcVal); + ::sscanf(theCString, "%"_U32BITARG_"", &ssrcVal); ssrcVal = htonl(ssrcVal); StrPtrLen hexSSRC(QTSSDataConverter::ValueToString( &ssrcVal, sizeof(ssrcVal), qtssAttrDataTypeUnknown)); @@ -577,6 +605,17 @@ void RTSPRequestInterface::WriteStandardHeaders() //tags the response with the Connection: close header if (!fResponseKeepAlive) AppendHeader(qtssConnectionHeader, &sCloseString); + + // 3gpp release 6 rate adaptation calls for echoing the rate adapt header back + // some clients use this header in the response to signal whether to send rate adapt + // NADU rtcp reports. + Bool16 doRateAdaptation = QTSServerInterface::GetServer()->GetPrefs()->Get3GPPEnabled() && QTSServerInterface::GetServer()->GetPrefs()->Get3GPPRateAdaptationEnabled(); + if (doRateAdaptation) + { StrPtrLen* rateAdaptHeader = fHeaderDictionary.GetValue(qtss3GPPAdaptationHeader); + if (rateAdaptHeader && rateAdaptHeader->Ptr && rateAdaptHeader->Len > 0) + AppendHeader(qtss3GPPAdaptationHeader, fHeaderDictionary.GetValue(qtss3GPPAdaptationHeader)); + } + } void RTSPRequestInterface::SendHeader() @@ -757,3 +796,11 @@ void* RTSPRequestInterface::GetLocalPath(QTSSDictionary* inRequest, UInt32* outL return NULL; } + +void* RTSPRequestInterface::GetAuthDigestResponse(QTSSDictionary* inRequest, UInt32* ) +{ + RTSPRequestInterface* theRequest = (RTSPRequestInterface*)inRequest; + (void)theRequest->SetValue(qtssRTSPReqDigestResponse, 0, theRequest->fAuthDigestResponse.Ptr,theRequest->fAuthDigestResponse.Len , QTSSDictionary::kDontObeyReadOnly); + return NULL; +} + diff --git a/Server.tproj/RTSPRequestInterface.h b/Server.tproj/RTSPRequestInterface.h index ad9bcc8..158fc8f 100644 --- a/Server.tproj/RTSPRequestInterface.h +++ b/Server.tproj/RTSPRequestInterface.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -47,7 +47,7 @@ #include "RTSPProtocol.h" #include "QTSSMessages.h" #include "QTSSUserProfile.h" - +#include "RTSPRequest3GPP.h" class RTSPRequestInterface : public QTSSDictionary { @@ -164,6 +164,12 @@ class RTSPRequestInterface : public QTSSDictionary Bool16 GetAllowed() { return fAllowed; } void SetAllowed(Bool16 allowed) { fAllowed = allowed;} + Bool16 GetHasUser() { return fHasUser; } + void SetHasUser(Bool16 hasUser) { fHasUser = hasUser;} + + Bool16 GetAuthHandled() { return fAuthHandled; } + void SetAuthHandled(Bool16 handled) { fAuthHandled = handled;} + QTSS_ActionFlags GetAction() { return fAction; } void SetAction(QTSS_ActionFlags action) { fAction = action;} @@ -182,6 +188,8 @@ class RTSPRequestInterface : public QTSSDictionary StrPtrLen* GetAuthResponse() { return &fAuthResponse; } StrPtrLen* GetAuthOpaque() { return &fAuthOpaque; } QTSSUserProfile* GetUserProfile() { return fUserProfilePtr; } + RTSPRequest3GPP* GetRequest3GPPInfo() { return fRequest3GPPPtr; } + Bool16 GetStale() { return fStale; } void SetStale(Bool16 stale) { fStale = stale; } @@ -192,6 +200,11 @@ class RTSPRequestInterface : public QTSSDictionary // DJM PROTOTYPE UInt32 GetRandomDataSize() { return fRandomDataSize; } + + UInt32 GetBandwidthHeaderBits() { return fBandwidthBits; } + + StrPtrLen* GetRequestChallenge() { return &fAuthDigestChallenge; } + protected: @@ -247,6 +260,9 @@ class RTSPRequestInterface : public QTSSDictionary QTSSDictionary fHeaderDictionary; Bool16 fAllowed; + Bool16 fHasUser; + Bool16 fAuthHandled; + QTSS_RTPTransportMode fTransportMode; UInt16 fSetUpServerPort; //send this back as the server_port if is SETUP request @@ -272,7 +288,13 @@ class RTSPRequestInterface : public QTSSDictionary // DJM PROTOTYPE UInt32 fRandomDataSize; - + + RTSPRequest3GPP fRequest3GPP; + RTSPRequest3GPP* fRequest3GPPPtr; + + UInt32 fBandwidthBits; + StrPtrLen fAuthDigestChallenge; + StrPtrLen fAuthDigestResponse; private: RTSPSessionInterface* fSession; @@ -299,6 +321,7 @@ class RTSPRequestInterface : public QTSSDictionary static void* GetFileDigit(QTSSDictionary* inRequest, UInt32* outLen); static void* GetRealStatusCode(QTSSDictionary* inRequest, UInt32* outLen); static void* GetLocalPath(QTSSDictionary* inRequest, UInt32* outLen); + static void* GetAuthDigestResponse(QTSSDictionary* inRequest, UInt32* outLen); //optimized preformatted response header strings static char sPremadeHeader[kStaticHeaderSizeInBytes]; diff --git a/Server.tproj/RTSPRequestStream.cpp b/Server.tproj/RTSPRequestStream.cpp index 6adb7cd..458ff5e 100644 --- a/Server.tproj/RTSPRequestStream.cpp +++ b/Server.tproj/RTSPRequestStream.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -181,7 +181,7 @@ QTSS_Error RTSPRequestStream::ReadRequest() { DateBuffer theDate; DateTranslator::UpdateDateBuffer(&theDate, 0); // get the current GMT date and time - qtss_printf("\n\n#C->S:\n#time: ms=%lu date=%s\n", (UInt32) OS::StartTimeMilli_Int(), theDate.GetDateBuffer()); + qtss_printf("\n\n#C->S:\n#time: ms=%"_U32BITARG_" date=%s\n", (UInt32) OS::StartTimeMilli_Int(), theDate.GetDateBuffer()); if (fSocket != NULL) { diff --git a/Server.tproj/RTSPRequestStream.h b/Server.tproj/RTSPRequestStream.h index c92dc90..2567559 100644 --- a/Server.tproj/RTSPRequestStream.h +++ b/Server.tproj/RTSPRequestStream.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTSPResponseStream.cpp b/Server.tproj/RTSPResponseStream.cpp index f2bfb05..9079809 100644 --- a/Server.tproj/RTSPResponseStream.cpp +++ b/Server.tproj/RTSPResponseStream.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -60,7 +60,7 @@ QTSS_Error RTSPResponseStream::WriteV(iovec* inVec, UInt32 inNumVectors, UInt32 DateBuffer theDate; DateTranslator::UpdateDateBuffer(&theDate, 0); // get the current GMT date and time - qtss_printf("\n#S->C:\n#time: ms=%lu date=%s\n", (UInt32) OS::StartTimeMilli_Int(), theDate.GetDateBuffer() ); + qtss_printf("\n#S->C:\n#time: ms=%"_U32BITARG_" date=%s\n", (UInt32) OS::StartTimeMilli_Int(), theDate.GetDateBuffer() ); for (UInt32 i =0; i < inNumVectors; i++) { StrPtrLen str((char*)inVec[i].iov_base, (UInt32) inVec[i].iov_len); str.PrintStrEOL(); @@ -158,7 +158,7 @@ QTSS_Error RTSPResponseStream::Flush() DateBuffer theDate; DateTranslator::UpdateDateBuffer(&theDate, 0); // get the current GMT date and time - qtss_printf("\n#S->C:\n#time: ms=%lu date=%s\n", (UInt32) OS::StartTimeMilli_Int(), theDate.GetDateBuffer() ); + qtss_printf("\n#S->C:\n#time: ms=%"_U32BITARG_" date=%s\n", (UInt32) OS::StartTimeMilli_Int(), theDate.GetDateBuffer() ); StrPtrLen str(this->GetBufPtr() + fBytesSentInBuffer, amtInBuffer); str.PrintStrEOL(); } diff --git a/Server.tproj/RTSPResponseStream.h b/Server.tproj/RTSPResponseStream.h index e63183c..6f5811d 100644 --- a/Server.tproj/RTSPResponseStream.h +++ b/Server.tproj/RTSPResponseStream.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/RTSPSession.cpp b/Server.tproj/RTSPSession.cpp index dedb657..26609e3 100644 --- a/Server.tproj/RTSPSession.cpp +++ b/Server.tproj/RTSPSession.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -31,11 +31,13 @@ */ #define __RTSP_HTTP_DEBUG__ 0 #define __RTSP_HTTP_VERBOSE__ 0 -#define __RTSP_AUTHENTICATION_DEBUG__ 0 +#define __RTSP_AUTH_DEBUG__ 0 +#define debug_printf if (__RTSP_AUTH_DEBUG__) qtss_printf #include "RTSPSession.h" #include "RTSPRequest.h" #include "QTSServerInterface.h" +#include "RTSPRequest3GPP.h" #include "MyAssert.h" #include "OSMemory.h" @@ -46,6 +48,7 @@ #include "base64.h" #include "OSArrayObjectDeleter.h" #include "md5digest.h" +#include "QTSSDataConverter.h" #if __FreeBSD__ || __hpux__ #include @@ -196,6 +199,7 @@ RTSPSession::~RTSPSession() for (UInt32 x = 0; x < QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPSessionClosingRole); x++) (void)QTSServerInterface::GetModule(QTSSModule::kRTSPSessionClosingRole, x)->CallDispatch(QTSS_RTSPSessionClosing_Role, &theParams); + fLiveSession = false; //used in Clean up request to remove the RTP session. this->CleanupRequest();// Make sure that all our objects are deleted if (fSessionType == qtssRTSPSession) QTSServerInterface::GetServer()->AlterCurrentRTSPSessionCount(-1); @@ -495,14 +499,14 @@ SInt64 RTSPSession::Run() break; } - if (fSentOptionsRequest && this->ParseOptionsResponse()) - { - fRoundTripTime = (SInt32) (OS::Milliseconds() - fOptionsRequestSendTime); - //qtss_printf("RTSPSession::Run RTT time = %ld msec\n", fRoundTripTime); - fState = kSendingResponse; - break; - } - else + if (fSentOptionsRequest && this->ParseOptionsResponse()) + { + fRoundTripTime = (SInt32) (OS::Milliseconds() - fOptionsRequestSendTime); + //qtss_printf("RTSPSession::Run RTT time = %"_S32BITARG_" msec\n", fRoundTripTime); + fState = kSendingResponse; + break; + } + else // Otherwise, this is a normal request, so parse it and get the RTPSession. this->SetupRequest(); @@ -588,7 +592,19 @@ SInt64 RTSPSession::Run() case kAuthenticatingRequest: { + Bool16 allowedDefault = QTSServerInterface::GetServer()->GetPrefs()->GetAllowGuestDefault(); + Bool16 allowed = allowedDefault; //server pref? + Bool16 hasUser = false; + Bool16 handled = false; + Bool16 wasHandled = false; + + StrPtrLenDel prefRealm(QTSServerInterface::GetServer()->GetPrefs()->GetAuthorizationRealm()); + if (prefRealm.Ptr != NULL) + { + fRequest->SetValue(qtssRTSPReqURLRealm,0, prefRealm.Ptr, prefRealm.Len, kDontObeyReadOnly); + } + QTSS_RTSPMethod method = fRequest->GetMethod(); if (method != qtssIllegalMethod) do { //Set the request action before calling the authentication module @@ -618,6 +634,9 @@ SInt64 RTSPSession::Run() fRequest->SetAuthScheme(qtssAuthBasic); else if( scheme == qtssAuthDigest) fRequest->SetAuthScheme(qtssAuthDigest); + + if( scheme == qtssAuthDigest) + debug_printf("RTSPSession.cpp:kAuthenticatingRequest scheme == qtssAuthDigest\n"); } // Setup the authentication param block @@ -626,21 +645,48 @@ SInt64 RTSPSession::Run() fModuleState.eventRequested = false; fModuleState.idleTime = 0; - if (QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAthnRole) > 0) + + fRequest->SetAllowed(allowed); + fRequest->SetHasUser(hasUser); + fRequest->SetAuthHandled(handled); + + StrPtrLen* lastUsedDigestChallengePtr = this->GetValue(qtssRTSPSesLastDigestChallenge); + if (lastUsedDigestChallengePtr != NULL) + (void) fRequest->SetValue(qtssRTSPReqDigestChallenge,(UInt32) 0,(void *) lastUsedDigestChallengePtr->Ptr,lastUsedDigestChallengePtr->Len, QTSSDictionary::kDontObeyReadOnly); + + + numModules = QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAthnRole); + for (fCurrentModule = 0; (fCurrentModule < numModules) && ((!fRequest->HasResponseBeenSent()) || fModuleState.eventRequested); fCurrentModule++) { + + fRequest->SetAllowed(allowedDefault); + fRequest->SetHasUser(false); + fRequest->SetAuthHandled(false); + debug_printf("RTSPSession.cpp:kAuthenticatingRequest fCurrentModule = %lu numModules=%lu\n", fCurrentModule,numModules); + + + fModuleState.eventRequested = false; + fModuleState.idleTime = 0; if (fModuleState.globalLockRequested ) - { - fModuleState.globalLockRequested = false; + { fModuleState.globalLockRequested = false; fModuleState.isGlobalLocked = true; } + + + theModule = QTSServerInterface::GetModule(QTSSModule::kRTSPAthnRole, fCurrentModule); + if (NULL == theModule) + continue; + + if (__RTSP_AUTH_DEBUG__) + { theModule->GetValue(qtssModName)->PrintStr("QTSSModule::CallDispatch ENTER module=", "\n"); + } - theModule = QTSServerInterface::GetModule(QTSSModule::kRTSPAthnRole, 0); (void)theModule->CallDispatch(QTSS_RTSPAuthenticate_Role, &theAuthenticationParams); fModuleState.isGlobalLocked = false; - + if (fModuleState.globalLockRequested) // call this request back locked return this->CallLocked(); - + // If this module has requested an event, return and wait for the event to transpire if (fModuleState.eventRequested) { @@ -648,9 +694,24 @@ SInt64 RTSPSession::Run() // the same thread to be used for next Run() return fModuleState.idleTime; // If the module has requested idle time... } + + allowed = fRequest->GetAllowed(); + hasUser = fRequest->GetHasUser(); + handled = fRequest->GetAuthHandled(); + debug_printf("RTSPSession::Run Role(kAuthenticatingRequest) allowedDefault =%d allowed= %d hasUser = %d handled=%d \n",allowedDefault, allowed,hasUser, handled); + if (handled) + wasHandled = handled; + + if (hasUser || handled ) + { + debug_printf("RTSPSession.cpp::Run(kAuthenticatingRequest) skipping other modules fCurrentModule = %lu numModules=%lu\n", fCurrentModule,numModules); + break; + } + } - this->CheckAuthentication(); + if (!wasHandled) //don't check and possibly fail the user if it the user has already been checked. + this->CheckAuthentication(); fCurrentModule = 0; if (fRequest->HasResponseBeenSent()) @@ -664,8 +725,10 @@ SInt64 RTSPSession::Run() { // Invoke authorization modules numModules = QTSServerInterface::GetNumModulesInRole(QTSSModule::kRTSPAuthRole); - - Bool16 allowed = true; + Bool16 allowedDefault = QTSServerInterface::GetServer()->GetPrefs()->GetAllowGuestDefault(); + Bool16 allowed = true; + Bool16 hasUser = false; + Bool16 handled = false; QTSS_Error theErr = QTSS_NoErr; // Invoke authorization modules @@ -675,10 +738,16 @@ SInt64 RTSPSession::Run() Assert(fRTPSession != NULL); OSMutexLocker locker(fRTPSession->GetSessionMutex()); - fRequest->SetAllowed(allowed); + fRequest->SetAllowed(allowed); + fRequest->SetHasUser(hasUser); + fRequest->SetAuthHandled(handled); for (; (fCurrentModule < numModules) && ((!fRequest->HasResponseBeenSent()) || fModuleState.eventRequested); fCurrentModule++) { + fRequest->SetHasUser(false); + fRequest->SetAuthHandled(false); + debug_printf("RTSPSession.cpp:kAuthorizingRequest BEFORE DISPATCH fCurrentModule = %lu numModules=%lu\n", fCurrentModule,numModules); + fModuleState.eventRequested = false; fModuleState.idleTime = 0; if (fModuleState.globalLockRequested ) @@ -687,6 +756,14 @@ SInt64 RTSPSession::Run() } theModule = QTSServerInterface::GetModule(QTSSModule::kRTSPAuthRole, fCurrentModule); + if (NULL == theModule) + continue; + + if (__RTSP_AUTH_DEBUG__) + { theModule->GetValue(qtssModName)->PrintStr("QTSSModule::CallDispatch ENTER module=", "\n"); + } + + (void)theModule->CallDispatch(QTSS_RTSPAuthorize_Role, &fRoleParams); fModuleState.isGlobalLocked = false; @@ -700,23 +777,29 @@ SInt64 RTSPSession::Run() // the same thread to be used for next Run() return fModuleState.idleTime; // If the module has requested idle time... } - - // If module has failed the request send a response and exit loop + + // allowed != default means a module has set the result + // handled means a module wants to be the primary for this request + // -- example qtaccess says only allow valid user and allowed default is false. So module says handled, hasUser is false, allowed is false + // allowed = fRequest->GetAllowed(); + hasUser = fRequest->GetHasUser(); + handled = fRequest->GetAuthHandled(); + debug_printf("RTSPSession::Run Role(kAuthorizingRequest) allowedDefault =%d allowed= %d hasUser = %d handled=%d \n",allowedDefault, allowed,hasUser, handled); - #if __RTSP_AUTHENTICATION_DEBUG__ - { - UInt32 len = sizeof(Bool16); - theErr = fRequest->GetValue(qtssRTSPReqUserAllowed,0, &allowed, &len); - qtss_printf("Module result for qtssRTSPReqUserAllowed = %d err = %ld \n",allowed,theErr); + if (!allowed && !handled) //old module break on !allowed + { + debug_printf("RTSPSession.cpp::Run(kAuthorizingRequest) skipping other modules fCurrentModule = %lu numModules=%lu\n", fCurrentModule,numModules); + break; } - #endif - - if (!allowed) + if (!allowed && hasUser && handled) //new module break on !allowed + { + debug_printf("RTSPSession.cpp::Run(kAuthorizingRequest) skipping other modules fCurrentModule = %lu numModules=%lu\n", fCurrentModule,numModules); break; + } + } - this->SaveRequestAuthorizationParams(fRequest); if (!allowed) @@ -724,7 +807,14 @@ SInt64 RTSPSession::Run() if (false == fRequest->HasResponseBeenSent()) { QTSS_AuthScheme challengeScheme = fRequest->GetAuthScheme(); - + + if( challengeScheme == qtssAuthDigest) + { debug_printf("RTSPSession.cpp:kAuthorizingRequest scheme == qtssAuthDigest)\n"); + } + else if( challengeScheme == qtssAuthBasic) + { debug_printf("RTSPSession.cpp:kAuthorizingRequest scheme == qtssAuthBasic)\n"); + } + if(challengeScheme == qtssAuthBasic) { fRTPSession->SetAuthScheme(qtssAuthBasic); theErr = fRequest->SendBasicChallenge(); @@ -732,7 +822,7 @@ SInt64 RTSPSession::Run() else if(challengeScheme == qtssAuthDigest) { fRTPSession->UpdateDigestAuthChallengeParams(false, false, RTSPSessionInterface::kNoQop); theErr = fRequest->SendDigestChallenge(fRTPSession->GetAuthQop(), fRTPSession->GetAuthNonce(), fRTPSession->GetAuthOpaque()); - } + } else { // No authentication scheme is given and the request was not allowed, // so send a 403: Forbidden message @@ -743,12 +833,10 @@ SInt64 RTSPSession::Run() fRequest->SetResponseKeepAlive(false); fCurrentModule = 0; fState = kPostProcessingRequest; - //if (fRTPSession) fRTPSession->Teardown(); // make sure the RTP Session is ended and logged break; } } - //if (fRTPSession) fRTPSession->Teardown(); // close RTP Session and log } fCurrentModule = 0; @@ -846,6 +934,8 @@ SInt64 RTSPSession::Run() if (fRTPSession->HasAnRTPStream() && fRTPSession->GetPacketSendingModule() == NULL) fRTPSession->SetPacketSendingModule(theModule); + this->Process3GPPData(); + if (fModuleState.globalLockRequested) // call this request back locked return this->CallLocked(); @@ -949,22 +1039,22 @@ SInt64 RTSPSession::Run() // RTSP request output buffer is completely flushed to the socket. Assert(fRequest != NULL); - // If x-dynamic-rate header is sent with a value of 1, send OPTIONS request - if ((fRequest->GetMethod() == qtssSetupMethod) && (fRequest->GetStatus() == qtssSuccessOK) - && (fRequest->GetDynamicRateState() == 1) && fRoundTripTimeCalculation) - { - this->SaveOutputStream(); - this->ResetOutputStream(); - this->SendOptionsRequest(); - } - - if (fSentOptionsRequest && (fRequest->GetMethod() == qtssIllegalMethod)) - { - this->ResetOutputStream(); - this->RevertOutputStream(); - fSentOptionsRequest = false; - } - + // If x-dynamic-rate header is sent with a value of 1, send OPTIONS request + if ((fRequest->GetMethod() == qtssSetupMethod) && (fRequest->GetStatus() == qtssSuccessOK) + && (fRequest->GetDynamicRateState() == 1) && fRoundTripTimeCalculation) + { + this->SaveOutputStream(); + this->ResetOutputStream(); + this->SendOptionsRequest(); + } + + if (fSentOptionsRequest && (fRequest->GetMethod() == qtssIllegalMethod)) + { + this->ResetOutputStream(); + this->RevertOutputStream(); + fSentOptionsRequest = false; + } + err = fOutputStream.Flush(); if (err == EAGAIN) @@ -1376,7 +1466,7 @@ void RTSPSession::CheckAuthentication() { StrPtrLen* userPassword = profile->GetValue(qtssUserPassword); QTSS_AuthScheme scheme = fRequest->GetAuthScheme(); Bool16 authenticated = true; - + // Check if authorization information returned by the client is for the scheme that the server sent the challenge if(scheme != (fRTPSession->GetAuthScheme())) { authenticated = false; @@ -1454,12 +1544,20 @@ void RTSPSession::CheckAuthentication() { // For qop="auth" if(qop == RTSPSessionInterface::kAuthQop) { StrPtrLen* nonceCount = fRequest->GetAuthNonceCount(); + UInt32 ncValue = 0; + // Convert nounce count (which is a string of 8 hex digits) into a UInt32 - UInt32 ncValue, i, pos = 1; - ncValue = (nonceCount->Ptr)[nonceCount->Len - 1]; - for(i = (nonceCount->Len - 1); i > 0; i--) { - pos *= 16; - ncValue += (nonceCount->Ptr)[i - 1] * pos; + if (nonceCount && nonceCount->Len) + { + // Convert nounce count (which is a string of 8 hex digits) into a UInt32 + UInt32 bufSize = sizeof(ncValue); + StrPtrLenDel tempString(nonceCount->GetAsCString()); + tempString.ToUpper(); + QTSSDataConverter::ConvertCHexStringToBytes(tempString.Ptr, + &ncValue, + &bufSize); + ncValue = ntohl(ncValue); + } // nonce count must not be repeated by the client if(ncValue < (fRTPSession->GetAuthNonceCount())) { @@ -1499,10 +1597,14 @@ void RTSPSession::CheckAuthentication() { // If authenticaton failed, set qtssUserName in the qtssRTSPReqUserProfile attribute // to NULL and clear out the password and any groups that have been set. - if((!authenticated) || (authenticated && (fRequest->GetStale()))) { - (void)profile->SetValue(qtssUserName, 0, sEmptyStr.Ptr, sEmptyStr.Len, QTSSDictionary::kDontObeyReadOnly); - (void)profile->SetValue(qtssUserPassword, 0, sEmptyStr.Ptr, sEmptyStr.Len, QTSSDictionary::kDontObeyReadOnly); - (void)profile->SetNumValues(qtssUserGroups, 0); + if (!fRequest->GetAuthHandled()) + { + if((!authenticated) || (authenticated && (fRequest->GetStale()))) { + debug_printf("erasing username from profile\n"); + (void)profile->SetValue(qtssUserName, 0, sEmptyStr.Ptr, sEmptyStr.Len, QTSSDictionary::kDontObeyReadOnly); + (void)profile->SetValue(qtssUserPassword, 0, sEmptyStr.Ptr, sEmptyStr.Len, QTSSDictionary::kDontObeyReadOnly); + (void)profile->SetNumValues(qtssUserGroups, 0); + } } } @@ -1517,6 +1619,47 @@ Bool16 RTSPSession::ParseOptionsResponse() return (theProtocol.Equal(sRTSPStr)); } +void RTSPSession::Process3GPPData() +{ + if (fRTPSession == NULL) + return; + + + RTSPRequest3GPP* request3GPPInfoPtr = fRequest->GetRequest3GPPInfo(); + + if (!request3GPPInfoPtr || !request3GPPInfoPtr->Is3GPP()) + return; + + fRTPSession->SetIs3GPPSession(true); + + if (request3GPPInfoPtr->HasLinkChar()) + { + StrPtrLen dataStr; + LinkCharDataFields linkCharFieldsParser; + if(0 == fRequest->GetHeaderDictionary()->GetValuePtr(qtss3GPPLinkCharHeader, 0, (void**) &dataStr.Ptr, &dataStr.Len, true)) + { + linkCharFieldsParser.SetData(&dataStr); + fRTPSession->Set3GPPLinkCharData(&linkCharFieldsParser); + } + } + + + if (request3GPPInfoPtr->HasRateAdaptation()) + { + StrPtrLen dataStr; + RateAdapationStreamDataFields fieldsParser; + + for (int numValues = 0; request3GPPInfoPtr->GetValuePtr(qtss3GPPRequestRateAdaptationStreamData, numValues, (void**) &dataStr.Ptr, &dataStr.Len) == QTSS_NoErr; numValues++) + { + //dataStr.PrintStr("RTSPSession::Process3GPPData qtss3GPPRequestRateAdaptationStreamData=[","]\n"); + fieldsParser.SetData(&dataStr); + fRTPSession->Set3GPPRateAdaptionData(&fieldsParser); + } + } + + return; +} + void RTSPSession::SetupRequest() { // @@ -1532,17 +1675,31 @@ void RTSPSession::SetupRequest() theErr = this->FindRTPSession(theMap); if (fRTPSession != NULL) + { + OSMutexLocker locker(fRTPSession->GetMutex()); + fRTPSession->RefreshTimeout(); + UInt32 headerBits = fRequest->GetBandwidthHeaderBits(); + if (headerBits != 0) + (void)fRTPSession->SetValue(qtssCliSessLastRTSPBandwidth, (UInt32) 0,&headerBits,sizeof(headerBits), QTSSDictionary::kDontObeyReadOnly ); + + } QTSS_RTSPStatusCode statusCode = qtssSuccessOK; char *body = NULL; UInt32 bodySizeBytes = 0; + // // If this is an OPTIONS request, don't even bother letting modules see it. Just - // send a standard OPTIONS response, and bedone. + // send a standard OPTIONS response, and be done. if (fRequest->GetMethod() == qtssOptionsMethod) { + + + + this->Process3GPPData(); + StrPtrLen* cSeqPtr = fRequest->GetHeaderDictionary()->GetValue(qtssCSeqHeader); if (cSeqPtr == NULL || cSeqPtr->Len == 0) { @@ -1581,7 +1738,7 @@ void RTSPSession::SetupRequest() if (fRequest->GetMethod() == qtssSetParameterMethod) { - + // Check that it has the CSeq header StrPtrLen* cSeqPtr = fRequest->GetHeaderDictionary()->GetValue(qtssCSeqHeader); if (cSeqPtr == NULL || cSeqPtr->Len == 0) // keep session @@ -1605,6 +1762,7 @@ void RTSPSession::SetupRequest() // refresh RTP session timeout so that it's kept alive in sync with the RTSP session. if (fRequest->GetLateToleranceInSec() != -1) { + OSMutexLocker locker(fRTPSession->GetMutex()); fRTPSession->SetStreamThinningParams(fRequest->GetLateToleranceInSec()); fRequest->SendHeader(); return; @@ -1635,6 +1793,12 @@ void RTSPSession::SetupRequest() return; } + + OSMutexLocker locker(fRTPSession->GetMutex()); + UInt32 headerBits = fRequest->GetBandwidthHeaderBits(); + if (headerBits != 0) + (void)fRTPSession->SetValue(qtssCliSessLastRTSPBandwidth, 0,&headerBits,sizeof(headerBits), QTSSDictionary::kDontObeyReadOnly ); + // If it's a play request and the late tolerance is sent in the request use this value if ((fRequest->GetMethod() == qtssPlayMethod) && (fRequest->GetLateToleranceInSec() != -1)) fRTPSession->SetStreamThinningParams(fRequest->GetLateToleranceInSec()); @@ -1673,6 +1837,11 @@ void RTSPSession::CleanupRequest() fRTPSession = NULL; fRoleParams.rtspRequestParams.inClientSession = NULL; } + + if (this->IsLiveSession() == false) //clear out the ID so it can't be re-used. + { fLastRTPSessionID[0] = 0; + fLastRTPSessionIDPtr.Set( fLastRTPSessionID, 0 ); + } if (fRequest != NULL) { diff --git a/Server.tproj/RTSPSession.h b/Server.tproj/RTSPSession.h index 042c6db..5309d73 100644 --- a/Server.tproj/RTSPSession.h +++ b/Server.tproj/RTSPSession.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -81,7 +81,9 @@ class RTSPSession : public RTSPSessionInterface // test current connections handled by this object against server pref connection limit Bool16 OverMaxConnections(UInt32 buffer); - + + // Process the 3GPP Request Data for the session + void Process3GPPData(); char fLastRTPSessionID[QTSS_MAX_SESSION_ID_LENGTH]; StrPtrLen fLastRTPSessionIDPtr; @@ -105,7 +107,7 @@ class RTSPSession : public RTSPSessionInterface enum { - kMaxHTTPResponseLen = 300 + kMaxHTTPResponseLen = 512 }; static char sHTTPResponseHeaderBuf[kMaxHTTPResponseLen]; static StrPtrLen sHTTPResponseHeaderPtr; diff --git a/Server.tproj/RTSPSession3GPP.cpp b/Server.tproj/RTSPSession3GPP.cpp new file mode 100644 index 0000000..b924535 --- /dev/null +++ b/Server.tproj/RTSPSession3GPP.cpp @@ -0,0 +1,65 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: RTSPSession3GPP.cpp + + Contains: Implementation of RTSPSession3GPP class. + + + +*/ + + +#include "RTSPSession3GPP.h" +#include "RTSPProtocol.h" +#include "QTSServerInterface.h" + + + +QTSSAttrInfoDict::AttrInfo RTSPSession3GPP::sAttributes[] = +{ /*fields: fAttrName, fFuncPtr, fAttrDataType, fAttrPermission */ + /* 0 */ { "qtss3GPPRTSPSesEnabled", NULL, qtssAttrDataTypeBool16, qtssAttrModeRead | qtssAttrModePreempSafe } + +}; + +void RTSPSession3GPP::Initialize() +{ + for (UInt32 x = 0; x < qtss3GPPRTSPSessNumParams; x++) + QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPRTSPSessionDictIndex)-> + SetAttribute(x, sAttributes[x].fAttrName, sAttributes[x].fFuncPtr, + sAttributes[x].fAttrDataType, sAttributes[x].fAttrPermission); + +} + + +RTSPSession3GPP::RTSPSession3GPP(Bool16 enabled) +: QTSSDictionary(QTSSDictionaryMap::GetMap(QTSSDictionaryMap::k3GPPRTSPSessionDictIndex)), + fEnabled (enabled) +{ + this->SetVal(qtss3GPPRTSPSesEnabled, &fEnabled, sizeof(fEnabled)); + + +} + diff --git a/APIModules/QTSSSvrControlModule/QTSSvrControlModule.h b/Server.tproj/RTSPSession3GPP.h similarity index 51% rename from APIModules/QTSSSvrControlModule/QTSSvrControlModule.h rename to Server.tproj/RTSPSession3GPP.h index a002b6e..d7185b0 100644 --- a/APIModules/QTSSSvrControlModule/QTSSvrControlModule.h +++ b/Server.tproj/RTSPSession3GPP.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -23,24 +23,44 @@ * */ /* - File: QTSSvrControlModule.h + File: RTSPSession3GPP.h - Contains: A module that supports the MacOSX Server Server Control interface. - Allows the QTSS Administration application to send messages to the server. - - - + Contains: This parses 3gpp headers from a request + + */ -#ifndef _QTSSERVERCONTROLMODULE_H_ -#define _QTSSERVERCONTROLMODULE_H_ +#ifndef __RTSPSESSION3GPP_H__ +#define __RTSPSESSION3GPP_H__ #include "QTSS.h" +#include "QTSSDictionary.h" + -extern "C" +//RTSPSession 3GPP utility class definition +class RTSPSession3GPP : public QTSSDictionary { - EXPORT QTSS_Error QTSSvrControlModule_Main(void* inPrivateArgs); -} + public: + //Initialize + //Call initialize before instantiating this class: see QTSServer.cpp. + static void Initialize(); + + //CONSTRUCTOR / DESTRUCTOR + //these do very little. Just initialize / delete some member data. + // + //Arguments: enable the object + RTSPSession3GPP(Bool16 enabled); + ~RTSPSession3GPP() {} + + + + private: + Bool16 fEnabled; + + //Dictionary support + static QTSSAttrInfoDict::AttrInfo sAttributes[]; + +}; +#endif // __RTSPSESSION3GPP_H__ -#endif //_RTSPSERVERCONTROLMODULE_H_ diff --git a/Server.tproj/RTSPSessionInterface.cpp b/Server.tproj/RTSPSessionInterface.cpp index 890efa6..bf5338e 100644 --- a/Server.tproj/RTSPSessionInterface.cpp +++ b/Server.tproj/RTSPSessionInterface.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -70,7 +70,12 @@ QTSSAttrInfoDict::AttrInfo RTSPSessionInterface::sAttributes[] = /* 11 */{ "qtssRTSPSesLastURLRealm", NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe }, /* 12 */{ "qtssRTSPSesLocalPort", SetupParams, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeCacheable }, - /* 13 */{ "qtssRTSPSesRemotePort", SetupParams, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeCacheable } + /* 13 */{ "qtssRTSPSesRemotePort", SetupParams, qtssAttrDataTypeUInt16, qtssAttrModeRead | qtssAttrModePreempSafe | qtssAttrModeCacheable }, + /* 14 */{ "qtssRTSPSes3GPPObject", NULL, qtssAttrDataTypeQTSS_Object,qtssAttrModeRead | qtssAttrModePreempSafe }, + + /* 15 */{ "qtssRTSPSesLastDigestChallenge",NULL, qtssAttrDataTypeCharArray, qtssAttrModeRead | qtssAttrModePreempSafe } + + }; @@ -110,7 +115,9 @@ RTSPSessionInterface::RTSPSessionInterface() fSentOptionsRequest(false), fOptionsRequestSendTime(-1), fRoundTripTime(-1), - fRoundTripTimeCalculation(true) + fRoundTripTimeCalculation(true), + fRTSPSession3GPP(QTSServerInterface::GetServer()->GetPrefs()->Get3GPPEnabled() ), + fRTSPSession3GPPPtr(&fRTSPSession3GPP) { fTimeoutTask.SetTask(this); @@ -122,11 +129,13 @@ RTSPSessionInterface::RTSPSessionInterface() this->SetVal(qtssRTSPSesEventCntxt, &fOutputSocketP, sizeof(fOutputSocketP)); this->SetVal(qtssRTSPSesType, &fSessionType, sizeof(fSessionType)); this->SetVal(qtssRTSPSesStreamRef, &fStreamRef, sizeof(fStreamRef)); + this->SetVal(qtssRTSPSes3GPPObject, &fRTSPSession3GPPPtr, sizeof(fRTSPSession3GPPPtr)); this->SetEmptyVal(qtssRTSPSesLastUserName, &fUserNameBuf[0], kMaxUserNameLen); this->SetEmptyVal(qtssRTSPSesLastUserPassword, &fUserPasswordBuf[0], kMaxUserPasswordLen); this->SetEmptyVal(qtssRTSPSesLastURLRealm, &fUserRealmBuf[0], kMaxUserRealmLen); + fInputStream.ShowRTSP(QTSServerInterface::GetServer()->GetPrefs()->GetRTSPDebugPrintfs()); fOutputStream.ShowRTSP(QTSServerInterface::GetServer()->GetPrefs()->GetRTSPDebugPrintfs()); } diff --git a/Server.tproj/RTSPSessionInterface.h b/Server.tproj/RTSPSessionInterface.h index 7f41d77..c051ef7 100644 --- a/Server.tproj/RTSPSessionInterface.h +++ b/Server.tproj/RTSPSessionInterface.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -40,6 +40,7 @@ #include "QTSS.h" #include "QTSSDictionary.h" #include "atomic.h" +#include "RTSPSession3GPP.h" class RTSPSessionInterface : public QTSSDictionary, public Task { @@ -202,6 +203,9 @@ class RTSPSessionInterface : public QTSSDictionary, public Task SInt64 fOptionsRequestSendTime; SInt32 fRoundTripTime; Bool16 fRoundTripTimeCalculation; + + RTSPSession3GPP fRTSPSession3GPP; + RTSPSession3GPP* fRTSPSession3GPPPtr; static unsigned int sSessionIDCounter; static Bool16 sDoBase64Decoding; diff --git a/Server.tproj/RunServer.cpp b/Server.tproj/RunServer.cpp index 99289b1..885f5cf 100644 --- a/Server.tproj/RunServer.cpp +++ b/Server.tproj/RunServer.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -118,21 +118,46 @@ QTSS_ServerState StartServer(XMLPrefsParser* inPrefsSource, PrefsSource* inMessa if (sServer->GetServerState() != qtssFatalErrorState) { + UInt32 numShortTaskThreads = 0; + UInt32 numBlockingThreads = 0; UInt32 numThreads = 0; + UInt32 numProcessors = 0; if (OS::ThreadSafe()) { - numThreads = sServer->GetPrefs()->GetNumThreads(); // whatever the prefs say - if (numThreads == 0) - numThreads = OS::GetNumProcessors(); // 1 worker thread per processor + numShortTaskThreads = sServer->GetPrefs()->GetNumThreads(); // whatever the prefs say + if (numShortTaskThreads == 0) { + numProcessors = OS::GetNumProcessors(); + // 1 worker thread per processor, up to 2 threads. + // Note: Limiting the number of worker threads to 2 on a MacOS X system with > 2 cores + // results in better performance on those systems, as of MacOS X 10.5. Future + // improvements should make this limit unnecessary. + if (numProcessors > 2) + numShortTaskThreads = 2; + else + numShortTaskThreads = numProcessors; + } + + numBlockingThreads = sServer->GetPrefs()->GetNumBlockingThreads(); // whatever the prefs say + if (numBlockingThreads == 0) + numBlockingThreads = 1; + } - if (numThreads == 0) - numThreads = 1; + if (numShortTaskThreads == 0) + numShortTaskThreads = 1; - TaskThreadPool::AddThreads(numThreads); + if (numBlockingThreads == 0) + numBlockingThreads = 1; + numThreads = numShortTaskThreads + numBlockingThreads; + //qtss_printf("Add threads shortask=%lu blocking=%lu\n",numShortTaskThreads, numBlockingThreads); + TaskThreadPool::SetNumShortTaskThreads(numShortTaskThreads); + TaskThreadPool::SetNumBlockingTaskThreads(numBlockingThreads); + TaskThreadPool::AddThreads(numThreads); + sServer->InitNumThreads(numThreads); + #if DEBUG - qtss_printf("Number of task threads: %lu\n",numThreads); + qtss_printf("Number of task threads: %"_U32BITARG_"\n",numThreads); #endif // Start up the server's global tasks, and start listening @@ -397,7 +422,7 @@ void DebugLevel_1(FILE* statusFile, FILE* stdOut, Bool16 printHeader ) UInt32 curBandwidth = 0; theLen = sizeof(curBandwidth); (void)QTSS_GetValue(sServer, qtssRTPSvrCurBandwidth, 0, &curBandwidth, &theLen); - qtss_snprintf(numStr, 11, "%lu", curBandwidth/1024); + qtss_snprintf(numStr, 11, "%"_U32BITARG_"", curBandwidth/1024); print_status(statusFile, stdOut,"%11s", numStr); (void)QTSS_GetValueAsString(sServer, qtssRTPSvrCurPackets, 0, &thePrefStr); @@ -406,7 +431,7 @@ void DebugLevel_1(FILE* statusFile, FILE* stdOut, Bool16 printHeader ) UInt32 currentPlaying = sServer->GetNumRTPPlayingSessions(); - qtss_snprintf( numStr, sizeof(numStr) -1, "%lu", currentPlaying); + qtss_snprintf( numStr, sizeof(numStr) -1, "%"_U32BITARG_"", currentPlaying); print_status(statusFile, stdOut,"%14s", numStr); @@ -429,21 +454,21 @@ void DebugLevel_1(FILE* statusFile, FILE* stdOut, Bool16 printHeader ) ::qtss_snprintf(numStr, sizeof(numStr) -1, "%s", "0"); if (deltaPackets > 0) - qtss_snprintf(numStr, sizeof(numStr) -1, "%ld", (SInt32) ((SInt64)totalLate / (SInt64) deltaPackets )); + qtss_snprintf(numStr, sizeof(numStr) -1, "%"_S32BITARG_"", (SInt32) ((SInt64)totalLate / (SInt64) deltaPackets )); print_status(statusFile, stdOut,"%11s", numStr); - qtss_snprintf(numStr,sizeof(numStr) -1, "%ld", (SInt32) currentMaxLate); + qtss_snprintf(numStr,sizeof(numStr) -1, "%"_S32BITARG_"", (SInt32) currentMaxLate); print_status(statusFile, stdOut,"%11s", numStr); - qtss_snprintf(numStr,sizeof(numStr) -1, "%ld", (SInt32) sServer->GetMaxLate() ); + qtss_snprintf(numStr,sizeof(numStr) -1, "%"_S32BITARG_"", (SInt32) sServer->GetMaxLate() ); print_status(statusFile, stdOut,"%11s", numStr); ::qtss_snprintf(numStr, sizeof(numStr) -1, "%s", "0"); if (deltaPackets > 0) - qtss_snprintf(numStr, sizeof(numStr) -1, "%ld", (SInt32) ((SInt64) deltaQuality / (SInt64) deltaPackets)); + qtss_snprintf(numStr, sizeof(numStr) -1, "%"_S32BITARG_"", (SInt32) ((SInt64) deltaQuality / (SInt64) deltaPackets)); print_status(statusFile, stdOut,"%11s", numStr); - qtss_snprintf(numStr,sizeof(numStr) -1, "%ld", (SInt32) sServer->GetNumThinned() ); + qtss_snprintf(numStr,sizeof(numStr) -1, "%"_S32BITARG_"", (SInt32) sServer->GetNumThinned() ); print_status(statusFile, stdOut,"%11s", numStr); @@ -550,7 +575,7 @@ void PrintStatus(Bool16 printHeader) UInt32 curBandwidth = 0; theLen = sizeof(curBandwidth); (void)QTSS_GetValue(sServer, qtssRTPSvrCurBandwidth, 0, &curBandwidth, &theLen); - qtss_printf( "%11lu", curBandwidth/1024); + qtss_printf("%11"_U32BITARG_, curBandwidth/1024); (void)QTSS_GetValueAsString(sServer, qtssRTPSvrCurPackets, 0, &thePrefStr); qtss_printf( "%11s", thePrefStr); diff --git a/Server.tproj/RunServer.h b/Server.tproj/RunServer.h index afce2ce..9333278 100644 --- a/Server.tproj/RunServer.h +++ b/Server.tproj/RunServer.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/Server.tproj/main.cpp b/Server.tproj/main.cpp index 64d15ef..ec0b12c 100644 --- a/Server.tproj/main.cpp +++ b/Server.tproj/main.cpp @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -73,6 +73,8 @@ void usage(); void usage() { const char *usage_name = PLATFORM_SERVER_BIN_NAME; +//long ptrsize = sizeof(char *); printf("size of ptr = %ld\n", ptrsize); +//long longsize = sizeof(long); printf("size of long = %ld\n", longsize); qtss_printf("%s/%s ( Build/%s; Platform/%s; %s) Built on: %s\n",QTSServerInterface::GetServerName().Ptr, QTSServerInterface::GetServerVersion().Ptr, @@ -97,7 +99,7 @@ Bool16 sendtochild(int sig, pid_t myPID) { if (sChildPID != 0 && sChildPID != myPID) // this is the parent { // Send signal to child - ::kill(sChildPID, sig); + ::kill(sChildPID, sig); return true; } @@ -206,6 +208,8 @@ int main(int argc, char * argv[]) { extern char* optarg; + + // on write, don't send signal for SIGPIPE, just set errno to EPIPE // and return -1 //signal is a deprecated and potentially dangerous function @@ -233,7 +237,7 @@ int main(int argc, char * argv[]) (void)::sigaction(SIGALRM, &act, NULL); -#if __MacOSX__ || __solaris__ || __linux__ || __hpux__ +#if __solaris__ || __linux__ || __hpux__ //grow our pool of file descriptors to the max! struct rlimit rl; @@ -245,19 +249,28 @@ int main(int argc, char * argv[]) #endif #if __MacOSX__ - getrlimit(RLIMIT_NOFILE, &rl); //get the resulting max value from setting RLIM_INFINITY - rl.rlim_cur = (rlim_t) ( (float) rl.rlim_cur * 0.9); //use 90% - rl. rlim_max = (rlim_t) ( (float) rl. rlim_max * 0.9); //use 90% - setrlimit (RLIMIT_NOFILE, &rl); + struct rlimit rl; + getrlimit(RLIMIT_NOFILE, &rl); //get the default values + //printf("current open file limit =%"_U32BITARG_"\n", (UInt32) rl.rlim_cur); //leopard returns 256 + //printf("current open file max =%"_U32BITARG_"\n", (UInt32) rl.rlim_max);//leopard returns infinity (-1) + + rl. rlim_max = (rlim_t) RLIM_INFINITY -1; //use a big number to find out the real max but do not use RLIM_INFINITY that is not allowed. see man page + setrlimit (RLIMIT_NOFILE, &rl); //resets the max value stored by limits to the boot config values. + getrlimit(RLIMIT_NOFILE, &rl); //now get the real max value + //printf("current open file limit =%"_U32BITARG_"\n", (UInt32) rl.rlim_cur); + //printf("current open file max =%"_U32BITARG_"\n", (UInt32) rl.rlim_max); + + rl.rlim_cur = (rlim_t) ( (float) rl.rlim_max * 0.9); //use 90% of the max set in /etc/rc.server and /etc/sysctl.conf.default + setrlimit (RLIMIT_NOFILE, &rl); //finally set the current limit + #endif - + #if 0 // testing getrlimit(RLIMIT_NOFILE, &rl); - printf("current open file limit =%lu\n", (long unsigned) rl.rlim_cur); - printf("current open file max =%lu\n", (long unsigned) rl.rlim_max); + printf("current open file limit =%"_U32BITARG_"\n", (UInt32) rl.rlim_cur); + printf("current open file max =%"_U32BITARG_"\n", (UInt32) rl.rlim_max); #endif - #if __MacOSX__ || __FreeBSD__ // // These 2 OSes have problems with large socket buffer sizes. Make sure they allow even @@ -272,8 +285,10 @@ int main(int argc, char * argv[]) mib[2] = KIPC_MAXSOCKBUF; mib[3] = 0; - int maxSocketBufferSizeVal = 2048 * 1024; // Allow up to 2 MB. That is WAY more than we should need + int maxSocketBufferSizeVal = 2000 * 1024; // Allow up to 2 MB. That is WAY more than we should need (void) ::sysctl(mib, 3, 0, 0, &maxSocketBufferSizeVal, sizeof(maxSocketBufferSizeVal)); + //int sysctlErr = ::sysctl(mib, 3, 0, 0, &maxSocketBufferSizeVal, sizeof(maxSocketBufferSizeVal)); + //qtss_printf("sysctl maxSocketBufferSizeVal=%d err=%d\n",maxSocketBufferSizeVal, sysctlErr); #endif //First thing to do is to read command-line arguments. diff --git a/Server.tproj/win32main.cpp b/Server.tproj/win32main.cpp index efc6b5c..dad0c2a 100644 --- a/Server.tproj/win32main.cpp +++ b/Server.tproj/win32main.cpp @@ -1,20 +1,26 @@ /* - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. */ /* File: win32main.cpp diff --git a/StreamingLoadTool/Makefile.POSIX b/StreamingLoadTool/Makefile.POSIX new file mode 100644 index 0000000..e520e53 --- /dev/null +++ b/StreamingLoadTool/Makefile.POSIX @@ -0,0 +1,65 @@ +# Copyright (c) 1999 Apple Computer, Inc. All rights reserved. +# + +NAME = StreamingLoadTool +C++ = $(CPLUS) +CC = $(CCOMP) +LINK = $(LINKER) +CCFLAGS += $(COMPILER_FLAGS) $(INCLUDE_FLAG) ../PlatformHeader.h -g -Wall +LIBS = $(CORE_LINK_LIBS) -lCommonUtilitiesLib ../CommonUtilitiesLib/libCommonUtilitiesLib.a + +#OPTIMIZATION +CCFLAGS += -O3 + +# EACH DIRECTORY WITH HEADERS MUST BE APPENDED IN THIS MANNER TO THE CCFLAGS + +CCFLAGS += -I. +CCFLAGS += -I.. +CCFLAGS += -I../OSMemoryLib +CCFLAGS += -I../RTSPClientLib +CCFLAGS += -I../APICommonCode +CCFLAGS += -I../CommonUtilitiesLib +CCFLAGS += -I../PrefsSourceLib +CCFLAGS += -I../APIStubLib +CCFLAGS += -I../RTPMetaInfoLib + +# EACH DIRECTORY WITH A STATIC LIBRARY MUST BE APPENDED IN THIS MANNER TO THE LINKOPTS + +LINKOPTS = -L../CommonUtilitiesLib + +C++FLAGS = $(CCFLAGS) + +CFILES = + +CPPFILES = StreamingLoadTool.cpp \ + ../SafeStdLib/InternalStdLib.cpp \ + ../RTSPClientLib/ClientSocket.cpp \ + ../RTSPClientLib/RTSPClient.cpp \ + ../RTSPClientLib/ClientSession.cpp \ + ../PrefsSourceLib/FilePrefsSource.cpp \ + ../APICommonCode/SDPSourceInfo.cpp \ + ../APICommonCode/SourceInfo.cpp \ + ../RTPMetaInfoLib/RTPMetaInfoPacket.cpp \ + ../OSMemoryLib/OSMemory.cpp + + +# CCFLAGS += $(foreach dir,$(HDRS),-I$(dir)) + +all: StreamingLoadTool + +StreamingLoadTool: $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) + $(LINK) -o $@ $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(COMPILER_FLAGS) $(LINKOPTS) $(LIBS) + +install: StreamingLoadTool + +clean: + rm -f $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) + +.SUFFIXES: .cpp .c .o + +.cpp.o: + $(C++) -c -o $*.o $(DEFINES) $(C++FLAGS) $*.cpp + +.c.o: + $(CC) -c -o $*.o $(DEFINES) $(CCFLAGS) $*.c + diff --git a/StreamingLoadTool/Nokia_N90.conf b/StreamingLoadTool/Nokia_N90.conf new file mode 100644 index 0000000..a6f2cc5 --- /dev/null +++ b/StreamingLoadTool/Nokia_N90.conf @@ -0,0 +1,127 @@ +# This is a StreamingLoadTool config file + +#player user agent name +player QTS + +# Use the "clienttype" directive to specify whether StreamingLoadTool should make +# RTSP / UDP connections or RTSP / HTTP connections or . Say "http" for +# the latter, "udp" for the former. Say "reliableudp" for reliable UDP. +# Say "tcp" for straight interleaved RTSP / RTP +clienttype udp + +# If doing RTSP / HTTP, set droppost to "yes" if you would like StreamingLoadTool +# to drop the POST half of each RTSP / HTTP connection after sending the +# PLAY. "yes" best emulates the "real" client behavior. +droppost yes + +# Set this to the # of concurrent clients you would like StreamingLoadTool to maintain(default = 1) +# When not running forever, this is also the number of clients to load before exiting +concurrentclients 1 + +# Specify a connection port for each connection(default 554) +port 554 + +# Specify a proxy IP address in dotted-decimal form. If 0, StreamingLoadTool +# will not use a proxy to connect +proxyip 0 + +# Client window (size of UDP socket buffers). Default = 32768 +# For reliable UDP, this affects packet loss and the server's retransmission algorithm +clientwindow 32768 + +# StreamingLoadTool should send a TEARDOWN after streaming for this # of seconds +movielength 60 + +# If runforever is set to "no", StreamingLoadTool will quit after finishing the +# list of URLs provided below. If "yes" StreamingLoadTool will loop forever. (Default = no) +runforever no + +# Each instance of StreamingLoadTool must have a unique httpcookie value. This +# can also be specified on the command-line (see usage by doing StreamingLoadTool -v) (Default = 1) +httpcookie 1 + +# Set to "yes" if you would like StreamingLoadTool to generate a connection log +shouldlog yes + +# Append junk data after each DESCRIBE request +appendjunk no + +# Location to place the connection log +logpath streamingloadtool.log + +# Interval in milliseconds between attempts to read media data. For acking +# udp clients, this is also the interval between acks. (Default = 50 milliseconds) +readinterval 10 + +# how late should packets be allowed to be sent? Value is in seconds. +# 0 = no late tolerance will be specified at all +latetolerance 0 + +# The "Packet-Range" header is used as an alternative to the standard "Range" +# header on a Play request for specifying a range of packets. Leave +# this line blank to issue a standard play, specify a packet range header +# here to send that instead of standard Range header. +packetplayheader + +# The overbuffer window size is the number of K bytes the server can send +# ahead of time. This applies to all transports except "udp". +overbufferwindowsize 5192 + +# Set this to be the value of the x-RTP-Meta-Info header sent to the server. +# If it is empty, no x-RTP-Meta-Info header will be sent. Otherwise, specify +# the fields you would like to receive +# rtpmetainfo tt;ft;pn;fd;md;sq + +# Set this to be the speed you want the streams at (1 = normal speed, 2 = 2x normal speed, etc; float) +speed 1 + +# Enable this to have StreamingLoadTool randomly thumb around +randomthumb no + +# Set sendoptions "yes" to send an OPTIONS request before executing each DESCRIBE request +sendoptions no + +# Set requestrandomdata "yes" to send an OPTIONS request with a random data request header before executing each DESCRIBE request +requestrandomdata no + +# How many random bytes the server should send in the body of the OPTIONS response +randomdatasize 0 + +# How often should the client send RTCP messages in milliseconds. (Default = 5000; ACK's in reliableudp are sent ASAP) +rtcpinterval 1000 + +# List of rtsp URLs for StreamingLoadTool to execute +url rtsp://foo.bar.com/sample.mov + +# List of users:passwords for authentication (format: user:password) +user user0:pass0 + +#The advertised bandwidth in bps (default: not sent) +bandwidth 31235 + +#The player buffer space per stream in bytes. Default of 0 is unlimited +buffer 15000 + +#target delay in milliseconds. Default 3000. Use 0 to turn it off +#This is the desired amount of playback time to keep in the buffer. +delay 10000 + +#Start play time delay; expressed as a fraction of the target delay. This is how much data there should be in the buffer before +#the media starts playing. Use 0.0 to start playing immediately, and 1.0 to start playing when the target delay has been met. Default = 5.0 +startdelay 0.5 + +#Turn on 3GPP features and headers? 3GPP should be not be enabled on reliableudp transport; default = no +enable3GPP yes + +# The advertised guarenteed bit rate(GBW), maximum bit rate(MBW), and maximum transfer delay(MTD) for the wireless link +# Units are in kilobits per seconds and milliseconds. +# Default = 0 = no specified value +#GBW 32 +#MBW 128 +#MTD 2000 + +# Enable a forced PlayoutDelay value for 3GPP RTCP packets (The value defined for the playoutDelay preference will be sent) +enableForcePlayoutDelay no + +# PlayoutDelay value to use if enableForcePlayoutDelay is enabled +playoutDelay 65535 diff --git a/StreamingLoadTool/Nokia_N90_Setting.xls b/StreamingLoadTool/Nokia_N90_Setting.xls new file mode 100644 index 0000000000000000000000000000000000000000..567e8b8df5afa7c29a2cede7b6ffef7fb80e6fe4 GIT binary patch literal 34304 zcmeHQ4R91kcJ3Md3kgZUIYzR4!@?OMqt!|)A%SHOATT5XWDs#;>nttON-X->&1wNb zd}m#3F0L!*vW6U2Bsj*-84lY?NS$r$E7v!-!HrJ>|d1skQu^Cmc_2c3RrFuUBNj4 z52cJP#|d3ui^XDs$QVwYFpXN^Bb0SDZeA838;}E_d!7f#2NVDb0kZ%_fMURGKnVaU zz{&t~0CNHJ0G|Qe2KW`g?ST1!azF*(4nQT~PQYgY8ejpy1y~4J1o#}_F2G_y6<`UV z8gMsYDWC@62GjyPfI2`uzzb*qGy;|ZngGoJ(oKSUaNYvA7qAkr3eXDBUWQE4QwjY;f-{G0W4qZf{(LCMKDLpKuzp@9qC{8#=OZ>ktB^n0KCt zs3Pi62sx|`IrQ=}_>og&lI3Ye{(9Xr&7b;E5fvJtARoOrH-|;;xsX>nuCQEGAOp<6M6H zbI$i|!Ht*>_CK+)(I-V z_Ury|pKrt`q7+1Zn{s8$7^PaL%Cb&nnb$F7VOfl9SYj$6{*A@RhJj0qx--AnH2s?smImfV@W05%`iStlX>p{@SD&!;lEFet!$>r8G>svKOCsKppI zTt+T~G|Aco%MRP!O+~5J^peTTt}0IGT5^vhxN2M|S9euwH*#@fV8GDOU6q`!T1!q; zt)-+`h2aB+Cpj}wgVg+Z(UP)UwJMS6GK@kPZ{nHi>Erq8iFwwElvnu3$k;Dp8g8o| z&T2#_MdS1jGNY6BnekiENvawDOr|SLqw2{Z+BpaJj<>@vjr1iJ^raT`YEwG-N*|E* zH{3_^qs-_zu&BoJ98$Ac>3CL*a9K2$<2li6j^{@6IGz_R;P^Aqe2!U^aeUi&PV6A8 zwXk?J5WSb5%RYOWe6n}g)t~3EpXEQ!*o*PFcPw?$d>w^m??ex9-Mad!6XS)g&& z`@%K$UQIoV{o+Zs`TYmjKv|4kJF%X9dD{c*xi_K{#xKeEVXoFgu?ugqBjveINKWri4nGm0eeQ&cwb!9(Gn< z^lx7RUU(*Ua!ki(Vt?PGdO^_~e+7 zfASGrOZh50#_CVup+Zx}kqGkWTF_LeYW*q5Kh_5Mj0SF=FB!d34F@~}tQ$x9_5t=& zeDsmMW8lA{>`~jJkBoJ49vqaBZ+(;McP4h?BJt_zMfnryDPFi!N|}1{zN2jURmgw7 z6lsg7Jtj&oQh45OpWc z-=cV2hj@MV7aUdg+;$PyQ6&(f^gNiPKb9n~1N>+++^0ww`JJHjXkUc=v$}-*;}{T2 zyFi(JCU)F|_@7XEb=F_?pbV7$CzKzR4{#PdU{#|?KaY)%w2>%^KNI_A51k@jQ$h>g zr2KHb2*C29f7c`K^>I($!MA@5(m}QC`E1+=q&v>*qbg5dpzA{YvIR9(ZRXd;!=kDP4^D+Q9d4@i}unUg>vD#^>+^( zI;74z{bRzo?lG1RS)PNee9)l}C$4b*vhP+&{$t|$%fFP@SLlBH^{<`#8s$&?$?`;* zU?=(g7V;3kpJa>sLDo(@5R|4o5X@3(7!iR6x`lWeuY*-Brk)7Pp|U=_5TNri(Wl@8 zUOoBKw>RzRSk=wx)tr7eKmHDd3ClYgfrRx#zJX+^G_vD1tVFH#Q{JMrdXu))>g|ktGF6~0VQLy*1ieDf zEPjtn)o=Q!k4e=?PxQvCOKnF-feNlmfwuMfhF~OSn(`Q`6}LLjn(1P5yf8bSThZp= z#Tcx}j2yB|suourXTTCJfIc`~pS{sr*w8^|%AjRYy|@xN_J^8c(ke8%dq=16dqY0> z;oX6e{$RIoWilJNQXJFOeYUfbu)4NZOd%t`6pafgX^Ev50aZDsdr4`7Nb{uDpc86PYYeHX);wu z3$nMqz7aDxiC~(zzQG_g;cz>;oY2}y=`wETM%Z$^3h5xjzS%dNcoa`qJ5yVyn~4mq zu{$*E?g)-Xw)KVsA(;Hc+Ys9xed89{u8O3+vLGYAnjwD#uclIpW^csOUW~-08Q(ft zSKdAcJ2UC6@if(V>N@M1Rx~VM;a!&UtYX`!_GU8e$v*BbT&HSnAMxFs5&ss@F`K$t zn99iw`%T^kvvIz$X;}(+nwiG*XYCu%-zggA6Lur{o`U)@j`O#e0vju9p}{qE%_+(! z{aFigQq8q8l;iqX&Pio26^cMuI|`~ z_bxOusJ{$|`#~O$yB_v9;q2MDl9-^|gGa#jVDDf;P(K!9_-pCamtE4xzEG0mYCb)M zsXuAcJNdheq+-RrXS+PotEu~r##-7*F{xxrypDDWldGs_Y;-dduUU*$)N9yM%co3N z7H(quY0@84`^r*fDa{7Y`guW5?3LInMSocEV%9)TRn}EL0la~2pjh>v)GEG8pbr-c z%gUlf0m`E>oYUHYc-WcG<||Qtsl|zDC(qJKMa*4OVp?E&HFi}l;JrfY!x65mQrLFH z6tXYy6*7zsm(xr)Q|X#gZ7ij0mB$nQ*LfnIskBU9ETZQXWcg|-r(|KKo3Uemgv6Xi z1sAk&(A=CxD^mmwCrTElQB?))6!-=?jpoe-?dz4gyc`o+Zk%=zX)AeJTAC)(YRE%l zAMq7WVrf5t}^TZG0JpYJAo99vaC$V^SQPST^bq;%# zM6*^v3$%(<^sW3d08S*CpH?D+EXti!I2V74^1mF@j~A@hUfzT zB1L^>#QKX{UV&!lJgA{sajWCZe^OJ#AE&R&=IC?GGjPeEN!8-2;|y5N`iluCM0Evn z><{%DeXZmT`#jG23-KP*S$~o78gtS=v+gQ=bi0W~EWEb%+iazpdH$B&AZZ*30g&^`zTuvX;nVp@ju`X0N}vm33LZkp47G z&zLPSA?C{0o6*Lzy4TPT;5{S*M_=Um`Z2;1r`sb{no*DY`ZDL ze8My)>+i=q&fj7RY^23st&upm3@FYxoto2tQ93lpZ+NBzWg*Q%OHgS@l;LVqPN zC4;&Em>JM$kD(df?r{VeweLaPk{iY+Iap#lbt(<5&OPf6nK9gZmHEJ)*f!gM!YTEBXEXE0o*NL_xZ2Ak^id!9Lp8dvcjy{*@%(EN6D&*F!tMMngj=j;p?4&D?p@Ys8yJJy3 z$NuQU_VxKZ&OEy_&ko|ZQq3H(6%BK0^Yp8aNPu+;?g4AWh!YLeEuP1jc)h{6zD4k^ce*DSOIo9_$teB#8*FS81XHIf5q<@f?k1ygRvhI!cTRNzL5*GRlY;x35;67P}t zF^QuRKP~YK5}%g%O^Hzl3?5h zY}UxHPfGl%#NUzlBFDxycVVfPN_!PzLqdU>R`8JSFiT zOZ=k5uSxtj92@Vd3->My+t9eMcue4GiJK&DllXp#AC`Df;xUO2NPJM@XC!_};@2fU z&#|#RNK>F8N}Gw^sfbZ2CQa{(5mQVtX?iys@@6aRP%p-Q0CNtEtKu{nF7Uk#vkwe8 zv(owo#aE!a5`G6bz5P_&!9v8V>@slqfAhd9B(6g`+Jv**RI=y^#9=O3Xcm2M36c%9 zchSB?{LU-rc}Q<)0~d1D<(E^<+uH8G|KW$@C8J(XeZ2x@TgpnaS#kUB-awyEyD#h; z>GQKJ*gX1zQ!!e_%?%*7CoY_?P>l+qEed*aIjb&Ku(u^qs&Q--6pT_tX~J=hpfm_d z8z@@@1s?$-p8Ij^5|m|v@-Qd?L1_|{K~VMxO0%Ghf%2H3EEkjmphQ8bVqax>Y8^}> zNk53=)0|JO6XkvelouqWp7Xqf<7r9pa?0yCz9}gUoN^vVvSQW6Y8~trB-1@3yIO_T z8C6!ZC5M$YVhd=pv=w4>;+!RDVd7lM3h!8$hq+|hXq9E%v5>cEF=SQY{#9nv=6l!( z`t`E3o$Y9g=(||ue9L|LC|=QW>KgG;XPkQzyy^S&Q9O9P^*5MPrhUxZZ_CGY%4 z@e#yh%Oc2mmc5Er#D2A`{2zE=6%x}uqChRb0G6Ol^3o^N^i+wn7}Iz^sK|hiw7x0> zKI#jN8SqgLS(5=D^_wjj@KJB-%7BmhSReyF>Un!I;G_QdSO$F5OQRX^QNMjU13v1_ zFJ!<+ef)F=eAM&b%z%&V!KDoN$o3Pj&^l}Vn~ibm5@13;jANGoW_;yb=M(lv6W8Dt zXP0m-Km8|SGCkV)&+6sxT|VlrC_VIb_|Ho}{4;V#-v!V!75UE{0DKUS{RRNz6{8Qv z(Q_77oMQlD*b7|v&yN7ZlVXnp==tkO0Qt$U0aSqQPm?cBf&AfIbrzRJ*CdmI5#NbS zh?fjPe8*Jo-HWYK6Q^EQ1YXLEd~}lYKrlQwN*k(1>U+!h6+J5>>W=x z&EWTI@qD?L-@Ja~8hRS#&jfB>YBxqgCuH0L3R{c)=ZEpkwuS9ryE0CvGty@r#h5Nf cc0Ixd!!P1GZ^JUFsLAF(Dd8C~Pv`vqAHU)*mH+?% literal 0 HcmV?d00001 diff --git a/StreamingLoadTool/StreamingLoadTool.cpp b/StreamingLoadTool/StreamingLoadTool.cpp new file mode 100644 index 0000000..10b17b6 --- /dev/null +++ b/StreamingLoadTool/StreamingLoadTool.cpp @@ -0,0 +1,1200 @@ +/* + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * + */ +/* + File: StreamingLoadTool.cpp + + Contains: Tool that simulates streaming movie load +*/ + +#include +#include +#include +#include +#include +#include + +#ifndef kVersionString +#include "revision.h" +#endif +#ifndef __Win32__ +#include +#include +#include +#include +#include +#include +#include +#endif + +#include "ClientSession.h" +#include "FilePrefsSource.h" +#include "OSMemory.h" +#include "OSArrayObjectDeleter.h" +#include "SocketUtils.h" +#include "StringFormatter.h" +#include "Socket.h" +#include "OS.h" +#include "Task.h" +#include "TimeoutTask.h" +#include "SVector.h" +#ifndef __MacOSX__ +#include "getopt.h" +#include "revision.h" +#endif + +#define STREAMINGLOADTOOL_DEBUG 0 +#define PACKETADDSIZE 28 // IP headers = 20 + UDP headers = 8 + +// +// Static data +static UInt32 sConnectionsThatErrored = 0; +static UInt32 sFailedConnections = 0; +static UInt32 sSuccessfulConnections = 0; +static FILE* sLog = NULL; + +static ClientSession** sClientSessionArray = NULL; +static UInt32 sNumClients = 1; +static Bool16 sNumClientsIsSpecified = false; +static Bool16 sGotSigInt = false; +static Bool16 sQuitNow = false; +static SInt64 sSigIntTime = 0; + +static UInt64 sTotalBytesReceived = 0; +static UInt64 sTotalPacketsReceived = 0; +static UInt64 sTotalPacketsLost = 0; +static UInt64 sTotalOutOfOrder = 0; +static UInt64 sTotalOutOfBound = 0; +static UInt64 sTotalDuplicates = 0; +static UInt64 sTotalNumAcks = 0; +static UInt64 sTotalMalformed = 0; +static UInt64 sTotalLatePackets; +static UInt64 sTotalBufferOverflowedPackets; +static Bool16 sEnable3GPP = false; + + +int main(int argc, char *argv[]); + +// +// Helper functions +char* GetClientTypeDescription(ClientSession::ClientType inClientType); +void DoDNSLookup(SVector &theURLlist, SVector &ioIPAddrs); +void RecordClientInfoBeforeDeath(ClientSession* inSession); +char* GetDeathReasonDescription(UInt32 inDeathReason); +char* GetPayloadDescription(QTSS_RTPPayloadType inPayload); +void CheckForStreamingLoadToolDotMov(SVector &ioIPAddrArray, SVector &theURLlist, UInt16 inPort, SVector &userList, SVector &passwordList, UInt32 verboseLevel); +UInt32 CalcStartTime(Bool16 inRandomThumb, UInt32 inMovieLength); +extern char* optarg; + +#ifndef __Win32__ +void sigcatcher(int sig, int /*sinfo*/, struct sigcontext* /*sctxt*/); + +void sigcatcher(int sig, int /*sinfo*/, struct sigcontext* /*sctxt*/) +{ + //printf("sigcatcher =%d\n", sig); + + if ((sig == SIGINT) || (sig == SIGTERM)) + { // TheTime check and sQuitNow flag tests are needed test with Linux and OSX. + if (sGotSigInt && (OS::Milliseconds() > sSigIntTime + 500) ) + { if (!sQuitNow)// print only once + printf("Force quitting\n"); + sQuitNow = true; + } + else + { + sSigIntTime = OS::Milliseconds(); + sGotSigInt = true; + } + } +} +#endif + +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__) + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + act.sa_handler = (void(*)(int))&sigcatcher; +#elif defined(__sgi__) + sigemptyset(&act.sa_mask); + act.sa_flags = 0; + act.sa_handler = (void(*)(...))&sigcatcher; +#else + act.sa_mask = 0; + act.sa_flags = 0; + act.sa_handler = (void(*)(...))&sigcatcher; +#endif + (void)::sigaction(SIGPIPE, &act, NULL); + (void)::sigaction(SIGINT, &act, NULL); + (void)::sigaction(SIGTERM, &act, NULL); + +#if __MacOSX__ || __solaris__ + //grow our pool of file descriptors to the max! + struct rlimit rl; + + rl.rlim_cur = Socket::kMaxNumSockets; + rl.rlim_max = Socket::kMaxNumSockets; + + setrlimit (RLIMIT_NOFILE, &rl); +#endif +#else + // + // Start Win32 DLLs + WORD wsVersion = MAKEWORD(1, 1); + WSADATA wsData; + (void)::WSAStartup(wsVersion, &wsData); +#endif + +#ifdef __Win32__ + char* configFilePath = "streamingloadtool.cfg"; +#else + char* configFilePath = "streamingloadtool.conf"; +#endif + Bool16 configFilePathIsSpecified = false; + Bool16 dropPost = false; + ClientSession::ClientType theClientType = ClientSession::kRTSPUDPClientType; + Bool16 theClientTypeIsSpecified = false; + UInt16 thePort = 554; + Bool16 thePortIsSpecified = false; + UInt32 theMovieLength = 60; + Bool16 theMovieLengthIsSpecified = false; + Bool16 runForever = false; + UInt32 theHTTPCookie = 1; + Bool16 shouldLog = false; + char* logPath = "streamingloadtool.log"; + UInt32 proxyIP = 0; + Bool16 appendJunk = false; + UInt32 theReadInterval = 50; + UInt32 sockRcvBuf = 32768; + Float32 lateTolerance = 0; + char* rtpMetaInfo = NULL; + Float32 speed = 1; + UInt32 verboseLevel = 0; + char* packetPlayHeader = NULL; + UInt32 overbufferwindowInK = 0; + Bool16 randomThumb = false; + Bool16 sendOptions = false; + Bool16 requestRandomData = false; + SInt32 randomDataSize = 0; + UInt32 rtcpInterval = 5000; + UInt32 bandwidth = 0; + UInt32 guarenteedBitRate = 0; + UInt32 maxBitRate = 0; + UInt32 maxTransferDelay = 0; + Bool16 enableForcePlayoutDelay = false; + UInt32 playoutDelay = 0; + UInt32 bufferSpace = 100000; + UInt32 delayTime = 10000; + Float32 startDelayFrac = 0.5; + // + // Set up our User Agent string for the RTSP client + char theUserAgentStr[128]; + ::sprintf(theUserAgentStr, "StreamingLoadTool-%s",kVersionString); + RTSPClient::SetUserAgentStr(theUserAgentStr); + + SVectoruserList; + SVectorpasswordList; + SVector theURLlist; + + char* controlID = NULL; + char ch = 0; + // + // Read our command line options + while( (ch = getopt(argc, argv, "vf:c:i:V:u:t:p:n:l:s:")) != -1 ) + { + switch( ch ) + { + case '?': + case 'v': + printf("StreamingLoadTool %s, built on %s, %s.\n", kVersionString, __DATE__ , __TIME__); + printf("Usage: StreamingLoadTool [-u theURL] [-t transport] [-n port] [-l length] [-i urlid] [-f path] [-c #] [-V #]\n"); + printf("-v: Print this message\n"); + printf("-f: Config file to use. Defaults to streamingloadtool.conf if the URL (-u) is not specified.\n"); + printf("-c: HTTP cookie to use. Overrides what is in config file\n"); + printf("-V: debug verbose level\n"); + printf("-i: RTSP stream URL id (i.e. trackID or streamID etc.). Default is -i trackID\n"); + printf("-u: the URL (format: rtsp://etc/movie.mov).\n"); + printf("-t: the transport type: udp, reliableudp, tcp, or http.\n"); + printf("-p: the port.\n"); + printf("-n: the number of clients.\n"); + printf("-l: the movie duration.\n"); + printf("-s: the user and password format: (user:password).\n"); + + exit(0); + break; + case 'f': + configFilePathIsSpecified = true; + configFilePath = optarg; + break; + case 'i': + controlID = optarg; + break; + case 'c': + theHTTPCookie = atoi(optarg); + break; + case 'V': + verboseLevel = atoi(optarg); + break; + case 'u': + theURLlist.push_back(optarg); + break; + case 't': + theClientTypeIsSpecified = true; + if (::strcmp("http", optarg) == 0) + theClientType = ClientSession::kRTSPHTTPClientType; + else if (::strcmp("reliableudp", optarg) == 0) + theClientType = ClientSession::kRTSPReliableUDPClientType; + else if (::strcmp("tcp", optarg) == 0) + theClientType = ClientSession::kRTSPTCPClientType; + else if (::strcmp("udp", optarg) == 0) + theClientType = ClientSession::kRTSPUDPClientType; + else if (::strcmp("3gudp", optarg) == 0) + { theClientType = ClientSession::kRTSPUDPClientType; + sEnable3GPP = true; + } + else + { + printf("Invalid transport type: %s\n", optarg); + exit(0); + } + break; + case 'p': + thePortIsSpecified = true; + thePort = atoi(optarg); + break; + case 'n': + sNumClientsIsSpecified = true; + sNumClients = atoi(optarg); + break; + case 'l': + theMovieLengthIsSpecified = true; + theMovieLength = atoi(optarg); + break; + case 's' : + { + char *str = ::strdup(optarg); + char *user = str; + char *password = NULL; + char *colonChar = ::strchr(str, ':'); + printf("optarg=%s\n",str); + if (colonChar != NULL) + { + *colonChar = '\0'; + password = colonChar + 1; + } + if ((user != NULL) && (password != NULL) ) + { + userList.push_back(user); + passwordList.push_back(password); + } + break; + } + + } + } + + FilePrefsSource theFileParser(true); + // Get settings from the file + Bool16 configFileError = theFileParser.InitFromConfigFile(configFilePath); + if (configFileError && theURLlist.empty()) + { + printf("Couldn't find StreamingLoadTool config file at: %s\n", configFilePath); + ::exit(-1); + } + else if (!configFileError) + { + for (UInt32 x = 0; true; x++) + { + char* theValue = theFileParser.GetValueAtIndex(x); + char* theKey = theFileParser.GetKeyAtIndex(x); + + if (theKey == NULL) + break; + + if (theValue != NULL) + { + if (::strcmp("clienttype", theKey) == 0 && !theClientTypeIsSpecified) + { + if (::strcmp("http", theValue) == 0) + theClientType = ClientSession::kRTSPHTTPClientType; + else if (::strcmp("reliableudp", theValue) == 0) + theClientType = ClientSession::kRTSPReliableUDPClientType; + else if (::strcmp("tcp", theValue) == 0) + theClientType = ClientSession::kRTSPTCPClientType; + else if (::strcmp("udp", theValue) == 0) + theClientType = ClientSession::kRTSPUDPClientType; + else if (::strcmp("3gudp", theValue) == 0) + { theClientType = ClientSession::kRTSPUDPClientType; + sEnable3GPP = true; + } + else + { + printf("Invalid transport type: %s\n", theValue); + exit(0); + } + } + else if (::strcmp("player", theKey) == 0) + { + if (theValue[0] != 0) + { + ::strncpy(theUserAgentStr, theValue, sizeof(theUserAgentStr)); + theUserAgentStr[sizeof(theUserAgentStr) -1] = 0; + RTSPClient::SetUserAgentStr(theUserAgentStr); + } + } + else if (::strcmp("droppost", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + dropPost = true; + } + else if (::strcmp("concurrentclients", theKey) == 0 && !sNumClientsIsSpecified) + { + ::sscanf(theValue, "%"_U32BITARG_"", &sNumClients); + } + else if (::strcmp("port", theKey) == 0 && !thePortIsSpecified) + { + UInt32 tempPort = 0; + ::sscanf(theValue, "%"_U32BITARG_"", &tempPort); + thePort = (UInt16)tempPort; + } + else if (::strcmp("movielength", theKey) == 0 && !theMovieLengthIsSpecified) + { + ::sscanf(theValue, "%"_U32BITARG_"", &theMovieLength); + } + else if (::strcmp("runforever", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + runForever = true; + } + else if (::strcmp("shouldlog", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + shouldLog = true; + } + else if (::strcmp("appendjunk", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + appendJunk = true; + } + else if (::strcmp("logpath", theKey) == 0) + { + logPath = theValue; + } + else if (::strcmp("proxyip", theKey) == 0) + { + proxyIP = SocketUtils::ConvertStringToAddr(theValue); + } + else if (::strcmp("clientwindow", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_"", &sockRcvBuf); + } + else if (::strcmp("httpcookie", theKey) == 0) + { + if (theHTTPCookie == 1) + { + // Ignore if set by command line + ::sscanf(theValue, "%"_U32BITARG_"", &theHTTPCookie); + theHTTPCookie *= 1000000; + } + } + else if (::strcmp("readinterval", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_"", &theReadInterval); + } + else if (::strcmp("latetolerance", theKey) == 0) + { + ::sscanf(theValue, "%f", &lateTolerance); + } + else if (::strcmp("rtpmetainfo", theKey) == 0) + { + if (::strlen(theValue) > 0) + rtpMetaInfo = theValue; + } + else if (::strcmp("speed", theKey) == 0) + { + ::sscanf(theValue, "%f", &speed); + } + else if (::strcmp("packetplayheader", theKey) == 0) + { + if (::strlen(theValue) > 0) + packetPlayHeader = theValue; + } + else if (::strcmp("overbufferwindowsize", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_"", &overbufferwindowInK); + } + else if (::strcmp("randomthumb", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + randomThumb = true; + } + + else if (::strcmp("sendoptions", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + sendOptions = true; + } + else if (::strcmp("requestrandomdata", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + requestRandomData = true; + } + else if (::strcmp("randomdatasize", theKey) == 0) + { + ::sscanf(theValue, "%"_S32BITARG_"", &randomDataSize); + } + else if (::strcmp("rtcpinterval", theKey) == 0) + { + ::sscanf(theValue, "%"_S32BITARG_"", &rtcpInterval); + } + else if (::strcmp("url", theKey) == 0) + { + theURLlist.push_back(theValue); + } + else if (::strcmp("user", theKey) == 0) + { + char *str = ::strdup(theValue); + char *user = str; + char *password = NULL; + char *colonChar = ::strchr(str, ':'); + if (colonChar != NULL) + { + *colonChar = '\0'; + password = colonChar + 1; + } + userList.push_back(user); + passwordList.push_back(password); + } + else if (::strcmp("bandwidth", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_, &bandwidth); + } + else if (::strcmp("enable3GPP", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + sEnable3GPP = true; + } + else if (::strcmp("GBW", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_, &guarenteedBitRate); + } + else if (::strcmp("MBW", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_, &maxBitRate); + } + else if (::strcmp("MTD", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_, &maxTransferDelay); + } + else if (::strcmp("enableForcePlayoutDelay", theKey) == 0) + { + if (::strcmp("yes", theValue) == 0) + enableForcePlayoutDelay = true; + } + else if (::strcmp("playoutDelay", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_, &playoutDelay); + } + else if (::strcmp("buffer", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_"", &bufferSpace); + } + else if (::strcmp("delay", theKey) == 0) + { + ::sscanf(theValue, "%"_U32BITARG_"", &delayTime); + } + else if (::strcmp("startdelay", theKey) == 0) + { + ::sscanf(theValue, "%f", &startDelayFrac); + if(startDelayFrac < 0) + startDelayFrac = -1.0; + } + else + printf("Found bad directive in StreamingLoadTool config file: %s\n", theKey); + } + } + } + + if(theURLlist.empty()) + { + printf("Didn't find any URLs in StreamingLoadTool config file.\n"); + exit(-1); + } + + // + // Figure out what type of clients we are going to run + if ((theClientType == ClientSession::kRTSPHTTPClientType) && dropPost) + theClientType = ClientSession::kRTSPHTTPDropPostClientType; + + // Do IP lookups on all the URLs + SVector theIPAddrArray; + theIPAddrArray.resize(theURLlist.size(), 0); + ::DoDNSLookup(theURLlist, theIPAddrArray); + + + // Final setup before running the show + OS::Initialize(); + OSThread::Initialize(); + OSMemory::SetMemoryError(ENOMEM); + Socket::Initialize(); + SocketUtils::Initialize(); + +#if !MACOSXEVENTQUEUE + ::select_startevents();//initialize the select() implementation of the event queue +#endif + TaskThreadPool::AddThreads(1); + TimeoutTask::Initialize(); + Socket::StartThread(); + + //Check for the existance of a file streamingloadtool.mov before proceeding + ::CheckForStreamingLoadToolDotMov(theIPAddrArray, theURLlist, thePort, userList, passwordList, verboseLevel); + + // If user specified a proxy to connect through, use that IP address, not the IP address in the URL. + if (proxyIP != 0) + { + for (UInt32 ipAddrCounter = 0; ipAddrCounter < theURLlist.size(); ipAddrCounter++) + theIPAddrArray[ipAddrCounter] = proxyIP; + } + + // Open the log if we are logging + if (shouldLog) + sLog = ::fopen(logPath, "w"); + + sClientSessionArray = NEW ClientSession*[sNumClients]; + + UInt32 theCurURLIndex = 0; + UInt32 theCurUserIndex = 0; + for (UInt32 clientCount = 0; clientCount < sNumClients; clientCount++, theCurURLIndex = (theCurURLIndex + 1) % theURLlist.size(), theCurUserIndex++) + { + while(theIPAddrArray[theCurURLIndex] == 0) + theCurURLIndex = (theCurURLIndex + 1) % theURLlist.size(); + if (theCurUserIndex == userList.size()) + theCurUserIndex = 0; + + sClientSessionArray[clientCount] = NEW ClientSession( theIPAddrArray[theCurURLIndex], + thePort, + theURLlist[theCurURLIndex], + theClientType, // Client type + theMovieLength, // Movie length + CalcStartTime(randomThumb, theMovieLength), // Movie start time + rtcpInterval, + 0, // Options interval + theHTTPCookie++, // HTTP cookie + appendJunk, + theReadInterval, // Interval between data reads + sockRcvBuf, // socket recv buffer size + lateTolerance, // late tolerance + rtpMetaInfo, + speed, + verboseLevel, + packetPlayHeader, + overbufferwindowInK, + sendOptions, // send options request before the Describe + requestRandomData, // request random data in the options request + randomDataSize, // size of the random data to request + sEnable3GPP, + guarenteedBitRate, + maxBitRate, + maxTransferDelay, + enableForcePlayoutDelay, + playoutDelay, + bandwidth, + bufferSpace, + delayTime, + static_cast(startDelayFrac * delayTime), + controlID, + userList.empty() ? NULL : userList[theCurUserIndex], + passwordList.empty() ? NULL : passwordList[theCurUserIndex]); + +#if STREAMINGLOADTOOL_DEBUG + printf("Creating a ClientSession for URL: %s\n", theURLlist[theCurURLIndex]); +#endif + } + + // + // Now, all we have to do is loop, destroying and re-creating ClientSession objects when they die. + // Occassionally, lets print out status to show what is currently going on + Bool16 isStillActive = false; + UInt32 loopCount = 0; + do + { + if (sGotSigInt) + break; + + OSThread::Sleep(1000); + + isStillActive = false; + for (UInt32 y = 0; y < sNumClients; y++) + { + if (sClientSessionArray == NULL) + continue; //skip over NULL client sessions + + if ((loopCount & 7) == 0) // Fancy way of mod'ing by 8, so the following will execute every 8 seconds + { + // if the server has not sent me any packets in the last 8 seconds, and the at least 10 seconds has elapsed since the RTSP play, then timeout + if ( (sClientSessionArray[y] != NULL && sClientSessionArray[y]->GetSessionPacketsReceived() == 0 && sClientSessionArray[y]->GetTotalPlayTimeInMsec() > 10000) ) + { + sClientSessionArray[y]->Signal(Task::kTimeoutEvent); // Tell it to destroy itself if the Client is idle for a while + } + } + + if ( (sClientSessionArray[y] != NULL && sClientSessionArray[y]->IsDone()) ) + { + while(theIPAddrArray[theCurURLIndex] == 0) + theCurURLIndex = (theCurURLIndex + 1) % theURLlist.size(); + if (theCurUserIndex == userList.size()) + theCurUserIndex = 0; + + ::RecordClientInfoBeforeDeath(sClientSessionArray[y]); + sClientSessionArray[y]->Signal(Task::kKillEvent); // Tell it to destroy itself + sClientSessionArray[y] = NULL; + if (runForever) + { + isStillActive = true; + // If there is a new URL to fetch, kill this client and restart + sClientSessionArray[y] = NEW ClientSession( theIPAddrArray[theCurURLIndex], // IP addr + thePort, // IP port + theURLlist[theCurURLIndex], + theClientType, // Client type + theMovieLength, // Movie length + CalcStartTime(randomThumb, theMovieLength), // Movie start time + rtcpInterval, + 0, // Options interval + theHTTPCookie++, // HTTP cookie + appendJunk, + theReadInterval, // Interval between data reads + sockRcvBuf, // socket recv buffer size + lateTolerance, // late tolerance + rtpMetaInfo, + speed, + verboseLevel, + packetPlayHeader, + overbufferwindowInK, + sendOptions, // send options request before the Describe + requestRandomData, // request random data in the options request + randomDataSize, // size of the random data to request + sEnable3GPP, + guarenteedBitRate, + maxBitRate, + maxTransferDelay, + enableForcePlayoutDelay, + playoutDelay, + bandwidth, + bufferSpace, + delayTime, + (startDelayFrac < 0) ? static_cast(kUInt32_Max) : static_cast(startDelayFrac * delayTime), + controlID, + userList.empty() ? NULL : userList[theCurUserIndex], + passwordList.empty() ? NULL : passwordList[theCurUserIndex]); + +#if STREAMINGLOADTOOL_DEBUG + printf("Creating a ClientSession for URL: %s\n", theURLlist[theCurURLIndex]); +#endif + theCurURLIndex = (theCurURLIndex + 1) % theURLlist.size(); + theCurUserIndex++; + } + } + else if (sClientSessionArray[y] != NULL) //still running + isStillActive = true; + } + + if ((loopCount & 7) == 0) // Fancy way of mod'ing by 8, so the following will execute every 8 seconds + { + + if ((loopCount & 127) == 0) // Fancy way of dividing by 127, + { + // Occassionally give the user lots of info + printf("StreamingLoadTool test in progress.\n"); + printf("Config file: %s. Client type: %s. Num clients: %"_U32BITARG_".\n", + configFilePath, GetClientTypeDescription(theClientType), sNumClients); + printf("Movie length: %"_U32BITARG_". Run forever: %d. HTTP cookie: %"_U32BITARG_". Port: %d\n", + theMovieLength, runForever, theHTTPCookie, thePort); + if (shouldLog) + printf("Writing StreamingLoadTool log at: %s\n", logPath); + printf("Active Playing Attempts Success Errors Failed Bitrate\n"); + } + + UInt32 addBytes = ClientSession::GetConnectionPacketsReceived() * PACKETADDSIZE; + Float32 bitsReceived = (Float32) (ClientSession::GetConnectionBytesReceived() + addBytes) / 1000; + + bitsReceived += .5; + + printf("%5lu %6lu %8lu %6lu %6lu %6lu %9.0fk\n", + ClientSession:: GetActiveConnections (), + ClientSession:: GetPlayingConnections (), + ClientSession:: GetConnectionAttempts (), + sSuccessfulConnections, + sConnectionsThatErrored, + sFailedConnections, + bitsReceived// depends on 8 second update for bits per second + ); + + } + loopCount++; + + } while (isStillActive == true); + + if (sGotSigInt) + { + // + // If someone hits Ctrl-C, force all the clients to wrap it up + printf("Sending TEARDOWNs.\n"); + + // + // Tell all the clients to wrap it up. + for (UInt32 clientCount = 0; clientCount < sNumClients; clientCount++) + { + if (sClientSessionArray == NULL) + continue; //skip over NULL client sessions + if (sClientSessionArray[clientCount] != NULL) + sClientSessionArray[clientCount]->Signal(ClientSession::kTeardownEvent); + } + // + // Wait for the clients to complete + Bool16 isDone = false; + while (!isDone && !sQuitNow) + { + //wait until all the clients are done doing teardown + OSThread::Sleep(1000); + isDone = true; + for (UInt32 cc2 = 0; cc2 < sNumClients; cc2++) + { + if (sClientSessionArray == NULL) + continue; //skip over NULL client sessions + + if (sClientSessionArray[cc2] == NULL) + continue; + + if (!sClientSessionArray[cc2]->IsDone()) + isDone = false; + } + } + } + + // + // We're done... now go through and delete the last sessions(not really) + for (UInt32 z = 0; z < sNumClients; z++) + { + if (sClientSessionArray == NULL) + continue; //skip over NULL client sessions + + if (sClientSessionArray[z] == NULL) + continue; + + ::RecordClientInfoBeforeDeath(sClientSessionArray[z]); + } + + if (sLog != NULL) + ::fclose(sLog); + + printf("%5lu %6lu %8lu %6lu %6lu %6lu %9.0fk\n", + ClientSession:: GetActiveConnections (), + ClientSession:: GetPlayingConnections (), + ClientSession:: GetConnectionAttempts (), + sSuccessfulConnections, + sConnectionsThatErrored, + sFailedConnections, + 0.0// depends on 8 second update for bits per second + ); + + printf("StreamingLoadTool test complete. Total number of connections: %"_U32BITARG_".\n", ClientSession:: GetConnectionAttempts ()); + printf( + "Total bytes received: %"_U64BITARG_ + ". Total packets received: %"_U64BITARG_ + ". Total out of order packets: %"_U64BITARG_ + ". Total out of bound packets: %"_U64BITARG_ + ". Total ACKs sent: %"_U64BITARG_ + ". Total malformed packets: %"_U64BITARG_, + sTotalBytesReceived, + sTotalPacketsReceived, + sTotalOutOfOrder, + sTotalOutOfBound, + sTotalNumAcks, + sTotalMalformed + ); + if (sEnable3GPP) + { + printf( + ". Total 3g packets lost: %"_U64BITARG_ + ". Total 3g duplicate packets: %"_U64BITARG_ + ". Total 3g late packets: %"_U64BITARG_ + ". Total 3g buffer-overflowed packets: %"_U64BITARG_, + sTotalPacketsLost, + sTotalDuplicates, + sTotalLatePackets, + sTotalBufferOverflowedPackets + ); + + + + } + + printf(".\n"); + +} + +UInt32 CalcStartTime(Bool16 inRandomThumb, UInt32 inMovieLength) +{ + UInt32 theMovieLength = inMovieLength; + if (theMovieLength > 1) + theMovieLength--; + + if (inRandomThumb) + return ::rand() % theMovieLength; + else + return 0; +} + +void CheckForStreamingLoadToolPermission(UInt32* inIPAddrArray, UInt32 inNumURLs, UInt16 inPort) +{ + //Eventually check for the existance of a specially formatted sdp file (assuming the server blindly returns sdps) +} + +//Currently will only authenticate with the FIRST username/password if provided +void CheckForStreamingLoadToolDotMov(SVector &ioIPAddrArray, SVector &theURLlist, UInt16 inPort, SVector &userList, SVector &passwordList, UInt32 verboseLevel) +{ + Assert(ioIPAddrArray.size() == theURLlist.size()); + printf("Checking for 'streamingloadtool.mov' on the target servers\n"); + + OSArrayObjectDeleter holder = NEW UInt32[theURLlist.size() + 1]; + UInt32* uniqueIPAddrs = holder.GetObject(); + ::memset(uniqueIPAddrs, 0, sizeof(UInt32) * (theURLlist.size() + 1)); + + + for (UInt32 count = 0; count < theURLlist.size(); count++) + { + if (ioIPAddrArray[count] == 0) //skip over one's that failed DNS + continue; + + //check for duplicates + /* + Bool16 dup = false; + for (UInt32 x = 0; uniqueIPAddrs[x] != 0; x++) + { + if (uniqueIPAddrs[x] == ioIPAddrArray[count]) + { + dup = true; + break; + } + } + if (dup) + continue; + + // For tracking dups. + uniqueIPAddrs[count] = ioIPAddrArray[count]; + */ + + + // Format the URL: rtsp://xx.xx.xx.xx/streamingloadtool.mov + char theAddrBuf[50]; + StrPtrLen theAddrBufPtr(theAddrBuf, 50); + struct in_addr theAddr; + theAddr.s_addr = htonl(ioIPAddrArray[count]); + + SocketUtils::ConvertAddrToString(theAddr, &theAddrBufPtr); + + char theURLBuf[100]; + StringFormatter theFormatter(theURLBuf, 100); + + theFormatter.Put("rtsp://"); + theFormatter.Put(theAddrBufPtr); + theFormatter.Put("/streamingloadtool.mov"); + theFormatter.PutTerminator(); + + StrPtrLenDel theURL(theFormatter.GetAsCString()); + + // Make an RTSP client. We'll send a DESCRIBE to the server to check for this sucker + TCPClientSocket theSocket = TCPClientSocket(0); //blocking + + // tell the client this is the URL to use + theSocket.Set(ioIPAddrArray[count], inPort); + + RTSPClient theClient = RTSPClient(&theSocket); + theClient.SetVerboseLevel(verboseLevel); + + if(userList.size() > 0) + { + theClient.SetName(userList.back()); + theClient.SetPassword(passwordList.back()); + } + theClient.Set(theURL); + + // + // Send the DESCRIBE! Whoo hoo! + OS_Error theErr = theClient.SendDescribe(); + + while (theErr == EINPROGRESS || theErr == EAGAIN) + theErr = theClient.SendDescribe(); + if (theErr != OS_NoErr) + { + printf("##WARNING: Error connecting to %s.\n\n", theURLlist[count]); + ioIPAddrArray[count] = 0; + continue; + } + + if (theClient.GetStatus() != 200) + { + printf("##WARNING: Cannot access %s\n\n", theURL.Ptr); + ioIPAddrArray[count] = 0; + } + theClient.SendTeardown(); + } + + int addrCount = 0; + for (UInt32 x = 0; x < theURLlist.size(); x++) + { + if ( 0 != ioIPAddrArray[x]) + addrCount++ ; + } + if (addrCount == 0) + { printf("No valid destinations\n"); + exit (-1); + } + printf("Done checking for 'streamingloadtool.mov' on all servers -- %i valid URL's\n", addrCount); +} + + +void DoDNSLookup(SVector &theURLlist, SVector &ioIPAddrs) +{ + Assert(theURLlist.size() == ioIPAddrs.size()); + enum { eDNSNameSize = 128 }; + char theDNSName[eDNSNameSize + 1]; + + for (UInt32 x = 0; x < theURLlist.size(); x++) + { + // First extract the DNS name from this URL as a c-string + StrPtrLen theURL = StrPtrLen(theURLlist[x]); + StringParser theURLParser(&theURL); + StrPtrLen theDNSNamePtr; + + theURLParser.ConsumeLength(NULL, 7); // skip over rtsp:// + theURLParser.ConsumeUntil(&theDNSNamePtr, '/'); // grab the DNS name + StringParser theDNSParser(&theDNSNamePtr); + theDNSParser.ConsumeUntil(&theDNSNamePtr, ':'); // strip off the port number if any + + + if (theDNSNamePtr.Len > eDNSNameSize) + { + theDNSNamePtr.PrintStr("DSN Name Failed Lookup.\n", "\n"); + printf("The DNS name is %"_U32BITARG_" in length and is longer than the allowed %d.\n",theDNSNamePtr.Len, eDNSNameSize); + return; + } + + theDNSName[0] = 0; + ::memcpy(theDNSName, theDNSNamePtr.Ptr, theDNSNamePtr.Len); + theDNSName[theDNSNamePtr.Len] = 0; + + + ioIPAddrs[x] = 0; + + // Now pass that DNS name into gethostbyname. + struct hostent* theHostent = ::gethostbyname(theDNSName); + + if (theHostent != NULL) + ioIPAddrs[x] = ntohl(*(UInt32*)(theHostent->h_addr_list[0])); + else + ioIPAddrs[x] = SocketUtils::ConvertStringToAddr(theDNSName); + + if (ioIPAddrs[x] == 0) + { + printf("Couldn't look up host name: %s.\n", theDNSName); + //exit(-1); + } + } +} + +char* GetClientTypeDescription(ClientSession::ClientType inClientType) +{ + static char* kUDPString = "RTSP/UDP client"; + static char* kTCPString = "RTSP/TCP client"; + static char* kHTTPString = "RTSP/HTTP client"; + static char* kHTTPDropPostString = "RTSP/HTTP drop post client"; + static char* kReliableUDPString = "RTSP/ReliableUDP client"; + + switch (inClientType) + { + case ClientSession::kRTSPUDPClientType: + return kUDPString; + case ClientSession::kRTSPTCPClientType: + return kTCPString; + case ClientSession::kRTSPHTTPClientType: + return kHTTPString; + case ClientSession::kRTSPHTTPDropPostClientType: + return kHTTPDropPostString; + case ClientSession::kRTSPReliableUDPClientType: + return kReliableUDPString; + } + Assert(0); + return NULL; +} + +char* GetDeathReasonDescription(UInt32 inDeathReason) +{ + static char* kDiedNormallyString = "Completed normally"; + static char* kTeardownFailedString = "Failure: Couldn't complete TEARDOWN"; + static char* kRequestFailedString = "Failure: Failed RTSP request"; + static char* kBadSDPString = "Failure: misformatted SDP"; + static char* kSessionTimedoutString = "Failure: Couldn't connect to server(timeout)"; + static char* kConnectionFailedString = "Failure: Server refused connection"; + static char* kDiedWhilePlayingString = "Failure: Disconnected while playing"; + + switch (inDeathReason) + { + case ClientSession::kDiedNormally: + return kDiedNormallyString; + case ClientSession::kTeardownFailed: + return kTeardownFailedString; + case ClientSession::kRequestFailed: + return kRequestFailedString; + case ClientSession::kBadSDP: + return kBadSDPString; + case ClientSession::kSessionTimedout: + return kSessionTimedoutString; + case ClientSession::kConnectionFailed: + return kConnectionFailedString; + case ClientSession::kDiedWhilePlaying: + return kDiedWhilePlayingString; + } + Assert(0); + return NULL; +} + +char* GetPayloadDescription(QTSS_RTPPayloadType inPayload) +{ + static char* kSound = "Sound"; + static char* kVideo = "Video"; + static char* kUnknown = "Unknown"; + + switch (inPayload) + { + case qtssVideoPayloadType: + return kVideo; + case qtssAudioPayloadType: + return kSound; + default: + return kUnknown; + } + return NULL; +} + +void RecordClientInfoBeforeDeath(ClientSession* inSession) +{ + if (inSession->GetReasonForDying() == ClientSession::kRequestFailed) + sConnectionsThatErrored++; + else if (inSession->GetReasonForDying() != ClientSession::kDiedNormally) + sFailedConnections++; + else + sSuccessfulConnections++; + + + + + + { + UInt32 theReason = inSession->GetReasonForDying(); + in_addr theAddr; + theAddr.s_addr = htonl(inSession->GetSocket()->GetHostAddr()); + char* theAddrStr = ::inet_ntoa(theAddr); + + // + // Write a log entry for this client + if (sLog != NULL) + ::fprintf(sLog, "Client complete. IP addr = %s, URL = %s. Connection status: %s. ", + theAddrStr, + inSession->GetClient()->GetURL()->Ptr, + ::GetDeathReasonDescription(theReason)); + + if (theReason == ClientSession::kRequestFailed) + if (sLog != NULL) ::fprintf(sLog, "Failed request status: %"_U32BITARG_"", inSession->GetRequestStatus()); + + if (sLog != NULL) ::fprintf(sLog, "\n"); + + // + // If this was a successful connection, log statistics for this connection + if ((theReason == ClientSession::kDiedNormally) || (theReason == ClientSession::kTeardownFailed) || (theReason == ClientSession::kSessionTimedout)) + { + + UInt32 bytesReceived = 0; + for (UInt32 trackCount = 0; trackCount < inSession->GetSDPInfo()->GetNumStreams(); trackCount++) + { + if (sLog != NULL) ::fprintf(sLog, + "Track type: %s. Total packets received: %"_U32BITARG_ + ". Total out of order packets: %"_U32BITARG_ + ". Total out of bound packets: %"_U32BITARG_ + ". Total ACKs sent: %"_U32BITARG_ + ". Total malformed packets: %"_U32BITARG_, + ::GetPayloadDescription(inSession->GetTrackType(trackCount)), + inSession->GetNumPacketsReceived(trackCount), + inSession->GetNumPacketsOutOfOrder(trackCount), + inSession->GetNumOutOfBoundPackets(trackCount), + inSession->GetNumAcks(trackCount), + inSession->GetNumMalformedPackets(trackCount) + ); + + + if (sEnable3GPP) + { + if (sLog != NULL) ::fprintf(sLog, + ". Total 3g packets lost: %"_U32BITARG_ + ". Total 3g duplicate packets: %"_U32BITARG_ + ". Total 3g late packets: %"_U32BITARG_ + ". Total 3g rate adapt buffer-overflowed packets: %"_U32BITARG_, + inSession->Get3gNumPacketsLost(trackCount), + inSession->Get3gNumDuplicates(trackCount), + inSession->Get3gNumLatePackets(trackCount), + inSession->Get3gNumBufferOverflowedPackets(trackCount) + ); + } + + if (sLog != NULL) ::fprintf(sLog,".\n"); + + + bytesReceived += inSession->GetNumBytesReceived(trackCount); + bytesReceived += inSession->GetNumPacketsReceived(trackCount) * PACKETADDSIZE; + + sTotalBytesReceived += inSession->GetNumBytesReceived(trackCount); + sTotalPacketsReceived += inSession->GetNumPacketsReceived(trackCount); + sTotalOutOfOrder += inSession->GetNumPacketsOutOfOrder(trackCount); + sTotalOutOfBound += inSession->GetNumOutOfBoundPackets(trackCount); + sTotalNumAcks += inSession->GetNumAcks(trackCount); + sTotalMalformed += inSession->GetNumMalformedPackets(trackCount); + sTotalPacketsLost += inSession->Get3gNumPacketsLost(trackCount); + sTotalDuplicates += inSession->Get3gNumDuplicates(trackCount); + sTotalLatePackets += inSession->Get3gNumLatePackets(trackCount); + sTotalBufferOverflowedPackets += inSession->Get3gNumBufferOverflowedPackets(trackCount); + } + UInt32 duration = (UInt32)(inSession->GetTotalPlayTimeInMsec() / 1000); + Float32 bitRate = (((Float32)bytesReceived) / ((Float32)duration) * 8) / 1024; + + + if (sLog != NULL) ::fprintf(sLog, "Play duration in sec: %"_U32BITARG_". Total stream bit rate in Kbits / sec: %f.\n", duration, bitRate); + } + + if (sLog != NULL) ::fprintf(sLog, "\n"); + } +} + diff --git a/StreamingLoadTool/StreamingLoadTool.dsp b/StreamingLoadTool/StreamingLoadTool.dsp new file mode 100644 index 0000000..78cf489 --- /dev/null +++ b/StreamingLoadTool/StreamingLoadTool.dsp @@ -0,0 +1,130 @@ +# Microsoft Developer Studio Project File - Name="StreamingLoadTool" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=StreamingLoadTool - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "StreamingLoadTool.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "StreamingLoadTool.mak" CFG="StreamingLoadTool - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "StreamingLoadTool - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "StreamingLoadTool - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 1 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "StreamingLoadTool - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /w /W0 /Gm /ZI /Od /I "..\\" /I "..\CommonUtilitiesLib\\" /I "..\APICommonCode\\" /I "..\RTPMetaInfoLib\\" /I "..\APIStubLib\\" /I "..\RTSPClientLib\\" /I "..\PrefsSourceLib\\" /FI"../WinNTSupport/Win32header.h" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib oleaut32.lib ws2_32.lib wsock32.lib winmm.lib libcmtd.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /out:"..\WinNTSupport\Debug\StreamingLoadTool.exe" /pdbtype:sept +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "StreamingLoadTool - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "StreamingLoadTool___Win32_Release" +# PROP BASE Intermediate_Dir "StreamingLoadTool___Win32_Release" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /w /W0 /Gm /ZI /Od /I "..\\" /I "..\CommonUtilitiesLib\\" /I "..\APICommonCode\\" /I "..\RTPMetaInfoLib\\" /I "..\APIStubLib\\" /I "..\RTSPClientLib\\" /I "..\PrefsSourceLib\\" /FI"../WinNTSupport/Win32header.h" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c +# ADD CPP /nologo /MT /w /W0 /O1 /I "..\\" /I "..\CommonUtilitiesLib\\" /I "..\APICommonCode\\" /I "..\RTPMetaInfoLib\\" /I "..\APIStubLib\\" /I "..\RTSPClientLib\\" /I "..\PrefsSourceLib\\" /FI"../WinNTSupport/Win32header.h" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib oleaut32.lib ws2_32.lib wsock32.lib winmm.lib libcmtd.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /out:"..\WinNTSupport\Debug\StreamingLoadTool.exe" /pdbtype:sept +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib oleaut32.lib ws2_32.lib wsock32.lib winmm.lib libcmt.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /out:"..\WinNTSupport\Release\StreamingLoadTool.exe" /pdbtype:sept +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "StreamingLoadTool - Win32 Debug" +# Name "StreamingLoadTool - Win32 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\RTSPClientLib\ClientSession.cpp +# End Source File +# Begin Source File + +SOURCE=..\RTSPClientLib\ClientSocket.cpp +# End Source File +# Begin Source File + +SOURCE=..\PrefsSourceLib\FilePrefsSource.cpp +# End Source File +# Begin Source File + +SOURCE=..\OSMemoryLib\OSMemory.cpp +# End Source File +# Begin Source File + +SOURCE=..\RTPMetaInfoLib\RTPMetaInfoPacket.cpp +# End Source File +# Begin Source File + +SOURCE=..\RTSPClientLib\RTSPClient.cpp +# End Source File +# Begin Source File + +SOURCE=.\StreamingLoadTool.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/StreamingLoadTool/dummynet_fixed_start.script b/StreamingLoadTool/dummynet_fixed_start.script new file mode 100755 index 0000000..c78e097 --- /dev/null +++ b/StreamingLoadTool/dummynet_fixed_start.script @@ -0,0 +1,31 @@ +#!/bin/sh +# +# +echo "SCRIPT $0 [ip address] " +echo "TEST Set a limited bandwidth." +echo "" + +ADDRESS="127.0.0.1" + +if [ ${1} ]; then + ADDRESS=${1} + echo "Address set. Using $ADDRESS" + else + echo "No Address given. Using $ADDRESS" +fi + +ipfw delete pipe 1 +ipfw delete pipe 2 +ipfw delete set 11 +ipfw delete set 12 + +ipfw pipe 1 config bw 80kbits/s delay 0 queue 100 noerror +ipfw pipe 2 config bw 80kbits/s delay 0 queue 100 noerror + +ipfw add 11 set 11 pipe 1 src-ip $ADDRESS proto udp in +ipfw add 12 set 12 pipe 2 src-ip $ADDRESS proto udp out + +ipfw set enable 11 +ipfw set enable 12 +ipfw enable firewall one_pass + diff --git a/StreamingLoadTool/dummynet_stop.script b/StreamingLoadTool/dummynet_stop.script new file mode 100755 index 0000000..80964d6 --- /dev/null +++ b/StreamingLoadTool/dummynet_stop.script @@ -0,0 +1,10 @@ +echo "SCRIPT $0 " +echo "TEST delete pipes, sets, and disable dummynet rule" + +ipfw delete pipe 1 +ipfw delete pipe 2 +ipfw delete set 11 +ipfw delete set 12 + +ipfw disable firewall one_pass + diff --git a/StreamingLoadTool/dummynet_variable.script b/StreamingLoadTool/dummynet_variable.script new file mode 100755 index 0000000..be08c65 --- /dev/null +++ b/StreamingLoadTool/dummynet_variable.script @@ -0,0 +1,73 @@ +#!/bin/sh +# +# +echo "SCRIPT $0 [ip address] [down Kbits] [up Kbits] [test seconds] " +echo "TEST Alternate between no bandwidth limits and limited bandwidth with a delay between" +echo "" + +ADDRESS="127.0.0.1" +UP="32" +DOWN="100" +SLEEP="30" + +if [ ${1} ]; then + ADDRESS=${1} + echo "Address set. Using $ADDRESS" + else + echo "No Address given. Using $ADDRESS" +fi + +if [ ${2} ]; then + DOWN=${2} + echo "Down link limit set. Using "$DOWN"kbits/s" +else + echo "No down link limit given. Using "$DOWN"kbits/s" + +fi + +if [ ${3} ]; then + UP=${3} + echo "Up link limit set. Using "$UP"kbits/s" +else + echo "No up link limit given. Using "$UP"kbits/s" +fi + + +if [ ${4} ]; then + SLEEP=${4} + echo "Test time set. Using $SLEEP seconds" +else + echo "No test time. Using $SLEEP seconds" +fi + +echo "Starting test" + +while [ 1 ] + do + + ipfw delete pipe 1 2 + ipfw delete set 11 12 + ipfw disable firewall + echo "" + echo "Bandwidth open - no limit set" + echo "Sleeping $SLEEP seconds" + sleep 30 + echo "" + + echo "Setting $DOWN kbits down and $UP kbits up" + ipfw pipe 1 config bw "$DOWN"kbits/s delay 0 queue 100 noerror + ipfw pipe 2 config bw "$UP"kbits/s delay 0 queue 100 noerror + + ipfw add 11 set 11 pipe 1 src-ip $ADDRESS proto udp in + ipfw add 12 set 12 pipe 2 src-ip $ADDRESS proto udp out + + ipfw set enable 11 + ipfw set enable 12 + ipfw enable firewall one_pass + + echo "Sleeping $SLEEP seconds" + sleep 30 + + +done + diff --git a/StreamingLoadTool/gdb_script b/StreamingLoadTool/gdb_script new file mode 100644 index 0000000..5701db4 --- /dev/null +++ b/StreamingLoadTool/gdb_script @@ -0,0 +1,6 @@ +dir ../APICommonCode +dir ../CommonUtilitiesLib +dir ../OSMemoryLib +dir ../PrefsSourceLib +dir ../RTSPClientLib +handle SIGPIPE nopass nostop noprint diff --git a/StreamingLoadTool/gdbspam b/StreamingLoadTool/gdbspam new file mode 100644 index 0000000..73d71fb --- /dev/null +++ b/StreamingLoadTool/gdbspam @@ -0,0 +1 @@ +gdb ./StreamingLoadTool -x gdb_script diff --git a/StreamingLoadTool/parseSLTOut.py b/StreamingLoadTool/parseSLTOut.py new file mode 100644 index 0000000..7787a31 --- /dev/null +++ b/StreamingLoadTool/parseSLTOut.py @@ -0,0 +1,203 @@ +#!python + +"""Script for parsing the output of a StreamingLoadTool file. Can be used both as a script and as a python module. +The output is a commma separated file. The StreamingLoadTool has to be run with -V 3 or above. + +Usage: ParseSLTOut.py [-h] [-b interval] [-s all] [filename] + +options: + -h show this help message and exit + -b Take the packet lengths and categorizes them according to their arrival time. + The packet lengths within the same bucket (of size interval seconds) are summed up + and averaged over the interval, which is useful for seeing the bit rate. + -s The streams to parse: one of video, audio, all; default is video + +If filename is missing, then the script will read from standard in. The script writes to standard out.""" + +""" + * + * @APPLE_LICENSE_HEADER_START@ + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + * +""" + +import re, sys + +#the regular expression for matching lines in the SLT output +playRE = re.compile(\ + r"^Receiving track (\d+), trackID=(\d+), (\w+) at time (\d+)") +timeRE = re.compile(\ + r"^Processing incoming packets at time (\d+)") +processedRE = re.compile(\ + r"^Processed packet: track=(\d+), len=(\d+), seq=(\d+), time=(\d+)\((\d+)\); bufferingDelay=(\d+), FBS=(\d+)") + + +def parseSLTInput(inputFile): + """ + Parses a string consisting of outputs from StreamingLoadTool. + The output is a list, where the index is the track index. The value is a map that maps from processing time to + packets. Each packet is a 3-tuple containing the packet length(in bytes), the sequence number, and the timestamp. + """ + videoTrackIndex = None + audioTrackIndex = None + localTimeBase = None + curTime = None + + packetTable = [{}, {}] + + for line in inputFile: + matchObj = playRE.match(line) + if matchObj is not None: + trackIndex, trackID, trackType, startTime = matchObj.groups(); + if trackType == "video": + videoTrackIndex = int(trackIndex) + elif trackType == "audio": + audioTrackIndex = int(trackIndex) + localTimeBase = int(startTime) + continue + + matchObj = timeRE.match(line) + if matchObj is not None: + processingTime, = matchObj.groups() + curTime = int(processingTime) + continue + + matchObj = processedRE.match(line) + if matchObj is not None: + trackIndex, packetLen, seqNum, timeStamp, timeStampInMediaTime, playoutDelay, freeBufferSpace = matchObj.groups() + trackIndex = int(trackIndex); + while trackIndex >= len(packetTable): + packetTable.append({}) + packetList = packetTable[trackIndex].setdefault(curTime, []) + packetList.append( (int(packetLen), int(seqNum), int(timeStamp)) ) + continue + + if localTimeBase is None: + sys.exit("Parse error: cannot find a track") + + # modify the processing times to be 0-based + newPacketTable = [{}] * len(packetTable) + for trackIndex in range(len(packetTable)): + newPackets = {} + for (curTime, packet) in packetTable[trackIndex].items(): + curTime -= localTimeBase + newPackets[curTime] = packet + packetTable[trackIndex] = newPackets + + return (packetTable, videoTrackIndex, audioTrackIndex) + + +def calcBitRate(xList, yList, interval): + """xList is a list of processing time, and yList is a list of packet size. + The function will calculate the bitrate, divided into interval-sized buckets, and returns it as a list + of (processing time, bitrate) pair. + xList is expected to be a list of time in milliseconds, and yList is expected to be a list of packet size in bytes.""" + maxIndex = max(xList) / interval + bitsReceived = [0] * (maxIndex + 1) + + for i in range(len(yList)): + x = xList[i] + y = yList[i] + + bitsReceived[x / interval] += y * 8 + + return [ (i * interval, (bitsReceived[i] * 1000) / interval) for i in range(len(bitsReceived))] + + +if __name__ == "__main__": + # the file is ran as a script + + # first parse the command line + import getopt + from decimal import Decimal + + try: + optlist, args = getopt.getopt(sys.argv[1:], "hb:s:") + except getopt.GetoptError: + sys.exit(__doc__) + + categorize = False + streams = 'video' + for opt, optarg in optlist: + if opt == '-h': + print __doc__ + sys.exit(0) + elif opt == '-b': + categorize = True + try: + interval = int(Decimal(optarg) * 1000) + except: + sys.exit(__doc__) + elif opt == '-s': + streams = optarg + if streams != 'video' and streams != 'audio' and streams != 'all': + sys.exit(__doc__) + + if len(args) == 0: + inputFile = sys.stdin + elif len(args) == 1: + inputFile = open(args[0], 'r') + else: + sys.exit(__doc__) + + (packetTable, videoIndex, audioIndex) = parseSLTInput(inputFile) + + if streams == 'video': + if videoIndex is None: + sys.exit("Parse error: Cannot find a video stream") + packets = packetTable[videoIndex] + elif streams == 'audio': + if audioIndex is None: + sys.exit("Parse error: Cannot find an audio stream") + packets = packetTable[audioIndex] + else: + packets = {} + for perStreamPackets in packetTable: + for (time, packetList) in perStreamPackets.items(): + packets.setdefault(time, []).extend(packetList) + + if len(packets) == 0: + sys.exit("Error: Cannot find a stream") + + + def millisecondsToSec(time): + """Convert time to 123.456 form as a string""" + return str(time / 1000) + '.' + str(time % 1000) + + if categorize: + xList = [] + yList = [] + + for processingTime, packetList in packets.items(): + for (packetLen, seqNum, timeStamp) in packetList: + xList.append(processingTime) + yList.append(packetLen) + data = calcBitRate(xList, yList, interval) + for (time, bitrate) in data: + print "%s, %i" % (millisecondsToSec(time), bitrate) + else: + processingTimes = packets.keys() + processingTimes.sort() + for processingTime in processingTimes: + packetList = packets[processingTime] + for (packetLen, seqNum, timeStamp) in packets[processingTime]: + # output.append( (processingTime, packetLen) ) + print ("%s, %i") % ( millisecondsToSec(processingTime), packetLen ) diff --git a/StreamingLoadTool/streamingloadtool.cfg b/StreamingLoadTool/streamingloadtool.cfg new file mode 100644 index 0000000..0e3778a --- /dev/null +++ b/StreamingLoadTool/streamingloadtool.cfg @@ -0,0 +1,81 @@ +# This is a StreamingLoadTool config file + +# Use the "clienttype" directive to specify whether StreamingLoadTool should make +# RTSP / UDP connections or RTSP / HTTP connections or . Say "http" for +# the latter, "udp" for the former. Say "reliableudp" for reliable UDP. +# Say "tcp" for straight interleaved RTSP / RTP +clienttype reliableudp + +# If doing RTSP / HTTP, set droppost to "yes" if you would like StreamingLoadTool +# to drop the POST half of each RTSP / HTTP connection after sending the +# PLAY. "yes" best emulates the "real" client behavior. +droppost yes + +# Set this to the # of concurrent clients you would like StreamingLoadTool to maintain +concurrentclients 1 + +# Specify a connection port for each connection +port 554 + +# Specify a proxy IP address in dotted-decimal form. If 0, StreamingLoadTool +# will not use a proxy to connect +proxyip 0 + +# Client window (size of UDP socket buffers). +# For reliable UDP, this affects packet loss and the server's +# retransmission algorithm +clientwindow 32768 + +# StreamingLoadTool should send a TEARDOWN after streaming for this # of seconds +movielength 40 + +# If runforever is set to "no", StreamingLoadTool will quit after finishing the +# list of URLs provided below. If "yes" StreamingLoadTool will loop forever. +runforever yes + +# Each instance of StreamingLoadTool must have a unique httpcookie value. This +# can also be specified on the command-line (see usage by doing StreamingLoadTool -v) +httpcookie 1 + +# Set to "yes" if you would like StreamingLoadTool to generate a connection log +shouldlog yes + +# Append junk data after each DESCRIBE request +appendjunk no + +# Location to place the connection log +logpath streamingloadtool.log + +# Interval in milliseconds between attempts to read media data. For acking +# udp clients, this is also the interval between acks. +readinterval 10 + +# how late should packets be allowed to be sent? Value is in seconds. +# 0 = no late tolerance will be specified at all +latetolerance 0 + +# The "Packet-Range" header is used as an alternative to the standard "Range" +# header on a Play request for specifying a range of packets. Leave +# this line blank to issue a standard play, specify a packet range header +# here to send that instead of standard Range header. +packetplayheader + +# The overbuffer window size is the number of K bytes the server can send +# ahead of time. This applies to all transports except "udp". +overbufferwindowsize 5192 + +# Set this to be the value of the x-RTP-Meta-Info header sent to the server. +# If it is empty, no x-RTP-Meta-Info header will be sent. Otherwise, specify +# the fields you would like to receive +# rtpmetainfo tt;ft;pn;fd;md;sq + +# Set this to be the speed you want the streams at (1 = normal speed, 2 = 2x normal speed, etc) +speed 1 + +# Enable this to have StreamingLoadTool randomly thumb around +randomthumb no + +# List of rtsp URLs for StreamingLoadTool to execute +url rtsp://foo.bar.com/sample.mov + + diff --git a/StreamingLoadTool/streamingloadtool.conf b/StreamingLoadTool/streamingloadtool.conf new file mode 100644 index 0000000..31eb28b --- /dev/null +++ b/StreamingLoadTool/streamingloadtool.conf @@ -0,0 +1,129 @@ +# This is a StreamingLoadTool config file + +#player user agent name +player QTS + +# Use the "clienttype" directive to specify whether StreamingLoadTool should make +# RTSP / UDP connections or RTSP / HTTP connections or . Say "http" for +# the latter, "udp" for the former. Say "reliableudp" for reliable UDP. +# Say "tcp" for straight interleaved RTSP / RTP +# Use "3gudp" for 3gpp rate adaptation over UDP +clienttype reliableudp + +# If doing RTSP / HTTP, set droppost to "yes" if you would like StreamingLoadTool +# to drop the POST half of each RTSP / HTTP connection after sending the +# PLAY. "yes" best emulates the "real" client behavior. +droppost yes + +# Set this to the # of concurrent clients you would like StreamingLoadTool to maintain(default = 1) +# When not running forever, this is also the number of clients to load before exiting +concurrentclients 1 + +# Specify a connection port for each connection(default 554) +port 554 + +# Specify a proxy IP address in dotted-decimal form. If 0, StreamingLoadTool +# will not use a proxy to connect +proxyip 0 + +# Client window (size of UDP socket buffers). Default = 32768 +# For reliable UDP, this affects packet loss and the server's retransmission algorithm +clientwindow 32768 + +# StreamingLoadTool should send a TEARDOWN after streaming for this # of seconds +movielength 40 + +# If runforever is set to "no", StreamingLoadTool will quit after finishing the +# list of URLs provided below. If "yes" StreamingLoadTool will loop forever. (Default = no) +runforever yes + +# Each instance of StreamingLoadTool must have a unique httpcookie value. This +# can also be specified on the command-line (see usage by doing StreamingLoadTool -v) (Default = 1) +httpcookie 1 + +# Set to "yes" if you would like StreamingLoadTool to generate a connection log +shouldlog yes + +# Append junk data after each DESCRIBE request +appendjunk no + +# Location to place the connection log +logpath streamingloadtool.log + +# Interval in milliseconds between attempts to read media data. For acking +# udp clients, this is also the interval between acks. (Default = 50 milliseconds) +readinterval 10 + +# how late should packets be allowed to be sent? Value is in seconds. +# 0 = no late tolerance will be specified at all +latetolerance 0 + +# The "Packet-Range" header is used as an alternative to the standard "Range" +# header on a Play request for specifying a range of packets. Leave +# this line blank to issue a standard play, specify a packet range header +# here to send that instead of standard Range header. +packetplayheader + +# The overbuffer window size is the number of K bytes the server can send +# ahead of time. This applies to all transports except "udp". +overbufferwindowsize 5192 + +# Set this to be the value of the x-RTP-Meta-Info header sent to the server. +# If it is empty, no x-RTP-Meta-Info header will be sent. Otherwise, specify +# the fields you would like to receive +# rtpmetainfo tt;ft;pn;fd;md;sq + +# Set this to be the speed you want the streams at (1 = normal speed, 2 = 2x normal speed, etc; float) +speed 1 + +# Enable this to have StreamingLoadTool randomly thumb around +randomthumb no + +# Set sendoptions "yes" to send an OPTIONS request before executing each DESCRIBE request +sendoptions no + +# Set requestrandomdata "yes" to send an OPTIONS request with a random data request header before executing each DESCRIBE request +requestrandomdata no + +# How many random bytes the server should send in the body of the OPTIONS response +randomdatasize 0 + +# How often should the client send RTCP messages in milliseconds. (Default = 5000; ACK's in reliableudp are sent ASAP) +rtcpinterval 1000 + +# List of rtsp URLs for StreamingLoadTool to execute +url rtsp://foo.bar.com/sample.mov + +# List of users:passwords for authentication (format: user:password) +user user0:pass0 + +#The advertised bandwidth in bps (default: not sent) +bandwidth 50000 + +#The player buffer space per stream in bytes. Default of 0 is unlimited +buffer 100000 + +#target delay in milliseconds. Default 3000. Use 0 to turn it off +#This is the desired amount of playback time to keep in the buffer. +delay 10000 + +#Start play time delay; expressed as a fraction of the target delay. This is how much data there should be in the buffer before +#the media starts playing. Use 0.0 to start playing immediately, and 1.0 to start playing when the target delay has been met. Default = 5.0 +#Use -1 for disabled. +startdelay 0.5 + +#Turn on 3GPP features and headers? 3GPP should be not be enabled on reliableudp transport; default = no +enable3GPP no + +# The advertised guarenteed bit rate(GBW), maximum bit rate(MBW), and maximum transfer delay(MTD) for the wireless link +# Units are in kilobits per seconds and milliseconds. +# Default = 0 = no specified value +#GBW 32 +#MBW 128 +#MTD 2000 + +# Enable a forced PlayoutDelay value for 3GPP RTCP packets (The value defined for the playoutDelay preference will be sent) +enableForcePlayoutDelay no + +# PlayoutDelay value to use if enableForcePlayoutDelay is enabled +playoutDelay 65535 diff --git a/StreamingProxy.tproj/get_opt.c b/StreamingProxy.tproj/get_opt.c index 85fb15a..0e6bdb8 100644 --- a/StreamingProxy.tproj/get_opt.c +++ b/StreamingProxy.tproj/get_opt.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingProxy.tproj/get_opt.h b/StreamingProxy.tproj/get_opt.h index ab4da36..fd7270b 100644 --- a/StreamingProxy.tproj/get_opt.h +++ b/StreamingProxy.tproj/get_opt.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingProxy.tproj/proxy.c b/StreamingProxy.tproj/proxy.c index b5ea6c2..d18a147 100644 --- a/StreamingProxy.tproj/proxy.c +++ b/StreamingProxy.tproj/proxy.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -1107,7 +1107,7 @@ void service_session(rtsp_session *s) if (s->amtInClientInBuffer == 0 || ! has_two_crlfs(s->cinbuf)) break; memset(temp, 0, sizeof(temp)); - + #if __MacOSX__ strlcpy(temp, s->cinbuf, sizeof(temp)); #else @@ -1137,7 +1137,7 @@ void service_session(rtsp_session *s) #endif s->state = stWaitingForIPAddress; } - else { + else { ErrorStringS("Couldn't make sense of client command [%s]\n", temp); s->state = stError; } @@ -1583,7 +1583,7 @@ void service_session(rtsp_session *s) assert( num + s->amtInClientOutBuffer + 2 <= RTSP_SESSION_BUF_SIZE ); - memcpy(s->coutbuf + s->amtInClientOutBuffer, p, num); + memcpy(s->coutbuf + s->amtInClientOutBuffer, p, (size_t) num); s->amtInClientOutBuffer += num; s->coutbuf[s->amtInClientOutBuffer++] = '\r'; s->coutbuf[s->amtInClientOutBuffer++] = '\n'; @@ -1654,7 +1654,7 @@ void service_session(rtsp_session *s) assert( num + s->amtInClientOutBuffer <= RTSP_SESSION_BUF_SIZE ); - memcpy(s->coutbuf + s->amtInClientOutBuffer, lineBuff, num); + memcpy(s->coutbuf + s->amtInClientOutBuffer, lineBuff, (size_t)num); s->amtInClientOutBuffer += num; nextBuffPos = get_line_str( lineBuff, nextBuffPos, MAX_LINE_BUFF ); @@ -1667,7 +1667,7 @@ void service_session(rtsp_session *s) { assert( s->contentLength + s->amtInClientOutBuffer <= RTSP_SESSION_BUF_SIZE ); - memcpy(&s->coutbuf[s->amtInClientOutBuffer], pBuf, s->contentLength); + memcpy(&s->coutbuf[s->amtInClientOutBuffer], pBuf, (size_t) s->contentLength); s->amtInClientOutBuffer += s->contentLength; } } @@ -1817,7 +1817,7 @@ void read_config() { int ip, range; num = pmatch[1].rm_eo - pmatch[1].rm_so; - memcpy(temp, line + pmatch[1].rm_so, num); + memcpy(temp, line + pmatch[1].rm_so, (size_t) num); temp[num] = '\0'; range = atoi(line + pmatch[2].rm_so); //name_to_ip_num(temp, &ip, false); @@ -1836,7 +1836,7 @@ void read_config() { int port = atoi(line + pmatch[2].rm_so); if(pmatch[1].rm_so==-1) - bindaddr.s_addr=htonl(ANY_ADDRESS); + bindaddr.s_addr= (in_addr_t) htonl(ANY_ADDRESS); else { *(line+pmatch[1].rm_eo)='\0'; @@ -1849,7 +1849,7 @@ void read_config() { printf("listen: failed to parse IP address %s\n",line+pmatch[1].rm_so); } - add_rtsp_port_listener(ntohl(bindaddr.s_addr),port); + add_rtsp_port_listener( (int) ntohl(bindaddr.s_addr),port); } else if (regexec(®expPortRange, line, 3, pmatch, 0) == 0) { int minPort, maxPort; @@ -1864,7 +1864,7 @@ void read_config() { } else if (regexec(®expRTPAddr,line,3,pmatch,0)==0) { num = pmatch[1].rm_eo - pmatch[1].rm_so; - memcpy(temp, line + pmatch[1].rm_so, num); + memcpy(temp, line + pmatch[1].rm_so, (size_t) num); temp[num] = '\0'; name_to_ip_num(temp, &gProxyIP, false); if (gProxyIP == -1) { @@ -1976,7 +1976,7 @@ void send_rtsp_error(int skt, int refusal) } ErrorStringS("RTSP error: %s", refusal_string); - send_tcp(skt, refusal_string, strlen(refusal_string)); + send_tcp(skt, refusal_string, (int) strlen(refusal_string)); } /**********************************************/ diff --git a/StreamingProxy.tproj/proxy.h b/StreamingProxy.tproj/proxy.h index 17173e1..53abf5d 100644 --- a/StreamingProxy.tproj/proxy.h +++ b/StreamingProxy.tproj/proxy.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingProxy.tproj/proxy_plat.h b/StreamingProxy.tproj/proxy_plat.h index 0da66f1..caebc5b 100644 --- a/StreamingProxy.tproj/proxy_plat.h +++ b/StreamingProxy.tproj/proxy_plat.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingProxy.tproj/proxy_unix.c b/StreamingProxy.tproj/proxy_unix.c index 7fd7500..3301ba2 100644 --- a/StreamingProxy.tproj/proxy_unix.c +++ b/StreamingProxy.tproj/proxy_unix.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -370,7 +370,8 @@ void set_socket_reuse_address(int skt) /**********************************************/ void set_socket_max_buf(int skt) { - int i = 1, len; + int i = 1; + unsigned int len; len = sizeof(i); getsockopt(skt, SOL_SOCKET, SO_SNDBUF, (char*)&i, &len); /*fprintf(stderr, "sndbuf for socket %d was %d\n", skt, i);*/ @@ -462,7 +463,7 @@ int get_interface_addr(int skt) { int err = 0; struct sockaddr_in localAddr; - int len = sizeof(localAddr); + unsigned int len = sizeof(localAddr); memset(&localAddr, 0, sizeof(localAddr)); err = getsockname(skt, (struct sockaddr*)&localAddr, &len); @@ -473,11 +474,12 @@ int get_interface_addr(int skt) int recv_udp(int socket, char *buf, int amt, int *fromip, int *fromport) { struct sockaddr_in sin; - int ret, len; + int ret; + unsigned int len; len = sizeof(sin); memset(&sin, 0, sizeof(sin)); - ret = recvfrom(socket, buf, amt, 0, (struct sockaddr*)&sin, &len); + ret = recvfrom(socket, buf, (size_t) amt, 0, (struct sockaddr*)&sin, &len); if (ret != -1) { if (fromip) *fromip = ntohl(sin.sin_addr.s_addr); @@ -496,19 +498,19 @@ int send_udp(int skt, char *buf, int amt, int address, int port) sin.sin_family = AF_INET; sin.sin_port = htons(port); sin.sin_addr.s_addr = htonl(address); - return sendto(skt, buf, amt, 0, (struct sockaddr*)&sin, sizeof(sin)); + return sendto(skt, buf, (size_t) amt, 0, (struct sockaddr*)&sin, sizeof(sin)); } /**********************************************/ int recv_tcp(int socket, char *buf, int amt) { - return read(socket, buf, amt); + return read(socket, buf, (size_t) amt); } /**********************************************/ int send_tcp(int socket, char *buf, int amt) { - return write(socket, buf, amt); + return write(socket, buf, (size_t) amt); } /**********************************************/ diff --git a/StreamingProxy.tproj/shared_udp.c b/StreamingProxy.tproj/shared_udp.c index 97cc287..04516db 100644 --- a/StreamingProxy.tproj/shared_udp.c +++ b/StreamingProxy.tproj/shared_udp.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingProxy.tproj/shared_udp.h b/StreamingProxy.tproj/shared_udp.h index 7b51d88..fdb4996 100644 --- a/StreamingProxy.tproj/shared_udp.h +++ b/StreamingProxy.tproj/shared_udp.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingProxy.tproj/util.c b/StreamingProxy.tproj/util.c index aec502b..e992cc3 100644 --- a/StreamingProxy.tproj/util.c +++ b/StreamingProxy.tproj/util.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -37,6 +37,7 @@ #include #include "util.h" +static char to_lower(int c); /**********************************************/ static char ip_string_buffer[20]; @@ -48,7 +49,7 @@ char *ip_to_string(int ip) { } /**********************************************/ -static char to_lower(char c) +static char to_lower(int c) { if (c >= 'A' && c <= 'Z') return ((c - 'A') + 'a'); @@ -81,7 +82,7 @@ int strn_casecmp(char *str1, char *str2, int l) { int ret; - ret = to_lower(*str1) - to_lower(*str2); + ret = to_lower( (char) *str1) - to_lower((char) *str2); while (l-- && to_lower(*str1) && to_lower(*str2) && ((ret = to_lower(*str1++) - to_lower(*str2++)) == 0)) ; return ret; @@ -103,7 +104,7 @@ char* get_line_str( char* strBuff, char *input, int buffSize) assert( strBuff != NULL && input != NULL && buffSize > 0); - memset(strBuff, 0, buffSize); + memset(strBuff, 0, (size_t) buffSize); while( *p ) { assert( buffSize > 0 ); diff --git a/StreamingProxy.tproj/util.h b/StreamingProxy.tproj/util.h index 3fb5a1a..7006b55 100644 --- a/StreamingProxy.tproj/util.h +++ b/StreamingProxy.tproj/util.h @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/StreamingServer.pbproject/project.pbxproj b/StreamingServer.pbproject/project.pbxproj deleted file mode 100644 index d5dc107..0000000 --- a/StreamingServer.pbproject/project.pbxproj +++ /dev/null @@ -1,18802 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 38; - objects = { - 000DA9E30135948500DD2B4F = { - isa = PBXLibraryReference; - path = WebAdmin; - refType = 3; - }; - 000DA9E40135948600DD2B4F = { - buildPhases = ( - 000DA9E50135948600DD2B4F, - 000DA9E60135948600DD2B4F, - 000DA9E70135948600DD2B4F, - 000DA9E80135948600DD2B4F, - 00A79FAB01359C5F00DD2B4F, - 000DAB6B013598E400DD2B4F, - 52335F2D04EA47CC0003CA12, - 00A79F8E01359A6200DD2B4F, - 00A79F9001359ACA00DD2B4F, - 00A79F9301359B1500DD2B4F, - 00A79F9401359B1500DD2B4F, - 00A79F9501359B1500DD2B4F, - 0055090A02774E1100DD2B4C, - E926569B0430ED4409DD2838, - E961241C0432443309DD2838, - 00A79FC201359D6900DD2B4F, - 00A79FC801359D6900DD2B4F, - 00A79FF501359D6900DD2B4F, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = WebAdmin; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = WebAdmin; - productInstallPath = /usr/local/lib; - productName = WebAdmin; - productReference = 000DA9E30135948500DD2B4F; - }; - 000DA9E50135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E60135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - 00A7A1430135DF8800DD2B4F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E70135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E80135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DAB6B013598E400DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 00A7A1AE0135E35800DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 003D3EDC0132F64000DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = XMLParser.cpp; - refType = 4; - }; - 003D3EDD0132F64000DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = XMLParser.h; - refType = 4; - }; - 003D3EDF0132F64100DD292F = { - fileRef = 003D3EDD0132F64000DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 003D3EE00132F64100DD292F = { - fileRef = 003D3EDC0132F64000DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 004086EC02F0A2ED00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - name = StreamingLoadTool.cpp; - path = StreamingLoadTool/StreamingLoadTool.cpp; - refType = 4; - }; - 004086ED02F0A2ED00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - name = streamingloadtool.conf; - path = StreamingLoadTool/streamingloadtool.conf; - refType = 4; - }; - 004086EE02F0A2EE00DD2B4C = { - fileRef = 004086EC02F0A2ED00DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 004086EF02F0A2EE00DD2B4C = { - fileRef = 004086ED02F0A2ED00DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2889025B787000DD2B50 = { - isa = PBXBundleReference; - path = QTSSHomeDirectoryModule.bundle; - refType = 3; - }; - 004E288A025B787100DD2B50 = { - buildPhases = ( - 004E288B025B787100DD2B50, - 004E288C025B787100DD2B50, - 004E288D025B787100DD2B50, - 004E288E025B787100DD2B50, - 004E288F025B787100DD2B50, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSHomeDirectoryModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38720279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSHomeDirectoryModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSHomeDirectoryModule; - productReference = 004E2889025B787000DD2B50; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSHomeDirectoryModule - CFBundleGetInfoString - Supports User Home Directory Streaming - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.homedirectorymodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSHomeDirectoryModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 004E288B025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2893025B798500DD2B50, - 00BC5F62025E827400DD2B50, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288C025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288D025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2894025B798500DD2B50, - 00BC5F63025E827400DD2B50, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288E025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2896025B79F700DD2B50, - F57EED49027EA3AB01FF7AB9, - 004E2897025B79F700DD2B50, - 004E2898025B79F700DD2B50, - 004E2899025B79F700DD2B50, - 004E289B025B79F700DD2B50, - 004E289A025B79F700DD2B50, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288F025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E2890025B798400DD2B50 = { - children = ( - 004E2891025B798400DD2B50, - 004E2892025B798400DD2B50, - 00BC5F60025E827300DD2B50, - 00BC5F61025E827300DD2B50, - FBCB7F580507F2D100A273B4, - ); - isa = PBXGroup; - name = QTSSHomeDirectoryModule; - refType = 4; - }; - 004E2891025B798400DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - name = QTSSHomeDirectoryModule.cpp; - path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp; - refType = 4; - }; - 004E2892025B798400DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - name = QTSSHomeDirectoryModule.h; - path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h; - refType = 4; - }; - 004E2893025B798500DD2B50 = { - fileRef = 004E2892025B798400DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2894025B798500DD2B50 = { - fileRef = 004E2891025B798400DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2896025B79F700DD2B50 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2897025B79F700DD2B50 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2898025B79F700DD2B50 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2899025B79F700DD2B50 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E289A025B79F700DD2B50 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E289B025B79F700DD2B50 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0055090A02774E1100DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/WebAdmin/NetSSLeay/SSLeay.pm ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.pl"; - }; - 005B0878013B079200DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = "relayconfig.xml-Sample"; - refType = 4; - }; - 005B0879013B079300DD292F = { - fileRef = 005B0878013B079200DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 0066F5CE016E6AD000DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - path = RelaySession.cpp; - refType = 4; - }; - 0066F5CF016E6AD000DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - path = RelaySession.h; - refType = 4; - }; - 0066F5D0016E6AD000DD2B4C = { - fileRef = 0066F5CF016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0066F5D1016E6AD000DD2B4C = { - fileRef = 0066F5CE016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0075360D02EE064000DD2B4C = { - isa = PBXFileReference; - path = sample_100kbit.mp4; - refType = 4; - }; - 0075360E02EE064000DD2B4C = { - isa = PBXFileReference; - path = sample_300kbit.mp4; - refType = 4; - }; - 0075360F02EE064100DD2B4C = { - fileRef = 0075360D02EE064000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0075361002EE064100DD2B4C = { - fileRef = 0075360E02EE064000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 00759B2B00F2586E00DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 005B0879013B079300DD292F, - FBCB7F5A0507F2D100A273B4, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00759B2E00F2593E00DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Movies; - dstSubfolderSpec = 0; - files = ( - 0082672D01A2F39B00DD2AFC, - 61B89719017F4FDD0EDD2AFC, - 61B8971A017F4FDD0EDD2AFC, - 0075360F02EE064100DD2B4C, - 0075361002EE064100DD2B4C, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00759B3400F259D500DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - 00759B3500F25A0A00DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - 00759B3600F25A0A00DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - 00759B3700F25A8000DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; - }; - 00759B3800F25A8000DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; - }; - 00759B3900F25AF700DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; - }; - 00759B3A00F25AF700DD2B4C = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R ug+rw ${DSTROOT}/Library/QuickTimeStreaming\nchmod 0750 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchmod -R u=rwX,g=rX,o= ${DSTROOT}/Library/QuickTimeStreaming/Config"; - }; - 007870EC00F4E38300DD2B4C = { - isa = PBXTargetDependency; - target = 00E5906700F4DD0500DD2B4C; - }; - 0082672501A1D6A300DD2AFC = { - isa = PBXFileReference; - name = 3rdPartyAcknowledgements.rtf; - path = Documentation/3rdPartyAcknowledgements.rtf; - refType = 4; - }; - 0082672701A1D6A400DD2AFC = { - fileRef = 0082672501A1D6A300DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 0082672B01A2F39A00DD2AFC = { - isa = PBXFileReference; - path = sample.mp3; - refType = 4; - }; - 0082672D01A2F39B00DD2AFC = { - fileRef = 0082672B01A2F39A00DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 008788DE026B412B00DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = DSSALL; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 008788E3026B412B00DD2B4C, - F57EED39027EA0B001FF7AB9, - F57EED3A027EA0B001FF7AB9, - 008788E4026B412B00DD2B4C, - 008788E6026B412C00DD2B4C, - 008788E7026B412C00DD2B4C, - 008788E8026B412C00DD2B4C, - 008788E9026B412C00DD2B4C, - 008788EA026B412C00DD2B4C, - 008788EB026B412C00DD2B4C, - 008788EC026B412C00DD2B4C, - 008788ED026B412C00DD2B4C, - 008788EE026B412C00DD2B4C, - 008788DF026B412B00DD2B4C, - 008788E5026B412B00DD2B4C, - 008788EF026B412C00DD2B4C, - 008788F0026B412C00DD2B4C, - 008788E0026B412B00DD2B4C, - 008788E2026B412B00DD2B4C, - 008788E1026B412B00DD2B4C, - 008788F1026B412C00DD2B4C, - 84138032054DA0180061109F, - 5269CD670429FFC400DD2EDD, - ); - isa = PBXAggregateTarget; - name = DSS_Generic; - productName = QTSSWithoutSLT; - }; - 008788DF026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C396BA00C567B77F000001; - }; - 008788E0026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3978800C567B77F000001; - }; - 008788E1026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C397B700C567B77F000001; - }; - 008788E2026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C397C000C567B77F000001; - }; - 008788E3026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - }; - 008788E4026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 008788E5026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C398DE00C567B77F000001; - }; - 008788E6026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 008788E7026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C900C567B77F000001; - }; - 008788E8026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - }; - 008788E9026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - }; - 008788EA026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399F500C567B77F000001; - }; - 008788EB026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 008788EC026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - }; - 008788ED026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - }; - 008788EE026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - }; - 008788EF026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3972C00C567B77F000001; - }; - 008788F0026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = F533DA97011744B701DD292F; - }; - 008788F1026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 000DA9E40135948600DD2B4F; - }; - 00A79F8E01359A6200DD2B4F = { - buildActionMask = 8; - dstPath = /usr/sbin; - dstSubfolderSpec = 0; - files = ( - 00A7A1B10135E35800DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79F9001359ACA00DD2B4F = { - buildActionMask = 8; - dstPath = "$(SYSTEM_LIBRARY_DIR)/StartupItems/QuickTimeStreamingServer"; - dstSubfolderSpec = 0; - files = ( - 00A7A1B20135E35800DD2B4F, - 00A7A1B30135E35800DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79F9301359B1500DD2B4F = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources"; - }; - 00A79F9401359B1500DD2B4F = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj"; - }; - 00A79F9501359B1500DD2B4F = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/WebAdmin/StartupItems.bproj/English.lproj/Localizable.strings ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj/Localizable.strings"; - }; - 00A79FAB01359C5F00DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/AdminHtml; - dstSubfolderSpec = 0; - files = ( - 84138034054DA0BF0061109F, - 00A7A1C70135E46200DD2B4F, - E9ACCA5F013C52EC09DD2838, - 00A7A1C80135E46200DD2B4F, - E95AB76F013AC8C009DD2838, - E9ACCA5D013C317C09DD2838, - E96314B0013B155409DD2838, - E96314B1013B155409DD2838, - F551E69E0138190801000102, - 00A7A1C90135E46200DD2B4F, - 00A7A1CA0135E46200DD2B4F, - 00A7A1CB0135E46200DD2B4F, - E9EC923E0137107709DD2838, - 00A7A1CC0135E46200DD2B4F, - 00A7A1CD0135E46200DD2B4F, - 00A7A1CE0135E46200DD2B4F, - 00A7A1CF0135E46200DD2B4F, - 00A7A1D00135E46200DD2B4F, - 00A7A1D10135E46200DD2B4F, - 00A7A1D30135E46200DD2B4F, - 00A7A1D40135E46200DD2B4F, - 00A7A1D50135E46200DD2B4F, - 00A7A1D60135E46200DD2B4F, - 00A7A1D70135E46200DD2B4F, - 00A7A1D80135E46200DD2B4F, - 00A7A1D90135E46200DD2B4F, - 00A7A1DA0135E46200DD2B4F, - F59F643001449BE001000104, - F59F643101449BE001000104, - F59F643201449BE001000104, - F59F643301449BE001000104, - F59F64370144BCEB01000104, - F59F64380144BCEB01000104, - F59F64390144BCEB01000104, - E9686BA501B2D0D309DD2838, - E957C41A01454E2109DD2838, - E9423B940146CCD009DD2838, - E90CF1AC014FDE2809DD2838, - F574E249015FE07001000127, - E9E7E9C5016BDDD609DD2838, - E978DC41017F827D09DD2838, - F56EA4BF0199D1800100010F, - 00CA8FCA01AB113F00DD2B4C, - E924776F01C6CFD309DD2838, - E93DD2F1027876B709DD2838, - E93941060291C82509DD2838, - E98933B802F6140609DD2838, - E98933B902F6140609DD2838, - E97F11EF04313E7C09DD2838, - E97F11F104313E8A09DD2838, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FC201359D6900DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/AdminHtml/html_en; - dstSubfolderSpec = 0; - files = ( - 00A7A1DC0135E46200DD2B4F, - E97D18ED0150316E09DD2838, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FC801359D6900DD2B4F = { - buildActionMask = 8; - dstPath = Library/QuickTimeStreaming/AdminHtml/images; - dstSubfolderSpec = 0; - files = ( - 00A7A1DF0135E46200DD2B4F, - 00A7A1E00135E46200DD2B4F, - E9A7DCF4015180FC09FF1BBE, - 00A7A1E10135E46200DD2B4F, - 00A7A1E20135E46200DD2B4F, - E9A7DCF5015180FC09FF1BBE, - 00A7A1E30135E46200DD2B4F, - 00A7A1E40135E46200DD2B4F, - 00A7A1E50135E46200DD2B4F, - 00A7A1E60135E46200DD2B4F, - 00A7A1E70135E46200DD2B4F, - F5610DA601B5C81501DD2F6B, - F568F9790254EE29010001C8, - F5C3E6EC017CFE25010001C8, - E98FF20B01860AAC09DD2838, - 00A7A1E80135E46200DD2B4F, - 00A7A1E90135E46200DD2B4F, - F56CBE670136D97301000102, - E90CD038016133D109DD2838, - F56CBE680136D97301000102, - 00A7A1EA0135E46200DD2B4F, - 00A7A1EB0135E46200DD2B4F, - 00A7A1EC0135E46200DD2B4F, - 00A7A1ED0135E46200DD2B4F, - 00A7A1EE0135E46200DD2B4F, - E90CD03A016133F309DD2838, - 00A7A1EF0135E46200DD2B4F, - 00A7A1F00135E46200DD2B4F, - 00A7A1F10135E46200DD2B4F, - 00A7A1F20135E46200DD2B4F, - 00A7A1F30135E46200DD2B4F, - 00A7A1F40135E46200DD2B4F, - 00A7A1F50135E46200DD2B4F, - 00A7A1F60135E46200DD2B4F, - 00A7A1F70135E46200DD2B4F, - 00A7A1F80135E46200DD2B4F, - E9029E250188C0DB09DD2838, - E9029E270188C10809DD2838, - 00A7A1FB0135E46200DD2B4F, - 00A7A1FC0135E46200DD2B4F, - 00A7A1FF0135E46200DD2B4F, - 00A7A2000135E46200DD2B4F, - 00A7A2010135E46200DD2B4F, - 00A7A2020135E46200DD2B4F, - F5C7F02701B6CE3601DD2F6B, - F596A33C019319320189D339, - 00A7A2030135E46200DD2B4F, - E9013529018645DF09DD2838, - E901352A018645DF09DD2838, - E901352B018645DF09DD2838, - E901352C018645DF09DD2838, - E901352D018645DF09DD2838, - 00A7A2040135E46200DD2B4F, - 00A7A2050135E46200DD2B4F, - 00A7A2060135E46200DD2B4F, - 00A7A2070135E46200DD2B4F, - 00A7A2080135E46200DD2B4F, - 00A7A2090135E46200DD2B4F, - E9BA8EF0027A14D109DD2838, - E9BA8EF2027A14DA09DD2838, - 00A7A20A0135E46200DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FF501359D6900DD2B4F = { - buildActionMask = 8; - dstPath = Library/QuickTimeStreaming/AdminHtml/includes; - dstSubfolderSpec = 0; - files = ( - 00A7A20B0135E47700DD2B4F, - E9E2F95601C9716609DD2838, - 00A7A20C0135E47700DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A7A0B30135DF8700DD2B4F = { - children = ( - 522ACD4F041CC4220062FFCE, - 00A7A0CC0135DF8700DD2B4F, - ); - isa = PBXGroup; - name = NetSSLeay; - path = WebAdmin/NetSSLeay; - refType = 2; - }; - 00A7A0CC0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = SSLeay.pm; - path = WebAdmin/NetSSLeay/SSLeay.pm; - refType = 2; - }; - 00A7A0D00135DF8700DD2B4F = { - children = ( - 00A7A0D10135DF8700DD2B4F, - ); - isa = PBXGroup; - name = src; - path = WebAdmin/src; - refType = 2; - }; - 00A7A0D10135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXExecutableFileReference; - path = streamingadminserver.pl; - refType = 4; - }; - 00A7A0D20135DF8700DD2B4F = { - children = ( - 00A7A0D30135DF8700DD2B4F, - 00A7A0D40135DF8700DD2B4F, - 00A7A0D60135DF8700DD2B4F, - 00A7A0D70135DF8700DD2B4F, - ); - isa = PBXGroup; - name = StartupItems.bproj; - path = WebAdmin/StartupItems.bproj; - refType = 2; - }; - 00A7A0D30135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = dummy.c; - refType = 4; - }; - 00A7A0D40135DF8700DD2B4F = { - children = ( - 00A7A0D50135DF8700DD2B4F, - ); - isa = PBXVariantGroup; - name = Localizable.strings; - path = ""; - refType = 4; - }; - 00A7A0D50135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = English; - path = English.lproj/Localizable.strings; - refType = 4; - }; - 00A7A0D60135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXExecutableFileReference; - path = QuickTimeStreamingServer; - refType = 4; - }; - 00A7A0D70135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = StartupParameters.plist; - refType = 4; - }; - 00A7A0D80135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = streamingadminserver_autostart.conf; - path = WebAdmin/streamingadminserver_autostart.conf; - refType = 2; - }; - 00A7A0D90135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = streamingadminserver_Darwin.conf; - path = WebAdmin/streamingadminserver_Darwin.conf; - refType = 2; - }; - 00A7A0DA0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = streamingadminserver_NT.conf; - path = WebAdmin/streamingadminserver_NT.conf; - refType = 2; - }; - 00A7A0DB0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = streamingadminserver.conf; - path = WebAdmin/streamingadminserver.conf; - refType = 2; - }; - 00A7A0DC0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - name = streamingadminserver.pem; - path = WebAdmin/streamingadminserver.pem; - refType = 2; - }; - 00A7A0DD0135DF8700DD2B4F = { - children = ( - E9ACCA5E013C52EB09DD2838, - 00A7A0DE0135DF8700DD2B4F, - E98933B602F6140609DD2838, - E98933B702F6140609DD2838, - 00A7A0DF0135DF8700DD2B4F, - E90CF1AB014FDE2709DD2838, - E95AB76D013AC8BF09DD2838, - E978DC40017F827C09DD2838, - F551E69C013818ED01000102, - 00A7A0E00135DF8700DD2B4F, - E9ACCA5C013C317B09DD2838, - 00A7A0E60135DF8700DD2B4F, - 00A7A0E70135DF8700DD2B4F, - E9EC923C0137107609DD2838, - E957C41901454E2009DD2838, - E96314AC013B155309DD2838, - E96314AD013B155309DD2838, - 00A7A0EE0135DF8700DD2B4F, - 00A7A1000135DF8700DD2B4F, - 00A7A12D0135DF8700DD2B4F, - 00A7A1310135DF8700DD2B4F, - E924776E01C6CFD209DD2838, - 00A7A1330135DF8700DD2B4F, - 00A7A1340135DF8700DD2B4F, - E93941050291C82409DD2838, - 00A7A1350135DF8700DD2B4F, - 00A7A1360135DF8700DD2B4F, - F574E248015FE06F01000127, - 00A7A1370135DF8700DD2B4F, - F56EA4BE0199D17E0100010F, - F59F642C01449BDF01000104, - F59F642D01449BDF01000104, - F59F642E01449BDF01000104, - F59F642F01449BDF01000104, - E9423B930146CCCF09DD2838, - E97F11F004313E8A09DD2838, - 00A7A13A0135DF8700DD2B4F, - F59F64340144BCEA01000104, - F59F64350144BCEA01000104, - F59F64360144BCEA01000104, - E9686BA401B2D0D209DD2838, - E97F11EE04313E7C09DD2838, - E9E7E9C4016BDDD509DD2838, - 00A7A13C0135DF8700DD2B4F, - 00A7A13D0135DF8700DD2B4F, - 00A7A13E0135DF8700DD2B4F, - 00A7A13F0135DF8700DD2B4F, - 00A7A1400135DF8700DD2B4F, - 00A7A1410135DF8700DD2B4F, - E93DD2F0027876B609DD2838, - 00A7A1420135DF8700DD2B4F, - 00CA8FC901AB113E00DD2B4C, - ); - isa = PBXGroup; - name = WebAdminHtml; - path = WebAdmin/WebAdminHtml; - refType = 2; - }; - 00A7A0DE0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = "adminprotocol-lib.pl"; - refType = 4; - }; - 00A7A0DF0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = "cgi-lib.pl"; - refType = 4; - }; - 00A7A0E00135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = connected.html; - refType = 4; - }; - 00A7A0E60135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = format.html; - refType = 4; - }; - 00A7A0E70135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = frameset.html; - refType = 4; - }; - 00A7A0EE0135DF8700DD2B4F = { - children = ( - 00A7A0F10135DF8700DD2B4F, - E97D18EC0150316E09DD2838, - ); - isa = PBXGroup; - path = html_en; - refType = 4; - }; - 00A7A0F10135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = messages; - refType = 4; - }; - 00A7A1000135DF8700DD2B4F = { - children = ( - F56CBE630136D97301000102, - F56CBE640136D97301000102, - E98FF20A01860AAB09DD2838, - E9A7DCF2015180FB09FF1BBE, - E9A7DCF3015180FB09FF1BBE, - 00A7A1010135DF8700DD2B4F, - 00A7A1020135DF8700DD2B4F, - 00A7A1030135DF8700DD2B4F, - 00A7A1040135DF8700DD2B4F, - 00A7A1050135DF8700DD2B4F, - 00A7A1060135DF8700DD2B4F, - 00A7A1070135DF8700DD2B4F, - 00A7A1080135DF8700DD2B4F, - 00A7A1090135DF8700DD2B4F, - 00A7A10A0135DF8700DD2B4F, - 00A7A10B0135DF8700DD2B4F, - F5610DA501B5C81301DD2F6B, - 00A7A10C0135DF8700DD2B4F, - 00A7A10D0135DF8700DD2B4F, - 00A7A10E0135DF8700DD2B4F, - 00A7A10F0135DF8700DD2B4F, - 00A7A1100135DF8700DD2B4F, - 00A7A1110135DF8700DD2B4F, - 00A7A1120135DF8700DD2B4F, - 00A7A1130135DF8700DD2B4F, - 00A7A1140135DF8700DD2B4F, - 00A7A1150135DF8700DD2B4F, - 00A7A1160135DF8700DD2B4F, - 00A7A1170135DF8700DD2B4F, - F5C3E6EB017CFE24010001C8, - E90CD039016133F209DD2838, - 00A7A1180135DF8700DD2B4F, - E9BA8EF1027A14D909DD2838, - 00A7A1190135DF8700DD2B4F, - 00A7A11A0135DF8700DD2B4F, - 00A7A11D0135DF8700DD2B4F, - 00A7A11E0135DF8700DD2B4F, - E9029E240188C0DA09DD2838, - E9029E260188C10709DD2838, - E9BA8EEF027A14D009DD2838, - 00A7A1210135DF8700DD2B4F, - 00A7A1220135DF8700DD2B4F, - 00A7A1230135DF8700DD2B4F, - 00A7A1240135DF8700DD2B4F, - F596A33B019319300189D339, - F568F9780254EE28010001C8, - F5C7F02601B6CE3401DD2F6B, - 00A7A1250135DF8700DD2B4F, - E9013524018645DE09DD2838, - E9013525018645DE09DD2838, - E9013526018645DE09DD2838, - E9013527018645DE09DD2838, - E9013528018645DE09DD2838, - 00A7A1260135DF8700DD2B4F, - E90CD037016133D009DD2838, - 00A7A1270135DF8700DD2B4F, - 00A7A1280135DF8700DD2B4F, - 00A7A1290135DF8700DD2B4F, - 00A7A12A0135DF8700DD2B4F, - 00A7A12B0135DF8700DD2B4F, - 00A7A12C0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = images; - refType = 4; - }; - 00A7A1010135DF8700DD2B4F = { - isa = PBXFileReference; - path = apple_logo.gif; - refType = 4; - }; - 00A7A1020135DF8700DD2B4F = { - isa = PBXFileReference; - path = arrow_down.gif; - refType = 4; - }; - 00A7A1030135DF8700DD2B4F = { - isa = PBXFileReference; - path = back.gif; - refType = 4; - }; - 00A7A1040135DF8700DD2B4F = { - isa = PBXFileReference; - path = blackpixel.gif; - refType = 4; - }; - 00A7A1050135DF8700DD2B4F = { - isa = PBXFileReference; - path = clearpixel.gif; - refType = 4; - }; - 00A7A1060135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_alert.gif; - refType = 4; - }; - 00A7A1070135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_bottom.gif; - refType = 4; - }; - 00A7A1080135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_bottom_sm.gif; - refType = 4; - }; - 00A7A1090135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_middle.gif; - refType = 4; - }; - 00A7A10A0135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_middle_sm.gif; - refType = 4; - }; - 00A7A10B0135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_qtss.gif; - refType = 4; - }; - 00A7A10C0135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_top.gif; - refType = 4; - }; - 00A7A10D0135DF8700DD2B4F = { - isa = PBXFileReference; - path = dialog_top_sm.gif; - refType = 4; - }; - 00A7A10E0135DF8700DD2B4F = { - isa = PBXFileReference; - path = divider.gif; - refType = 4; - }; - 00A7A10F0135DF8700DD2B4F = { - isa = PBXFileReference; - path = divider_vert.gif; - refType = 4; - }; - 00A7A1100135DF8700DD2B4F = { - isa = PBXFileReference; - path = dot.gif; - refType = 4; - }; - 00A7A1110135DF8700DD2B4F = { - isa = PBXFileReference; - path = folder.gif; - refType = 4; - }; - 00A7A1120135DF8700DD2B4F = { - isa = PBXFileReference; - path = greypixel.gif; - refType = 4; - }; - 00A7A1130135DF8700DD2B4F = { - isa = PBXFileReference; - path = headerpixel.gif; - refType = 4; - }; - 00A7A1140135DF8700DD2B4F = { - isa = PBXFileReference; - path = help.gif; - refType = 4; - }; - 00A7A1150135DF8700DD2B4F = { - isa = PBXFileReference; - path = highlight.gif; - refType = 4; - }; - 00A7A1160135DF8700DD2B4F = { - isa = PBXFileReference; - path = horz_line.gif; - refType = 4; - }; - 00A7A1170135DF8700DD2B4F = { - isa = PBXFileReference; - path = icon_alert.gif; - refType = 4; - }; - 00A7A1180135DF8700DD2B4F = { - isa = PBXFileReference; - path = icon_folder.gif; - refType = 4; - }; - 00A7A1190135DF8700DD2B4F = { - isa = PBXFileReference; - path = icon_movie.gif; - refType = 4; - }; - 00A7A11A0135DF8700DD2B4F = { - isa = PBXFileReference; - path = icon_movie_off.gif; - refType = 4; - }; - 00A7A11D0135DF8700DD2B4F = { - isa = PBXFileReference; - path = icon_playlist.gif; - refType = 4; - }; - 00A7A11E0135DF8700DD2B4F = { - isa = PBXFileReference; - path = icon_playlist_off.gif; - refType = 4; - }; - 00A7A1210135DF8700DD2B4F = { - isa = PBXFileReference; - path = LB_arrow_dn.gif; - refType = 4; - }; - 00A7A1220135DF8700DD2B4F = { - isa = PBXFileReference; - path = LB_arrow_up.gif; - refType = 4; - }; - 00A7A1230135DF8700DD2B4F = { - isa = PBXFileReference; - path = line.gif; - refType = 4; - }; - 00A7A1240135DF8700DD2B4F = { - isa = PBXFileReference; - path = mp3_file.gif; - refType = 4; - }; - 00A7A1250135DF8700DD2B4F = { - isa = PBXFileReference; - path = pixel.gif; - refType = 4; - }; - 00A7A1260135DF8700DD2B4F = { - isa = PBXFileReference; - path = sort_arrow.gif; - refType = 4; - }; - 00A7A1270135DF8700DD2B4F = { - isa = PBXFileReference; - path = spacer.gif; - refType = 4; - }; - 00A7A1280135DF8700DD2B4F = { - isa = PBXFileReference; - path = stripes_gray.gif; - refType = 4; - }; - 00A7A1290135DF8700DD2B4F = { - isa = PBXFileReference; - path = stripes_gray_dark.gif; - refType = 4; - }; - 00A7A12A0135DF8700DD2B4F = { - isa = PBXFileReference; - path = trashcan.gif; - refType = 4; - }; - 00A7A12B0135DF8700DD2B4F = { - isa = PBXFileReference; - path = vert_line.gif; - refType = 4; - }; - 00A7A12C0135DF8700DD2B4F = { - isa = PBXFileReference; - path = whitepixel.gif; - refType = 4; - }; - 00A7A12D0135DF8700DD2B4F = { - children = ( - 00A7A12E0135DF8700DD2B4F, - E9E2F95501C9716509DD2838, - 00A7A12F0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = includes; - refType = 4; - }; - 00A7A12E0135DF8700DD2B4F = { - isa = PBXFileReference; - path = draglib.js; - refType = 4; - }; - 00A7A12F0135DF8700DD2B4F = { - isa = PBXFileReference; - path = standardNav.js; - refType = 4; - }; - 00A7A1310135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = login.html; - refType = 4; - }; - 00A7A1330135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = nav.html; - refType = 4; - }; - 00A7A1340135DF8700DD2B4F = { - isa = PBXFileReference; - path = parse_xml.cgi; - refType = 4; - }; - 00A7A1350135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = "playlist-lib.pl"; - refType = 4; - }; - 00A7A1360135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_detail.html; - refType = 4; - }; - 00A7A1370135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlists.html; - refType = 4; - }; - 00A7A13A0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = setup_assistant.html; - refType = 4; - }; - 00A7A13C0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = tag_formats.pl; - refType = 4; - }; - 00A7A13D0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = tag_types.pl; - refType = 4; - }; - 00A7A13E0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = tag_vals.pl; - refType = 4; - }; - 00A7A13F0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = template.html; - refType = 4; - }; - 00A7A1400135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = template_blank.html; - refType = 4; - }; - 00A7A1410135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = top.html; - refType = 4; - }; - 00A7A1420135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - path = welcome.html; - refType = 4; - }; - 00A7A1430135DF8800DD2B4F = { - fileRef = 00A7A0D30135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1AE0135E35800DD2B4F = { - fileRef = 00A7A0D80135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1B10135E35800DD2B4F = { - fileRef = 00A7A0D10135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1B20135E35800DD2B4F = { - fileRef = 00A7A0D60135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1B30135E35800DD2B4F = { - fileRef = 00A7A0D70135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1C70135E46200DD2B4F = { - fileRef = 00A7A0DE0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1C80135E46200DD2B4F = { - fileRef = 00A7A0DF0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1C90135E46200DD2B4F = { - fileRef = 00A7A0E00135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CA0135E46200DD2B4F = { - fileRef = 00A7A0E60135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CB0135E46200DD2B4F = { - fileRef = 00A7A0E70135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CC0135E46200DD2B4F = { - fileRef = 00A7A1310135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CD0135E46200DD2B4F = { - fileRef = 00A7A1330135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CE0135E46200DD2B4F = { - fileRef = 00A7A1340135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CF0135E46200DD2B4F = { - fileRef = 00A7A1350135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D00135E46200DD2B4F = { - fileRef = 00A7A1360135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D10135E46200DD2B4F = { - fileRef = 00A7A1370135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D30135E46200DD2B4F = { - fileRef = 00A7A13A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D40135E46200DD2B4F = { - fileRef = 00A7A13C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D50135E46200DD2B4F = { - fileRef = 00A7A13D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D60135E46200DD2B4F = { - fileRef = 00A7A13E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D70135E46200DD2B4F = { - fileRef = 00A7A13F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D80135E46200DD2B4F = { - fileRef = 00A7A1400135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D90135E46200DD2B4F = { - fileRef = 00A7A1410135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1DA0135E46200DD2B4F = { - fileRef = 00A7A1420135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1DC0135E46200DD2B4F = { - fileRef = 00A7A0F10135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1DF0135E46200DD2B4F = { - fileRef = 00A7A1010135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E00135E46200DD2B4F = { - fileRef = 00A7A1020135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E10135E46200DD2B4F = { - fileRef = 00A7A1030135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E20135E46200DD2B4F = { - fileRef = 00A7A1040135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E30135E46200DD2B4F = { - fileRef = 00A7A1050135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E40135E46200DD2B4F = { - fileRef = 00A7A1060135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E50135E46200DD2B4F = { - fileRef = 00A7A1070135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E60135E46200DD2B4F = { - fileRef = 00A7A1080135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E70135E46200DD2B4F = { - fileRef = 00A7A1090135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E80135E46200DD2B4F = { - fileRef = 00A7A10A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E90135E46200DD2B4F = { - fileRef = 00A7A10B0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EA0135E46200DD2B4F = { - fileRef = 00A7A10C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EB0135E46200DD2B4F = { - fileRef = 00A7A10D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EC0135E46200DD2B4F = { - fileRef = 00A7A10E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1ED0135E46200DD2B4F = { - fileRef = 00A7A10F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EE0135E46200DD2B4F = { - fileRef = 00A7A1100135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EF0135E46200DD2B4F = { - fileRef = 00A7A1110135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F00135E46200DD2B4F = { - fileRef = 00A7A1120135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F10135E46200DD2B4F = { - fileRef = 00A7A1130135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F20135E46200DD2B4F = { - fileRef = 00A7A1140135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F30135E46200DD2B4F = { - fileRef = 00A7A1150135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F40135E46200DD2B4F = { - fileRef = 00A7A1160135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F50135E46200DD2B4F = { - fileRef = 00A7A1170135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F60135E46200DD2B4F = { - fileRef = 00A7A1180135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F70135E46200DD2B4F = { - fileRef = 00A7A1190135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F80135E46200DD2B4F = { - fileRef = 00A7A11A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1FB0135E46200DD2B4F = { - fileRef = 00A7A11D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1FC0135E46200DD2B4F = { - fileRef = 00A7A11E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1FF0135E46200DD2B4F = { - fileRef = 00A7A1210135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2000135E46200DD2B4F = { - fileRef = 00A7A1220135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2010135E46200DD2B4F = { - fileRef = 00A7A1230135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2020135E46200DD2B4F = { - fileRef = 00A7A1240135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2030135E46200DD2B4F = { - fileRef = 00A7A1250135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2040135E46200DD2B4F = { - fileRef = 00A7A1260135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2050135E46200DD2B4F = { - fileRef = 00A7A1270135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2060135E46200DD2B4F = { - fileRef = 00A7A1280135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2070135E46200DD2B4F = { - fileRef = 00A7A1290135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2080135E46200DD2B4F = { - fileRef = 00A7A12A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2090135E46200DD2B4F = { - fileRef = 00A7A12B0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A20A0135E46200DD2B4F = { - fileRef = 00A7A12C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A20B0135E47700DD2B4F = { - fileRef = 00A7A12E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A20C0135E47700DD2B4F = { - fileRef = 00A7A12F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A90E1B029EBB6300DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_Dynamic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E1D029EBBC300DD2B4C, - 00A90E1E029EBC1600DD2B4C, - 00A90E24029EBF5300DD2B4C, - 00A90E25029EC03100DD2B4C, - 00A90E23029EBF5300DD2B4C, - 00A90E20029EBD9600DD2B4C, - 00A90E22029EBEA400DD2B4C, - 00A90E26029EC0A600DD2B4C, - 00A90E21029EBE4000DD2B4C, - 00A90E1C029EBB8500DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules_Dynamic; - productName = APIModules_Dynamic; - }; - 00A90E1C029EBB8500DD2B4C = { - isa = PBXTargetDependency; - target = F5E91D8702775D2501DD2AFC; - }; - 00A90E1D029EBBC300DD2B4C = { - isa = PBXTargetDependency; - target = 004E288A025B787100DD2B50; - }; - 00A90E1E029EBC1600DD2B4C = { - isa = PBXTargetDependency; - target = B6494F960279F7500BDD2A6C; - }; - 00A90E1F029EBCC600DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E1B029EBB6300DD2B4C; - }; - 00A90E20029EBD9600DD2B4C = { - isa = PBXTargetDependency; - target = F5E91DCD0277603301DD2AFC; - }; - 00A90E21029EBE4000DD2B4C = { - isa = PBXTargetDependency; - target = 68C3993400C567B77F000001; - }; - 00A90E22029EBEA400DD2B4C = { - isa = PBXTargetDependency; - target = 68C3994300C567B77F000001; - }; - 00A90E23029EBF5300DD2B4C = { - isa = PBXTargetDependency; - target = 68C3995200C567B77F000001; - }; - 00A90E24029EBF5300DD2B4C = { - isa = PBXTargetDependency; - target = 68C3996200C567B77F000001; - }; - 00A90E25029EC03100DD2B4C = { - isa = PBXTargetDependency; - target = 68C3997B00C567B77F000001; - }; - 00A90E26029EC0A600DD2B4C = { - isa = PBXTargetDependency; - target = F5E91DDD0277603301DD2AFC; - }; - 00A90E27029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E28029EC2E700DD2B4C; - }; - 00A90E28029EC2E700DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_Static; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E29029EC2E700DD2B4C, - 00A90E2A029EC2E700DD2B4C, - 00A90E2B029EC2E700DD2B4C, - 00A90E2C029EC2E700DD2B4C, - 00A90E2D029EC2E700DD2B4C, - 00A90E2E029EC2E700DD2B4C, - 00A90E2F029EC2E700DD2B4C, - 00A90E30029EC2E700DD2B4C, - 00A90E31029EC2E700DD2B4C, - B6DC980302FB313E0BDD2A6C, - 00A90E32029EC2E700DD2B4C, - 614E133E054E6C890056EE2E, - ); - isa = PBXAggregateTarget; - name = APIModules_Static; - productName = APIModules_Static; - }; - 00A90E29029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398E000C567B77F000001; - }; - 00A90E2A029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C399AF00C567B77F000001; - }; - 00A90E2B029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398E800C567B77F000001; - }; - 00A90E2C029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3998A00C567B77F000001; - }; - 00A90E2D029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398F100C567B77F000001; - }; - 00A90E2E029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3991900C567B77F000001; - }; - 00A90E2F029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = B62C45C6012B21880BDD2A6C; - }; - 00A90E30029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3997200C567B77F000001; - }; - 00A90E31029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398FA00C567B77F000001; - }; - 00A90E32029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3992200C567B77F000001; - }; - 00A90E33029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E28029EC2E700DD2B4C; - }; - 00A90E34029ECF7E00DD2B4C = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - 00B8FC1600F4E32D00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - }; - 00B8FC1700F4E32D00DD2B4C = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00BC5F60025E827300DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - name = DirectoryInfo.cpp; - path = QTSSHomeDirectoryModule/DirectoryInfo.cpp; - refType = 4; - }; - 00BC5F61025E827300DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - name = DirectoryInfo.h; - path = QTSSHomeDirectoryModule/DirectoryInfo.h; - refType = 4; - }; - 00BC5F62025E827400DD2B50 = { - fileRef = 00BC5F61025E827300DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 00BC5F63025E827400DD2B50 = { - fileRef = 00BC5F60025E827300DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 00CA8FC901AB113E00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - path = startplaylists.pl; - refType = 4; - }; - 00CA8FCA01AB113F00DD2B4C = { - fileRef = 00CA8FC901AB113E00DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 00D2D75600F4E88000DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 004086EF02F0A2EE00DD2B4C, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00E58F9000F4D95A00DD2B4C = { - children = ( - 004086EC02F0A2ED00DD2B4C, - 00E58F9100F4DA8200DD2B4C, - ); - isa = PBXGroup; - name = StreamingLoadTool; - path = ""; - refType = 4; - }; - 00E58F9100F4DA8200DD2B4C = { - children = ( - 004086ED02F0A2ED00DD2B4C, - ); - isa = PBXGroup; - name = "Supporting Files"; - path = ""; - refType = 4; - }; - 00E5906600F4DD0400DD2B4C = { - isa = PBXExecutableFileReference; - path = StreamingLoadTool; - refType = 3; - }; - 00E5906700F4DD0500DD2B4C = { - buildPhases = ( - 00E5906800F4DD0500DD2B4C, - 00E5906900F4DD0500DD2B4C, - 00E5906B00F4DD0500DD2B4C, - 00E5907300F4DD0500DD2B4C, - 00D2D75600F4E88000DD2B4C, - 52335F2E04EA47D60003CA12, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = StreamingLoadTool; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00B8FC1600F4E32D00DD2B4C, - 00E5907900F4DD6000DD2B4C, - 00E5907A00F4DD6000DD2B4C, - 00E5907B00F4DD6000DD2B4C, - 00E5907C00F4DD6000DD2B4C, - 00E5907D00F4DD6000DD2B4C, - 00E5907E00F4DD6A00DD2B4C, - ); - isa = PBXToolTarget; - name = StreamingLoadTool; - productInstallPath = /usr/bin; - productName = SpamPro; - productReference = 00E5906600F4DD0400DD2B4C; - }; - 00E5906800F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5906900F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - 004086EE02F0A2EE00DD2B4C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5906B00F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - 00E5906D00F4DD0500DD2B4C, - F57EED60027EA94401FF7AB9, - 00B8FC1700F4E32D00DD2B4C, - 00E5906E00F4DD0500DD2B4C, - 00E5906F00F4DD0500DD2B4C, - 00E5907000F4DD0500DD2B4C, - 00E5907100F4DD0500DD2B4C, - 00E5907200F4DD0500DD2B4C, - 00E5907500F4DD2C00DD2B4C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5906D00F4DD0500DD2B4C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5906E00F4DD0500DD2B4C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5906F00F4DD0500DD2B4C = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907000F4DD0500DD2B4C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907100F4DD0500DD2B4C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907200F4DD0500DD2B4C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907300F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5907500F4DD2C00DD2B4C = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907900F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 00E5907A00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 00E5907B00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - }; - 00E5907C00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - }; - 00E5907D00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 00E5907E00F4DD6A00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - }; -//000 -//001 -//002 -//003 -//004 -//010 -//011 -//012 -//013 -//014 - 0138E52700C5C0DD7F000001 = { - buildRules = ( - ); - buildSettings = { - COPY_PHASE_STRIP = NO; - OPTIMIZATION_CFLAGS = "-O0"; - }; - isa = PBXBuildStyle; - name = Development; - }; - 0138E52800C5C0DD7F000001 = { - buildRules = ( - ); - buildSettings = { - COPY_PHASE_STRIP = YES; - }; - isa = PBXBuildStyle; - name = Deployment; - }; - 0138E52A00C5C1787F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52B00C5C22A7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52C00C5C22A7F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52D00C5C22A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52E00C5C22A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53700C6A7E27F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53800C6A7E27F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53900C6A7E27F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53A00C6A7E27F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53B00C6A8B97F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53C00C6A8B97F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53D00C6A8B97F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53E00C6A8B97F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53F00C6A9C67F000001 = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54000C6AACF7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54100C6AACF7F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54200C6AACF7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54300C6AACF7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54400C6AC357F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54500C6AC357F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54600C6AC357F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54700C6AC357F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E56E00C6B15A7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E56F00C6B15A7F000001 = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57000C6B15A7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57100C6B15A7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57200C6B15A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57300C6B15A7F000001 = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57400C6B15A7F000001 = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57500C6B15A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57600C6B15A7F000001 = { - fileRef = 68C396AB00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57700C6B15A7F000001 = { - fileRef = 68C396AE00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57800C6B15A7F000001 = { - fileRef = 68C3969F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57A00C6B15A7F000001 = { - fileRef = 68C396A200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57C00C6B15A7F000001 = { - fileRef = 68C396A100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57D00C6B15A7F000001 = { - fileRef = 68C396A900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57F00C6B15A7F000001 = { - fileRef = 68C396A000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E58200C6B3A57F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 0138E58300C6B3A57F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//010 -//011 -//012 -//013 -//014 -//280 -//281 -//282 -//283 -//284 - 287CBF2800D174BE11DD2B4C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//280 -//281 -//282 -//283 -//284 -//480 -//481 -//482 -//483 -//484 - 482C16F104CF5700003E91E5 = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = DSS_Generic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 482C16F204CF575A003E91E5, - 482C16F304CF5773003E91E5, - ); - isa = PBXAggregateTarget; - name = DSS; - productName = DSS_Generic; - }; - 482C16F204CF575A003E91E5 = { - isa = PBXTargetDependency; - target = 008788DE026B412B00DD2B4C; - }; - 482C16F304CF5773003E91E5 = { - isa = PBXTargetDependency; - target = E98FD95B02F5BC3309DD2838; - }; - 484082A003D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - 484082AF03D78E3600DD2838, - 484082B203D78E3600DD2838, - 484082B303D78E4A00DD2838, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A103D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - 484082B003D78E3600DD2838, - 484082B103D78E3600DD2838, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A203D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - 484082B403D78E5D00DD2838, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A303D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A403D78E0900DD2838 = { - buildPhases = ( - 484082A003D78E0900DD2838, - 484082A103D78E0900DD2838, - 484082A203D78E0900DD2838, - 484082A303D78E0900DD2838, - 484082B503D78E6B00DD2838, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = broadcasterctl; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXToolTarget; - name = broadcasterctl; - productInstallPath = /usr/bin; - productName = broadcasterctl; - productReference = 484082A503D78E0900DD2838; - }; - 484082A503D78E0900DD2838 = { - isa = PBXExecutableFileReference; - path = broadcasterctl; - refType = 3; - }; - 484082A803D78E3600DD2838 = { - children = ( - 484082AA03D78E3600DD2838, - 484082AB03D78E3600DD2838, - 484082AC03D78E3600DD2838, - 484082AD03D78E3600DD2838, - 484082AE03D78E3600DD2838, - ); - isa = PBXGroup; - path = broadcasterctl; - refType = 2; - }; - 484082AA03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcasterAdminController.h; - refType = 4; - }; - 484082AB03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcasterAdminController.m; - refType = 4; - }; - 484082AC03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = broadcasterctl.1; - refType = 4; - }; - 484082AD03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = broadcasterctl_main.m; - refType = 4; - }; - 484082AE03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcasterRemoteAdmin.h; - refType = 4; - }; - 484082AF03D78E3600DD2838 = { - fileRef = 484082AA03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B003D78E3600DD2838 = { - fileRef = 484082AB03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B103D78E3600DD2838 = { - fileRef = 484082AD03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B203D78E3600DD2838 = { - fileRef = 484082AE03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B303D78E4A00DD2838 = { - fileRef = 68C3920C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B403D78E5D00DD2838 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B503D78E6B00DD2838 = { - buildActionMask = 8; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - 484082B603D78E9F00DD2838, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 484082B603D78E9F00DD2838 = { - fileRef = 484082AC03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; -//480 -//481 -//482 -//483 -//484 -//520 -//521 -//522 -//523 -//524 - 522ACD4F041CC4220062FFCE = { - fileEncoding = 30; - isa = PBXFileReference; - name = SSLeay.c; - path = WebAdmin/NetSSLeay/SSLeay.c; - refType = 2; - }; - 522ACD55041CC52B0062FFCE = { - isa = PBXExecutableFileReference; - name = libperl.dylib; - path = /System/Library/Perl/darwin/CORE/libperl.dylib; - refType = 0; - }; - 522ACD57041CC5700062FFCE = { - isa = PBXFileReference; - name = libcrypto.dylib; - path = /usr/lib/libcrypto.dylib; - refType = 0; - }; - 522ACD59041CC5E90062FFCE = { - isa = PBXFileReference; - name = libssl.0.9.dylib; - path = /usr/lib/libssl.0.9.dylib; - refType = 0; - }; - 522B6D3804E1708000244363 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - 52335F2D04EA47CC0003CA12 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingadminserver_autostart.conf"; - }; - 52335F2E04EA47D60003CA12 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingloadtool.conf"; - }; - 5264A2C0041FD10500B9CAA7 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - 5269CD670429FFC400DD2EDD = { - isa = PBXTargetDependency; - target = 484082A403D78E0900DD2838; - }; - 5273046504303F0B000ECF53 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chown 76:80 ${DSTROOT}/Library/QuickTimeStreaming\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Movies\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Playlists\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - 52E30B0A041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0B041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0C041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - 52E30B11041DD21600FFB433, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0D041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - 52E30B15041DD22700FFB433, - 52E30B18041DD22B00FFB433, - 52E30B19041DD23100FFB433, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0E041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0F041DD13500FFB433 = { - buildPhases = ( - 52E30B0A041DD13500FFB433, - 52E30B0B041DD13500FFB433, - 52E30B0C041DD13500FFB433, - 52E30B0D041DD13500FFB433, - 52E30B0E041DD13500FFB433, - 52E30B1A041DD25100FFB433, - ); - buildSettings = { - HEADER_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\" \"$(SYSTEM_LIBRARY_DIR)/Perl/5.8.1/darwin-thread-multi-2level/CORE\""; - LIBRARY_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\" \"$(SYSTEM_LIBRARY_DIR)/Perl/5.8.1/darwin-thread-multi-2level/CORE\""; - OTHER_CFLAGS = "-g -pipe -pipe -fno-common -no-cpp-precomp -flat_namespace -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing"; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = SSLeay.bundle; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - ); - isa = PBXBundleTarget; - name = SSLeay.bundle; - productInstallPath = "$(USER_LIBRARY_DIR)/Bundles"; - productName = SSLeay.bundle; - productReference = 52E30B10041DD13500FFB433; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - - CFBundleGetInfoString - - CFBundleIconFile - - CFBundleIdentifier - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - - CFBundlePackageType - BNDL - CFBundleShortVersionString - - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 52E30B10041DD13500FFB433 = { - isa = PBXBundleReference; - path = SSLeay.bundle.bundle; - refType = 3; - }; - 52E30B11041DD21600FFB433 = { - fileRef = 522ACD4F041CC4220062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B15041DD22700FFB433 = { - fileRef = 522ACD55041CC52B0062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B18041DD22B00FFB433 = { - fileRef = 522ACD57041CC5700062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B19041DD23100FFB433 = { - fileRef = 522ACD59041CC5E90062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B1A041DD25100FFB433 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${TARGET_BUILD_DIR}/SSLeay.bundle.bundle/Contents/MacOS/SSLeay.bundle ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.bundle"; - }; -//520 -//521 -//522 -//523 -//524 -//610 -//611 -//612 -//613 -//614 - 6113F75E019B10860EDD2AFC = { - fileRef = 68C3968600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 614E1332054E6BE10056EE2E = { - buildPhases = ( - 614E1334054E6BE10056EE2E, - 614E1336054E6BE10056EE2E, - 614E1338054E6BE10056EE2E, - 614E133A054E6BE10056EE2E, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSRefMovieModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 614E1333054E6BE10056EE2E, - ); - isa = PBXLibraryTarget; - name = "QTSSRefMovieModule (Library)"; - productName = "QTSSWebDebugModule (Library)"; - productReference = 614E133B054E6BE10056EE2E; - }; - 614E1333054E6BE10056EE2E = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - 614E1334054E6BE10056EE2E = { - buildActionMask = 2147483647; - files = ( - 614E133C054E6C290056EE2E, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 614E1336054E6BE10056EE2E = { - buildActionMask = 2147483647; - files = ( - 614E133D054E6C310056EE2E, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 614E1338054E6BE10056EE2E = { - buildActionMask = 2147483647; - files = ( - 614E1339054E6BE10056EE2E, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 614E1339054E6BE10056EE2E = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 614E133A054E6BE10056EE2E = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 614E133B054E6BE10056EE2E = { - isa = PBXLibraryReference; - path = libQTSSRefMovieModule.a; - refType = 3; - }; - 614E133C054E6C290056EE2E = { - fileRef = B6494F9F0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - 614E133D054E6C310056EE2E = { - fileRef = B6494F9E0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - 614E133E054E6C890056EE2E = { - isa = PBXTargetDependency; - target = 614E1332054E6BE10056EE2E; - }; - 614E133F054E6E230056EE2E = { - fileRef = 614E133B054E6BE10056EE2E; - isa = PBXBuildFile; - settings = { - }; - }; - 61B89716017F4FDD0EDD2AFC = { - isa = PBXFileReference; - path = sample_300kbit.mov; - refType = 4; - }; - 61B89717017F4FDD0EDD2AFC = { - isa = PBXFileReference; - path = sample_100kbit.mov; - refType = 4; - }; - 61B89719017F4FDD0EDD2AFC = { - fileRef = 61B89716017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 61B8971A017F4FDD0EDD2AFC = { - fileRef = 61B89717017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 61E7BB7F01A1D4AB0EDD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Docs; - dstSubfolderSpec = 0; - files = ( - 0082672701A1D6A400DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; -//610 -//611 -//612 -//613 -//614 -//680 -//681 -//682 -//683 -//684 - 68C3920500C567B67F000001 = { - buildStyles = ( - 0138E52700C5C0DD7F000001, - 0138E52800C5C0DD7F000001, - ); - hasScannedForEncodings = 1; - isa = PBXProject; - mainGroup = 68C3920600C567B67F000001; - productRefGroup = 68C3967800C567B77F000001; - projectDirPath = ""; - targets = ( - 68C396B800C567B77F000001, - 482C16F104CF5700003E91E5, - 008788DE026B412B00DD2B4C, - F5E91E2302786F1501DD2AFC, - 00A90E28029EC2E700DD2B4C, - 00A90E1B029EBB6300DD2B4C, - 68C398DE00C567B77F000001, - F51C62E30279D3BC01DD2AFC, - 68C396BA00C567B77F000001, - 68C3972C00C567B77F000001, - F56B5A610278ADD701DD2AFC, - B649D5CB02B97F170BDD2A6C, - F533DA97011744B701DD292F, - 68C3978800C567B77F000001, - 68C397B700C567B77F000001, - 00E5906700F4DD0500DD2B4C, - 68C397C000C567B77F000001, - 68C396F900C567B77F000001, - 68C3970300C567B77F000001, - 68C396D100C567B77F000001, - 68C396DB00C567B77F000001, - 68C396BC00C567B77F000001, - 68C396E500C567B77F000001, - 68C396EF00C567B77F000001, - 68C3970D00C567B77F000001, - 68C3971700C567B77F000001, - 68C3987300C567B77F000001, - 68C39A3600C567B77F000001, - 68C399EA00C567B77F000001, - 68C3987F00C567B77F000001, - 68C399F500C567B77F000001, - 68C399C100C567B77F000001, - 68C398E000C567B77F000001, - 68C399D800C567B77F000001, - F6A48AF002390D0401000103, - 68C39A0900C567B77F000001, - 68C399C900C567B77F000001, - 68C39A0000C567B77F000001, - 68C39A4700C567B77F000001, - 68C396C600C567B77F000001, - 68C399AF00C567B77F000001, - 68C398E800C567B77F000001, - 68C3998A00C567B77F000001, - 68C398F100C567B77F000001, - 68C3991900C567B77F000001, - B62C45C6012B21880BDD2A6C, - 68C398FA00C567B77F000001, - 68C3997200C567B77F000001, - 68C3992200C567B77F000001, - 614E1332054E6BE10056EE2E, - F5E91D0E027758E801DD2AFC, - F5E91D3102775C5601DD2AFC, - F5E91DB90277603301DD2AFC, - 68C3996200C567B77F000001, - 68C3997B00C567B77F000001, - F5E91D2002775B5E01DD2AFC, - 68C3995200C567B77F000001, - F5E91D6902775D2501DD2AFC, - 004E288A025B787100DD2B50, - F5E91DCD0277603301DD2AFC, - B6DC97FB02FB2EAB0BDD2A6C, - F5E91D9E02775EEC01DD2AFC, - 68C3994300C567B77F000001, - F5E91D4002775C5601DD2AFC, - B6494F960279F7500BDD2A6C, - F5E91DDD0277603301DD2AFC, - 68C3993400C567B77F000001, - F5E91D7802775D2501DD2AFC, - F5E91D8702775D2501DD2AFC, - 000DA9E40135948600DD2B4F, - F57EED24027E9E1201FF7AB9, - F57EED29027E9E1201FF7AB9, - E98FD95B02F5BC3309DD2838, - 484082A403D78E0900DD2838, - 52E30B0F041DD13500FFB433, - ); - }; - 68C3920600C567B67F000001 = { - children = ( - 68C3920700C567B67F000001, - 00E58F9000F4D95A00DD2B4C, - 68C3921300C567B67F000001, - 68C3927300C567B67F000001, - 68C392BC00C567B67F000001, - F533DA8B011744B601DD292F, - 68C392F200C567B67F000001, - 68C392E900C567B67F000001, - 68C394D900C567B67F000001, - 68C3963A00C567B77F000001, - 68C395E600C567B77F000001, - 68C3946D00C567B67F000001, - 68C3947900C567B67F000001, - 68C395B700C567B77F000001, - 68C395D100C567B77F000001, - 68C3960B00C567B77F000001, - 68C395C000C567B77F000001, - 68C3960000C567B77F000001, - 68C3964D00C567B77F000001, - 68C395F300C567B77F000001, - F57EED2F027E9EDD01FF7AB9, - 68C3930600C567B67F000001, - 484082A803D78E3600DD2838, - 68C3965C00C567B77F000001, - 68C3967800C567B77F000001, - ); - isa = PBXGroup; - name = StreamingServer; - refType = 4; - }; - 68C3920700C567B67F000001 = { - children = ( - 68C3920B00C567B67F000001, - 68C3920C00C567B67F000001, - B66082C20337F1DF0BDD2A6C, - 68C3920E00C567B67F000001, - 0082672B01A2F39A00DD2AFC, - 61B89716017F4FDD0EDD2AFC, - 61B89717017F4FDD0EDD2AFC, - 0075360D02EE064000DD2B4C, - 0075360E02EE064000DD2B4C, - 005B0878013B079200DD292F, - 0082672501A1D6A300DD2AFC, - ); - isa = PBXGroup; - name = "Supporting Files"; - refType = 4; - }; - 68C3920B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PlatformHeader.h; - refType = 4; - }; - 68C3920C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = revision.h; - refType = 4; - }; - 68C3920E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = streamingserver.xml; - refType = 4; - }; - 68C3921300C567B67F000001 = { - children = ( - 68C3922900C567B67F000001, - 68C3921900C567B67F000001, - 68C3923200C567B67F000001, - 68C3923B00C567B67F000001, - 68C3924400C567B67F000001, - 68C3924D00C567B67F000001, - 68C3925600C567B67F000001, - 68C3925F00C567B67F000001, - 68C3926800C567B67F000001, - ); - isa = PBXGroup; - path = QTFileTools; - refType = 4; - }; - 68C3921900C567B67F000001 = { - children = ( - 68C3921B00C567B67F000001, - ); - isa = PBXGroup; - name = QTSDPGen; - path = QTSDPGen.tproj; - refType = 4; - }; - 68C3921B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSDPGen.cpp; - refType = 4; - }; - 68C3922900C567B67F000001 = { - children = ( - 68C3922B00C567B67F000001, - ); - isa = PBXGroup; - name = QTRTPGen; - path = QTRTPGen.tproj; - refType = 4; - }; - 68C3922B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTRTPGen.cpp; - refType = 4; - }; - 68C3923200C567B67F000001 = { - children = ( - 68C3923400C567B67F000001, - ); - isa = PBXGroup; - name = QTRTPFileTest; - path = QTRTPFileTest.tproj; - refType = 4; - }; - 68C3923400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTRTPFileTest.cpp; - refType = 4; - }; - 68C3923B00C567B67F000001 = { - children = ( - 68C3923D00C567B67F000001, - ); - isa = PBXGroup; - name = QTSampleLister; - path = QTSampleLister.tproj; - refType = 4; - }; - 68C3923D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSampleLister.cpp; - refType = 4; - }; - 68C3924400C567B67F000001 = { - children = ( - 68C3924600C567B67F000001, - ); - isa = PBXGroup; - name = QTTrackInfo; - path = QTTrackInfo.tproj; - refType = 4; - }; - 68C3924600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTTrackInfo.cpp; - refType = 4; - }; - 68C3924D00C567B67F000001 = { - children = ( - 68C3924F00C567B67F000001, - ); - isa = PBXGroup; - name = QTFileInfo; - path = QTFileInfo.tproj; - refType = 4; - }; - 68C3924F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTFileInfo.cpp; - refType = 4; - }; - 68C3925600C567B67F000001 = { - children = ( - 68C3925800C567B67F000001, - ); - isa = PBXGroup; - name = QTFileTest; - path = QTFileTest.tproj; - refType = 4; - }; - 68C3925800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTFileTest.cpp; - refType = 4; - }; - 68C3925F00C567B67F000001 = { - children = ( - 68C3926100C567B67F000001, - ); - isa = PBXGroup; - name = QTBroadcaster; - path = QTBroadcaster.tproj; - refType = 4; - }; - 68C3926100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTBroadcaster.cpp; - refType = 4; - }; - 68C3926800C567B67F000001 = { - children = ( - 68C3926A00C567B67F000001, - 68C3926C00C567B67F000001, - ); - isa = PBXGroup; - name = RTPFileGen; - path = RTPFileGen.tproj; - refType = 4; - }; - 68C3926A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPFileGen.cpp; - refType = 4; - }; - 68C3926C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPFileDefs.h; - refType = 4; - }; - 68C3927300C567B67F000001 = { - children = ( - 68C3927600C567B67F000001, - 68C3927500C567B67F000001, - 68C3929600C567B67F000001, - 68C3927700C567B67F000001, - 68C3929700C567B67F000001, - 68C3927800C567B67F000001, - 68C3929800C567B67F000001, - 68C3927900C567B67F000001, - 68C3929900C567B67F000001, - 68C3927A00C567B67F000001, - 68C3929A00C567B67F000001, - 68C3927B00C567B67F000001, - 68C3929B00C567B67F000001, - 68C3927C00C567B67F000001, - 68C3929C00C567B67F000001, - 68C3927D00C567B67F000001, - 68C3929D00C567B67F000001, - 68C3927E00C567B67F000001, - 68C3929E00C567B67F000001, - 68C3927F00C567B67F000001, - 68C3929F00C567B67F000001, - 68C3928000C567B67F000001, - 68C392A000C567B67F000001, - 68C3928100C567B67F000001, - 68C392A100C567B67F000001, - 68C3928200C567B67F000001, - 68C392A200C567B67F000001, - 68C3928300C567B67F000001, - 68C392A300C567B67F000001, - 68C392A400C567B67F000001, - 68C3928400C567B67F000001, - 68C392A500C567B67F000001, - 68C3928500C567B67F000001, - 68C392A600C567B67F000001, - 68C3928600C567B67F000001, - 68C392A700C567B67F000001, - 68C3928700C567B67F000001, - 68C392A800C567B67F000001, - 68C3928800C567B67F000001, - 68C392A900C567B67F000001, - 68C3928900C567B67F000001, - 68C392AA00C567B67F000001, - 68C3928A00C567B67F000001, - 68C392AB00C567B67F000001, - 68C3928B00C567B67F000001, - 68C392AC00C567B67F000001, - 68C3928C00C567B67F000001, - 68C392AD00C567B67F000001, - 68C3928D00C567B67F000001, - 68C392AE00C567B67F000001, - 68C3928E00C567B67F000001, - 68C392AF00C567B67F000001, - 68C3928F00C567B67F000001, - 68C392B000C567B67F000001, - 68C3929000C567B67F000001, - 68C392B100C567B67F000001, - 68C3929100C567B67F000001, - 68C392B200C567B67F000001, - 68C3929200C567B67F000001, - 68C392B300C567B67F000001, - 68C3929300C567B67F000001, - 68C392B400C567B67F000001, - ); - isa = PBXGroup; - name = QuickTimeStreamingServer; - path = Server.tproj; - refType = 4; - }; - 68C3927500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = GenerateXMLPrefs.cpp; - refType = 4; - }; - 68C3927600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = main.cpp; - refType = 4; - }; - 68C3927700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSCallbacks.cpp; - refType = 4; - }; - 68C3927800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDataConverter.cpp; - refType = 4; - }; - 68C3927900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDictionary.cpp; - refType = 4; - }; - 68C3927A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSErrorLogModule.cpp; - refType = 4; - }; - 68C3927B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSServer.cpp; - refType = 4; - }; - 68C3927C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSServerInterface.cpp; - refType = 4; - }; - 68C3927D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSServerPrefs.cpp; - refType = 4; - }; - 68C3927E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSExpirationDate.cpp; - refType = 4; - }; - 68C3927F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFile.cpp; - refType = 4; - }; - 68C3928000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSMessages.cpp; - refType = 4; - }; - 68C3928100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSModule.cpp; - refType = 4; - }; - 68C3928200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSPrefs.cpp; - refType = 4; - }; - 68C3928300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSSocket.cpp; - refType = 4; - }; - 68C3928400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSUserProfile.cpp; - refType = 4; - }; - 68C3928500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPTask.cpp; - refType = 4; - }; - 68C3928600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPBandwidthTracker.cpp; - refType = 4; - }; - 68C3928700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPOverbufferWindow.cpp; - refType = 4; - }; - 68C3928800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPPacketResender.cpp; - refType = 4; - }; - 68C3928900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPSession.cpp; - refType = 4; - }; - 68C3928A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPSessionInterface.cpp; - refType = 4; - }; - 68C3928B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPStream.cpp; - refType = 4; - }; - 68C3928C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPProtocol.cpp; - refType = 4; - }; - 68C3928D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPRequest.cpp; - refType = 4; - }; - 68C3928E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPRequestInterface.cpp; - refType = 4; - }; - 68C3928F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPRequestStream.cpp; - refType = 4; - }; - 68C3929000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPResponseStream.cpp; - refType = 4; - }; - 68C3929100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPSession.cpp; - refType = 4; - }; - 68C3929200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPSessionInterface.cpp; - refType = 4; - }; - 68C3929300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RunServer.cpp; - refType = 4; - }; - 68C3929600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = GenerateXMLPrefs.h; - refType = 4; - }; - 68C3929700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSCallbacks.h; - refType = 4; - }; - 68C3929800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDataConverter.h; - refType = 4; - }; - 68C3929900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDictionary.h; - refType = 4; - }; - 68C3929A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSErrorLogModule.h; - refType = 4; - }; - 68C3929B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSServer.h; - refType = 4; - }; - 68C3929C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSServerInterface.h; - refType = 4; - }; - 68C3929D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSServerPrefs.h; - refType = 4; - }; - 68C3929E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSExpirationDate.h; - refType = 4; - }; - 68C3929F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFile.h; - refType = 4; - }; - 68C392A000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSMessages.h; - refType = 4; - }; - 68C392A100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSModule.h; - refType = 4; - }; - 68C392A200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSPrefs.h; - refType = 4; - }; - 68C392A300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSSocket.h; - refType = 4; - }; - 68C392A400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSStream.h; - refType = 4; - }; - 68C392A500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSUserProfile.h; - refType = 4; - }; - 68C392A600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPTask.h; - refType = 4; - }; - 68C392A700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPBandwidthTracker.h; - refType = 4; - }; - 68C392A800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPOverbufferWindow.h; - refType = 4; - }; - 68C392A900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPPacketResender.h; - refType = 4; - }; - 68C392AA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPSession.h; - refType = 4; - }; - 68C392AB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPSessionInterface.h; - refType = 4; - }; - 68C392AC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPStream.h; - refType = 4; - }; - 68C392AD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPProtocol.h; - refType = 4; - }; - 68C392AE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPRequest.h; - refType = 4; - }; - 68C392AF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPRequestInterface.h; - refType = 4; - }; - 68C392B000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPRequestStream.h; - refType = 4; - }; - 68C392B100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPResponseStream.h; - refType = 4; - }; - 68C392B200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPSession.h; - refType = 4; - }; - 68C392B300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPSessionInterface.h; - refType = 4; - }; - 68C392B400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RunServer.h; - refType = 4; - }; - 68C392BC00C567B67F000001 = { - children = ( - 68C392C200C567B67F000001, - 68C392CD00C567B67F000001, - 68C392E200C567B67F000001, - 68C392BE00C567B67F000001, - 68C392CF00C567B67F000001, - 68C392BF00C567B67F000001, - 68C392D000C567B67F000001, - 68C392C000C567B67F000001, - 68C392D100C567B67F000001, - 68C392C700C567B67F000001, - 68C392D700C567B67F000001, - 68C392C100C567B67F000001, - 68C392D200C567B67F000001, - 68C392CC00C567B67F000001, - 68C392DC00C567B67F000001, - 68C392C300C567B67F000001, - 68C392D300C567B67F000001, - 68C392C400C567B67F000001, - 68C392D400C567B67F000001, - 68C392C500C567B67F000001, - 68C392D500C567B67F000001, - 68C392C600C567B67F000001, - 68C392D600C567B67F000001, - 68C392C800C567B67F000001, - 68C392D800C567B67F000001, - 68C392C900C567B67F000001, - 68C392D900C567B67F000001, - 68C392CA00C567B67F000001, - 68C392DA00C567B67F000001, - 68C392CB00C567B67F000001, - 68C392DB00C567B67F000001, - 68C392DD00C567B67F000001, - 68C392DE00C567B67F000001, - 68C392DF00C567B67F000001, - 68C392E000C567B67F000001, - 68C392E100C567B67F000001, - ); - isa = PBXGroup; - name = PlaylistBroadcaster; - path = PlaylistBroadcaster.tproj; - refType = 4; - }; - 68C392BE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BCasterTracker.cpp; - refType = 4; - }; - 68C392BF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcastLog.cpp; - refType = 4; - }; - 68C392C000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = NoRepeat.cpp; - refType = 4; - }; - 68C392C100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PickerFromFile.cpp; - refType = 4; - }; - 68C392C200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PlaylistBroadcaster.cpp; - refType = 4; - }; - 68C392C300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_broadcaster.cpp; - refType = 4; - }; - 68C392C400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_elements.cpp; - refType = 4; - }; - 68C392C500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_lists.cpp; - refType = 4; - }; - 68C392C600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_parsers.cpp; - refType = 4; - }; - 68C392C700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PlaylistPicker.cpp; - refType = 4; - }; - 68C392C800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_QTRTPBroadcastFile.cpp; - refType = 4; - }; - 68C392C900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_SDPGen.cpp; - refType = 4; - }; - 68C392CA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_SimpleParse.cpp; - refType = 4; - }; - 68C392CB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_utils.cpp; - refType = 4; - }; - 68C392CC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PLBroadcastDef.cpp; - refType = 4; - }; - 68C392CD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcasterSession.cpp; - refType = 4; - }; - 68C392CF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BCasterTracker.h; - refType = 4; - }; - 68C392D000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcastLog.h; - refType = 4; - }; - 68C392D100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = NoRepeat.h; - refType = 4; - }; - 68C392D200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PickerFromFile.h; - refType = 4; - }; - 68C392D300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_broadcaster.h; - refType = 4; - }; - 68C392D400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_elements.h; - refType = 4; - }; - 68C392D500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_lists.h; - refType = 4; - }; - 68C392D600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_parsers.h; - refType = 4; - }; - 68C392D700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PlaylistPicker.h; - refType = 4; - }; - 68C392D800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_QTRTPBroadcastFile.h; - refType = 4; - }; - 68C392D900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_SDPGen.h; - refType = 4; - }; - 68C392DA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_SimpleParse.h; - refType = 4; - }; - 68C392DB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_utils.h; - refType = 4; - }; - 68C392DC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PLBroadcastDef.h; - refType = 4; - }; - 68C392DD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = playlist_array.h; - refType = 4; - }; - 68C392DE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SimplePlayListElement.h; - refType = 4; - }; - 68C392DF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StSmartArrayPointer.h; - refType = 4; - }; - 68C392E000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TrackingElement.h; - refType = 4; - }; - 68C392E100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = tailor.h; - refType = 4; - }; - 68C392E200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcasterSession.h; - refType = 4; - }; - 68C392E900C567B67F000001 = { - children = ( - 68C392EB00C567B67F000001, - ); - isa = PBXGroup; - name = qtpasswd; - path = qtpasswd.tproj; - refType = 4; - }; - 68C392EB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lineEnding = 0; - path = QTSSPasswd.cpp; - refType = 4; - }; - 68C392F200C567B67F000001 = { - children = ( - 68C392FA00C567B67F000001, - 68C392F400C567B67F000001, - 68C392F500C567B67F000001, - 68C392FB00C567B67F000001, - 68C392FC00C567B67F000001, - 68C392F600C567B67F000001, - 68C392FD00C567B67F000001, - 68C392F700C567B67F000001, - 68C39AE000C5A41F7F000001, - 68C39ADF00C5A41F7F000001, - 68C392FE00C567B67F000001, - ); - isa = PBXGroup; - name = StreamingProxy; - path = StreamingProxy.tproj; - refType = 4; - }; - 68C392F400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = proxy.h; - refType = 4; - }; - 68C392F500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = proxy_plat.h; - refType = 4; - }; - 68C392F600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = shared_udp.h; - refType = 4; - }; - 68C392F700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = util.h; - refType = 4; - }; - 68C392FA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = proxy.c; - refType = 4; - }; - 68C392FB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = proxy_unix.c; - refType = 4; - }; - 68C392FC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = shared_udp.c; - refType = 4; - }; - 68C392FD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = util.c; - refType = 4; - }; - 68C392FE00C567B67F000001 = { - children = ( - 68C3930400C567B67F000001, - 68C3930500C567B67F000001, - ); - isa = PBXGroup; - name = "Supporting Files"; - refType = 4; - }; - 68C3930400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = streamingproxy.conf; - refType = 4; - }; - 68C3930500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StreamingProxy.html; - refType = 4; - }; - 68C3930600C567B67F000001 = { - children = ( - E98FD95E02F5BCA109DD2838, - 00A7A0B30135DF8700DD2B4F, - 00A7A0D00135DF8700DD2B4F, - 00A7A0D20135DF8700DD2B4F, - 00A7A0D80135DF8700DD2B4F, - 00A7A0D90135DF8700DD2B4F, - 00A7A0DA0135DF8700DD2B4F, - 00A7A0DB0135DF8700DD2B4F, - 00A7A0DC0135DF8700DD2B4F, - 00A7A0DD0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = WebAdmin; - refType = 4; - }; - 68C3946D00C567B67F000001 = { - children = ( - 68C3947200C567B67F000001, - 68C3947300C567B67F000001, - 68C3947000C567B67F000001, - 68C3947400C567B67F000001, - F5EF9AEF01235DC301DD292F, - 68C3946F00C567B67F000001, - ); - isa = PBXGroup; - path = AtomicLib; - refType = 4; - }; - 68C3946F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = atomic.h; - refType = 4; - }; - 68C3947000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = timestamp.h; - refType = 4; - }; - 68C3947200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = atomic_subr.s; - refType = 4; - }; - 68C3947300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = timescale.c; - refType = 4; - }; - 68C3947400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = timestamp.s; - refType = 4; - }; - 68C3947900C567B67F000001 = { - children = ( - F57EED2E027E9EDD01FF7AB9, - 68C3947B00C567B67F000001, - 68C3949E00C567B67F000001, - 68C3947C00C567B67F000001, - 68C3949F00C567B67F000001, - 68C394A000C567B67F000001, - 68C3947D00C567B67F000001, - 68C394A200C567B67F000001, - 68C394A300C567B67F000001, - 68C3947E00C567B67F000001, - 68C394A600C567B67F000001, - 68C3947F00C567B67F000001, - 68C394A800C567B67F000001, - 68C3948000C567B67F000001, - 68C394A900C567B67F000001, - 68C3948100C567B67F000001, - 68C394AA00C567B67F000001, - 68C394AB00C567B67F000001, - 68C3948200C567B67F000001, - 68C394AC00C567B67F000001, - 68C3948300C567B67F000001, - 68C394AD00C567B67F000001, - 68C3948400C567B67F000001, - 68C394AE00C567B67F000001, - 68C3948500C567B67F000001, - 68C394AF00C567B67F000001, - 68C394B000C567B67F000001, - 68C394B100C567B67F000001, - 68C3948600C567B67F000001, - 68C394B200C567B67F000001, - 68C394B300C567B67F000001, - 68C3948700C567B67F000001, - 68C394B400C567B67F000001, - 68C3948800C567B67F000001, - 68C394B500C567B67F000001, - 68C3948900C567B67F000001, - 68C394B600C567B67F000001, - 68C3948A00C567B67F000001, - 68C394B700C567B67F000001, - 68C3948B00C567B67F000001, - 68C394B800C567B67F000001, - 68C394B900C567B67F000001, - 68C3948C00C567B67F000001, - 68C394BA00C567B67F000001, - 68C3948D00C567B67F000001, - 68C394BB00C567B67F000001, - 68C3948E00C567B67F000001, - 68C394BC00C567B67F000001, - 68C3948F00C567B67F000001, - 68C394BD00C567B67F000001, - 68C394BE00C567B67F000001, - 68C3949000C567B67F000001, - 68C394BF00C567B67F000001, - 68C3949100C567B67F000001, - 68C394C000C567B67F000001, - 68C3949200C567B67F000001, - 68C394C100C567B67F000001, - 68C3949300C567B67F000001, - 68C394C200C567B67F000001, - 68C3949400C567B67F000001, - 68C394C300C567B67F000001, - 68C3949500C567B67F000001, - 68C394C400C567B67F000001, - 68C3949600C567B67F000001, - 68C394C500C567B67F000001, - 68C3949700C567B67F000001, - 68C394C700C567B67F000001, - 68C3949800C567B67F000001, - 68C394C900C567B67F000001, - 68C3949900C567B67F000001, - 68C394CA00C567B67F000001, - 68C3949A00C567B67F000001, - 68C394CB00C567B67F000001, - 68C3949B00C567B67F000001, - 68C394CC00C567B67F000001, - 68C394CE00C567B67F000001, - 68C3949D00C567B67F000001, - 68C394A100C567B67F000001, - 68C394CF00C567B67F000001, - 68C394A400C567B67F000001, - 68C394D000C567B67F000001, - 68C394A500C567B67F000001, - 68C394D100C567B67F000001, - 68C394A700C567B67F000001, - 68C394D200C567B67F000001, - 68C394C800C567B67F000001, - 68C394C600C567B67F000001, - F50DFC10025357EB01F41924, - F50DFC11025357EB01F41924, - ); - isa = PBXGroup; - path = CommonUtilitiesLib; - refType = 4; - }; - 68C3947B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ConfParser.cpp; - refType = 4; - }; - 68C3947C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = DateTranslator.cpp; - refType = 4; - }; - 68C3947D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = EventContext.cpp; - refType = 4; - }; - 68C3947E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = IdleTask.cpp; - refType = 4; - }; - 68C3947F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = md5digest.cpp; - refType = 4; - }; - 68C3948000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = MyAssert.cpp; - refType = 4; - }; - 68C3948100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OS.cpp; - refType = 4; - }; - 68C3948200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSBufferPool.cpp; - refType = 4; - }; - 68C3948300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSCodeFragment.cpp; - refType = 4; - }; - 68C3948400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSCond.cpp; - refType = 4; - }; - 68C3948500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSFileSource.cpp; - refType = 4; - }; - 68C3948600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSHeap.cpp; - refType = 4; - }; - 68C3948700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMutex.cpp; - refType = 4; - }; - 68C3948800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMutexRW.cpp; - refType = 4; - }; - 68C3948900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSQueue.cpp; - refType = 4; - }; - 68C3948A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSRef.cpp; - refType = 4; - }; - 68C3948B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSThread.cpp; - refType = 4; - }; - 68C3948C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QueryParamList.cpp; - refType = 4; - }; - 68C3948D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ResizeableStringFormatter.cpp; - refType = 4; - }; - 68C3948E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = Socket.cpp; - refType = 4; - }; - 68C3948F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SocketUtils.cpp; - refType = 4; - }; - 68C3949000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StringFormatter.cpp; - refType = 4; - }; - 68C3949100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StringParser.cpp; - refType = 4; - }; - 68C3949200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StringTranslator.cpp; - refType = 4; - }; - 68C3949300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StrPtrLen.cpp; - refType = 4; - }; - 68C3949400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = Task.cpp; - refType = 4; - }; - 68C3949500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TCPListenerSocket.cpp; - refType = 4; - }; - 68C3949600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TCPSocket.cpp; - refType = 4; - }; - 68C3949700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TimeoutTask.cpp; - refType = 4; - }; - 68C3949800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UDPDemuxer.cpp; - refType = 4; - }; - 68C3949900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UDPSocket.cpp; - refType = 4; - }; - 68C3949A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UDPSocketPool.cpp; - refType = 4; - }; - 68C3949B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UserAgentParser.cpp; - refType = 4; - }; - 68C3949D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = base64.h; - refType = 4; - }; - 68C3949E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ConfParser.h; - refType = 4; - }; - 68C3949F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = DateTranslator.h; - refType = 4; - }; - 68C394A000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = DssStopwatch.h; - refType = 4; - }; - 68C394A100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ev.h; - refType = 4; - }; - 68C394A200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = EventContext.h; - refType = 4; - }; - 68C394A300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = FastCopyMacros.h; - refType = 4; - }; - 68C394A400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = getopt.h; - refType = 4; - }; - 68C394A500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = GetWord.h; - refType = 4; - }; - 68C394A600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = IdleTask.h; - refType = 4; - }; - 68C394A700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = md5.h; - refType = 4; - }; - 68C394A800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = md5digest.h; - refType = 4; - }; - 68C394A900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = MyAssert.h; - refType = 4; - }; - 68C394AA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OS.h; - refType = 4; - }; - 68C394AB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSArrayObjectDeleter.h; - refType = 4; - }; - 68C394AC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSBufferPool.h; - refType = 4; - }; - 68C394AD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSCodeFragment.h; - refType = 4; - }; - 68C394AE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSCond.h; - refType = 4; - }; - 68C394AF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSFileSource.h; - refType = 4; - }; - 68C394B000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSHashTable.h; - refType = 4; - }; - 68C394B100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSHeaders.h; - refType = 4; - }; - 68C394B200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSHeap.h; - refType = 4; - }; - 68C394B300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMemory.h; - refType = 4; - }; - 68C394B400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMutex.h; - refType = 4; - }; - 68C394B500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMutexRW.h; - refType = 4; - }; - 68C394B600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSQueue.h; - refType = 4; - }; - 68C394B700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSRef.h; - refType = 4; - }; - 68C394B800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSThread.h; - refType = 4; - }; - 68C394B900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PLDoubleLinkedList.h; - refType = 4; - }; - 68C394BA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QueryParamList.h; - refType = 4; - }; - 68C394BB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ResizeableStringFormatter.h; - refType = 4; - }; - 68C394BC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = Socket.h; - refType = 4; - }; - 68C394BD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SocketUtils.h; - refType = 4; - }; - 68C394BE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StopWatch.h; - refType = 4; - }; - 68C394BF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StringFormatter.h; - refType = 4; - }; - 68C394C000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StringParser.h; - refType = 4; - }; - 68C394C100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StringTranslator.h; - refType = 4; - }; - 68C394C200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = StrPtrLen.h; - refType = 4; - }; - 68C394C300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = Task.h; - refType = 4; - }; - 68C394C400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TCPListenerSocket.h; - refType = 4; - }; - 68C394C500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TCPSocket.h; - refType = 4; - }; - 68C394C600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = tempcalls.h; - refType = 4; - }; - 68C394C700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = TimeoutTask.h; - refType = 4; - }; - 68C394C800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = Trim.h; - refType = 4; - }; - 68C394C900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UDPDemuxer.h; - refType = 4; - }; - 68C394CA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UDPSocket.h; - refType = 4; - }; - 68C394CB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UDPSocketPool.h; - refType = 4; - }; - 68C394CC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = UserAgentParser.h; - refType = 4; - }; - 68C394CE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = base64.c; - refType = 4; - }; - 68C394CF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = getopt.c; - refType = 4; - }; - 68C394D000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = GetWord.c; - refType = 4; - }; - 68C394D100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = md5.c; - refType = 4; - }; - 68C394D200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = Trim.c; - refType = 4; - }; - 68C394D900C567B67F000001 = { - children = ( - B6494F9D0279F88D0BDD2A6C, - 68C394DF00C567B67F000001, - 68C394E800C567B67F000001, - 68C394F300C567B67F000001, - 68C394FE00C567B67F000001, - 68C3951E00C567B67F000001, - 68C3952900C567B67F000001, - 68C3953400C567B67F000001, - 68C3953F00C567B67F000001, - 68C3954A00C567B67F000001, - 68C3955500C567B67F000001, - 68C3956000C567B67F000001, - 68C3956D00C567B67F000001, - 68C3957800C567B67F000001, - 68C3958300C567B67F000001, - 68C3959200C567B77F000001, - 68C3959D00C567B77F000001, - 68C395AA00C567B77F000001, - B62C45CD012B253B0BDD2A6C, - 004E2890025B798400DD2B50, - B6DC97FD02FB30350BDD2A6C, - ); - isa = PBXGroup; - path = APIModules; - refType = 4; - }; - 68C394DF00C567B67F000001 = { - children = ( - 68C394E100C567B67F000001, - ); - isa = PBXGroup; - path = OSMemory_Modules; - refType = 4; - }; - 68C394E100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMemory_Modules.cpp; - refType = 4; - }; - 68C394E800C567B67F000001 = { - children = ( - 68C394EA00C567B67F000001, - 68C394EC00C567B67F000001, - ); - isa = PBXGroup; - path = QTSSAccessLogModule; - refType = 4; - }; - 68C394EA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSAccessLogModule.cpp; - refType = 4; - }; - 68C394EC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSAccessLogModule.h; - refType = 4; - }; - 68C394F300C567B67F000001 = { - children = ( - 68C394F500C567B67F000001, - 68C394F700C567B67F000001, - ); - isa = PBXGroup; - path = QTSSFileModule; - refType = 4; - }; - 68C394F500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFileModule.cpp; - refType = 4; - }; - 68C394F700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFileModule.h; - refType = 4; - }; - 68C394FE00C567B67F000001 = { - children = ( - 68C3950000C567B67F000001, - 68C3950C00C567B67F000001, - 68C3950100C567B67F000001, - 68C3950D00C567B67F000001, - 68C3950200C567B67F000001, - 68C3950E00C567B67F000001, - 68C3950300C567B67F000001, - 68C3950F00C567B67F000001, - 68C3950400C567B67F000001, - 68C3951100C567B67F000001, - 68C3950500C567B67F000001, - 68C3951200C567B67F000001, - 68C3951000C567B67F000001, - 68C3950600C567B67F000001, - 68C3951300C567B67F000001, - 68C3950700C567B67F000001, - 68C3951400C567B67F000001, - 68C3950800C567B67F000001, - 68C3951500C567B67F000001, - 68C3950900C567B67F000001, - 68C3951600C567B67F000001, - 68C3950A00C567B67F000001, - 68C3951700C567B67F000001, - 0066F5CE016E6AD000DD2B4C, - 0066F5CF016E6AD000DD2B4C, - ); - isa = PBXGroup; - path = QTSSReflectorModule; - refType = 4; - }; - 68C3950000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSReflectorModule.cpp; - refType = 4; - }; - 68C3950100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRelayModule.cpp; - refType = 4; - }; - 68C3950200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSSplitterModule.cpp; - refType = 4; - }; - 68C3950300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RCFSourceInfo.cpp; - refType = 4; - }; - 68C3950400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ReflectorSession.cpp; - refType = 4; - }; - 68C3950500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ReflectorStream.cpp; - refType = 4; - }; - 68C3950600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RelayOutput.cpp; - refType = 4; - }; - 68C3950700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RelaySDPSourceInfo.cpp; - refType = 4; - }; - 68C3950800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPSessionOutput.cpp; - refType = 4; - }; - 68C3950900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPSourceInfo.cpp; - refType = 4; - }; - 68C3950A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SequenceNumberMap.cpp; - refType = 4; - }; - 68C3950C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSReflectorModule.h; - refType = 4; - }; - 68C3950D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRelayModule.h; - refType = 4; - }; - 68C3950E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSSplitterModule.h; - refType = 4; - }; - 68C3950F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RCFSourceInfo.h; - refType = 4; - }; - 68C3951000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ReflectorOutput.h; - refType = 4; - }; - 68C3951100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ReflectorSession.h; - refType = 4; - }; - 68C3951200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ReflectorStream.h; - refType = 4; - }; - 68C3951300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RelayOutput.h; - refType = 4; - }; - 68C3951400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RelaySDPSourceInfo.h; - refType = 4; - }; - 68C3951500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPSessionOutput.h; - refType = 4; - }; - 68C3951600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPSourceInfo.h; - refType = 4; - }; - 68C3951700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SequenceNumberMap.h; - refType = 4; - }; - 68C3951E00C567B67F000001 = { - children = ( - 68C3952000C567B67F000001, - 68C3952200C567B67F000001, - ); - isa = PBXGroup; - path = QTSSFlowControlModule; - refType = 4; - }; - 68C3952000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFlowControlModule.cpp; - refType = 4; - }; - 68C3952200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFlowControlModule.h; - refType = 4; - }; - 68C3952900C567B67F000001 = { - children = ( - 68C3952B00C567B67F000001, - 68C3952D00C567B67F000001, - ); - isa = PBXGroup; - path = QTSSWebDebugModule; - refType = 4; - }; - 68C3952B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSWebDebugModule.cpp; - refType = 4; - }; - 68C3952D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSWebDebugModule.h; - refType = 4; - }; - 68C3953400C567B67F000001 = { - children = ( - 68C3953600C567B67F000001, - 68C3953800C567B67F000001, - ); - isa = PBXGroup; - path = QTSSWebStatsModule; - refType = 4; - }; - 68C3953600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSWebStatsModule.cpp; - refType = 4; - }; - 68C3953800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSWebStatsModule.h; - refType = 4; - }; - 68C3953F00C567B67F000001 = { - children = ( - 68C3954100C567B67F000001, - 68C3954300C567B67F000001, - ); - isa = PBXGroup; - name = QTSSSpamDefenseModule; - path = QTSSSpamDefenseModule.bproj; - refType = 4; - }; - 68C3954100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSSpamDefenseModule.cpp; - refType = 4; - }; - 68C3954300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSSpamDefenseModule.h; - refType = 4; - }; - 68C3954A00C567B67F000001 = { - children = ( - 68C3954C00C567B67F000001, - 68C3954E00C567B67F000001, - ); - isa = PBXGroup; - name = QTSSRawFileModule; - path = QTSSRawFileModule.bproj; - refType = 4; - }; - 68C3954C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRawFileModule.cpp; - refType = 4; - }; - 68C3954E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRawFileModule.h; - refType = 4; - }; - 68C3955500C567B67F000001 = { - children = ( - 68C3955700C567B67F000001, - 68C3955900C567B67F000001, - ); - isa = PBXGroup; - name = QTSSFilePrivsModule; - path = QTSSFilePrivsModule.bproj; - refType = 4; - }; - 68C3955700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFilePrivsModule.cpp; - refType = 4; - }; - 68C3955900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSFilePrivsModule.h; - refType = 4; - }; - 68C3956000C567B67F000001 = { - children = ( - 68C3956300C567B67F000001, - 68C3956600C567B67F000001, - 68C3956200C567B67F000001, - 68C3956500C567B67F000001, - ); - isa = PBXGroup; - name = QTSSDemoAuthorizationModule; - path = QTSSDemoAuthorizationModule.bproj; - refType = 4; - }; - 68C3956200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AccessCheck.cpp; - refType = 4; - }; - 68C3956300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDemoModule.cpp; - refType = 4; - }; - 68C3956500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AccessCheck.h; - refType = 4; - }; - 68C3956600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDemoModule.h; - refType = 4; - }; - 68C3956D00C567B67F000001 = { - children = ( - 68C3956F00C567B67F000001, - 68C3957100C567B67F000001, - ); - isa = PBXGroup; - path = QTSSPOSIXFileSysModule; - refType = 4; - }; - 68C3956F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSPosixFileSysModule.cpp; - refType = 4; - }; - 68C3957100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSPosixFileSysModule.h; - refType = 4; - }; - 68C3957800C567B67F000001 = { - children = ( - 68C3957A00C567B67F000001, - 68C3957C00C567B67F000001, - ); - isa = PBXGroup; - name = QTSSDemoSMILModule; - path = QTSSDemoSMILModule.bproj; - refType = 4; - }; - 68C3957A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDemoSMILModule.cpp; - refType = 4; - }; - 68C3957C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSDemoSMILModule.h; - refType = 4; - }; - 68C3958300C567B67F000001 = { - children = ( - 68C3958700C567B67F000001, - 68C3958B00C567B67F000001, - 68C3958600C567B67F000001, - 68C3958A00C567B67F000001, - 68C3958500C567B67F000001, - 68C3958900C567B67F000001, - ); - isa = PBXGroup; - path = QTSSAdminModule; - refType = 4; - }; - 68C3958500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AdminElementNode.cpp; - refType = 4; - }; - 68C3958600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AdminQuery.cpp; - refType = 4; - }; - 68C3958700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSAdminModule.cpp; - refType = 4; - }; - 68C3958900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AdminElementNode.h; - refType = 4; - }; - 68C3958A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AdminQuery.h; - refType = 4; - }; - 68C3958B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSAdminModule.h; - refType = 4; - }; - 68C3959200C567B77F000001 = { - children = ( - 68C3959400C567B77F000001, - 68C3959600C567B77F000001, - ); - isa = PBXGroup; - path = QTSSHttpFileModule; - refType = 4; - }; - 68C3959400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSHttpFileModule.cpp; - refType = 4; - }; - 68C3959600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSHttpFileModule.h; - refType = 4; - }; - 68C3959D00C567B77F000001 = { - children = ( - 68C3959F00C567B77F000001, - 68C395A200C567B77F000001, - 68C395A000C567B77F000001, - 68C395A300C567B77F000001, - ); - isa = PBXGroup; - path = QTSSRTPFileModule; - refType = 4; - }; - 68C3959F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRTPFileModule.cpp; - refType = 4; - }; - 68C395A000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPFileSession.cpp; - refType = 4; - }; - 68C395A200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRTPFileModule.h; - refType = 4; - }; - 68C395A300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPFileSession.h; - refType = 4; - }; - 68C395AA00C567B77F000001 = { - children = ( - 68C395AD00C567B77F000001, - 68C395B000C567B77F000001, - 68C395AC00C567B77F000001, - 68C395AF00C567B77F000001, - ); - isa = PBXGroup; - path = QTSSAccessModule; - refType = 4; - }; - 68C395AC00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AccessChecker.cpp; - refType = 4; - }; - 68C395AD00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSAccessModule.cpp; - refType = 4; - }; - 68C395AF00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = AccessChecker.h; - refType = 4; - }; - 68C395B000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSAccessModule.h; - refType = 4; - }; - 68C395B700C567B77F000001 = { - children = ( - 68C395B900C567B77F000001, - ); - isa = PBXGroup; - path = OSMemoryLib; - refType = 4; - }; - 68C395B900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = OSMemory.cpp; - refType = 4; - }; - 68C395C000C567B77F000001 = { - children = ( - 68C395C200C567B77F000001, - 68C395C700C567B77F000001, - 68C395C300C567B77F000001, - 68C395C800C567B77F000001, - 68C395C400C567B77F000001, - 68C395C900C567B77F000001, - 68C395C500C567B77F000001, - 68C395CA00C567B77F000001, - ); - isa = PBXGroup; - path = RTCPUtilitiesLib; - refType = 4; - }; - 68C395C200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPAckPacket.cpp; - refType = 4; - }; - 68C395C300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPAPPPacket.cpp; - refType = 4; - }; - 68C395C400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPPacket.cpp; - refType = 4; - }; - 68C395C500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPSRPacket.cpp; - refType = 4; - }; - 68C395C700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPAckPacket.h; - refType = 4; - }; - 68C395C800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPAPPPacket.h; - refType = 4; - }; - 68C395C900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPPacket.h; - refType = 4; - }; - 68C395CA00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTCPSRPacket.h; - refType = 4; - }; - 68C395D100C567B77F000001 = { - children = ( - 68C395D300C567B77F000001, - 68C395D800C567B77F000001, - 68C395D600C567B77F000001, - 68C395DD00C567B77F000001, - 003D3EDC0132F64000DD292F, - 003D3EDD0132F64000DD292F, - 68C395DB00C567B77F000001, - ); - isa = PBXGroup; - path = PrefsSourceLib; - refType = 4; - }; - 68C395D300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = FilePrefsSource.cpp; - refType = 4; - }; - 68C395D600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = XMLPrefsParser.cpp; - refType = 4; - }; - 68C395D800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = FilePrefsSource.h; - refType = 4; - }; - 68C395DB00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = PrefsSource.h; - refType = 4; - }; - 68C395DD00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = XMLPrefsParser.h; - refType = 4; - }; - 68C395E600C567B77F000001 = { - children = ( - 68C395EA00C567B77F000001, - 68C395E800C567B77F000001, - 68C395EC00C567B77F000001, - 68C395EB00C567B77F000001, - ); - isa = PBXGroup; - path = APIStubLib; - refType = 4; - }; - 68C395E800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSS_Private.cpp; - refType = 4; - }; - 68C395EA00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSS.h; - refType = 4; - }; - 68C395EB00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRTSPProtocol.h; - refType = 4; - }; - 68C395EC00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSS_Private.h; - refType = 4; - }; - 68C395F300C567B77F000001 = { - children = ( - 68C395F500C567B77F000001, - 68C395F800C567B77F000001, - 68C395F600C567B77F000001, - 68C395F900C567B77F000001, - ); - isa = PBXGroup; - path = HTTPUtilitiesLib; - refType = 4; - }; - 68C395F500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = HTTPProtocol.cpp; - refType = 4; - }; - 68C395F600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = HTTPRequest.cpp; - refType = 4; - }; - 68C395F800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = HTTPProtocol.h; - refType = 4; - }; - 68C395F900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = HTTPRequest.h; - refType = 4; - }; - 68C3960000C567B77F000001 = { - children = ( - 68C3960200C567B77F000001, - 68C3960400C567B77F000001, - ); - isa = PBXGroup; - path = RTPMetaInfoLib; - refType = 4; - }; - 68C3960200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPMetaInfoPacket.cpp; - refType = 4; - }; - 68C3960400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTPMetaInfoPacket.h; - refType = 4; - }; - 68C3960B00C567B77F000001 = { - children = ( - 68C3960D00C567B77F000001, - 68C3962100C567B77F000001, - 68C3960E00C567B77F000001, - 68C3962200C567B77F000001, - 68C3960F00C567B77F000001, - 68C3962300C567B77F000001, - 68C3961000C567B77F000001, - 68C3962400C567B77F000001, - 68C3961100C567B77F000001, - 68C3962500C567B77F000001, - 68C3961200C567B77F000001, - 68C3962600C567B77F000001, - 68C3961300C567B77F000001, - 68C3962700C567B77F000001, - 68C3961400C567B77F000001, - 68C3962800C567B77F000001, - 68C3961500C567B77F000001, - 68C3962900C567B77F000001, - 68C3961600C567B77F000001, - 68C3962A00C567B77F000001, - 68C3961700C567B77F000001, - 68C3962B00C567B77F000001, - 68C3961800C567B77F000001, - 68C3962C00C567B77F000001, - 68C3961900C567B77F000001, - 68C3962D00C567B77F000001, - 68C3961A00C567B77F000001, - 68C3962E00C567B77F000001, - 68C3961B00C567B77F000001, - 68C3962F00C567B77F000001, - 68C3961C00C567B77F000001, - 68C3963000C567B77F000001, - 68C3961D00C567B77F000001, - 68C3963100C567B77F000001, - 68C3961E00C567B77F000001, - 68C3963200C567B77F000001, - 68C3961F00C567B77F000001, - 68C3963300C567B77F000001, - ); - isa = PBXGroup; - path = QTFileLib; - refType = 4; - }; - 68C3960D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom.cpp; - refType = 4; - }; - 68C3960E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_dref.cpp; - refType = 4; - }; - 68C3960F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_elst.cpp; - refType = 4; - }; - 68C3961000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_hinf.cpp; - refType = 4; - }; - 68C3961100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_mdhd.cpp; - refType = 4; - }; - 68C3961200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_mvhd.cpp; - refType = 4; - }; - 68C3961300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stco.cpp; - refType = 4; - }; - 68C3961400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stsc.cpp; - refType = 4; - }; - 68C3961500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stsd.cpp; - refType = 4; - }; - 68C3961600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stss.cpp; - refType = 4; - }; - 68C3961700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stsz.cpp; - refType = 4; - }; - 68C3961800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stts.cpp; - refType = 4; - }; - 68C3961900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_tkhd.cpp; - refType = 4; - }; - 68C3961A00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_tref.cpp; - refType = 4; - }; - 68C3961B00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTFile.cpp; - refType = 4; - }; - 68C3961C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTFile_FileControlBlock.cpp; - refType = 4; - }; - 68C3961D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTHintTrack.cpp; - refType = 4; - }; - 68C3961E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTRTPFile.cpp; - refType = 4; - }; - 68C3961F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTTrack.cpp; - refType = 4; - }; - 68C3962100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom.h; - refType = 4; - }; - 68C3962200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_dref.h; - refType = 4; - }; - 68C3962300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_elst.h; - refType = 4; - }; - 68C3962400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_hinf.h; - refType = 4; - }; - 68C3962500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_mdhd.h; - refType = 4; - }; - 68C3962600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_mvhd.h; - refType = 4; - }; - 68C3962700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stco.h; - refType = 4; - }; - 68C3962800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stsc.h; - refType = 4; - }; - 68C3962900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stsd.h; - refType = 4; - }; - 68C3962A00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stss.h; - refType = 4; - }; - 68C3962B00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stsz.h; - refType = 4; - }; - 68C3962C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_stts.h; - refType = 4; - }; - 68C3962D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_tkhd.h; - refType = 4; - }; - 68C3962E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAtom_tref.h; - refType = 4; - }; - 68C3962F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTFile.h; - refType = 4; - }; - 68C3963000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTFile_FileControlBlock.h; - refType = 4; - }; - 68C3963100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTHintTrack.h; - refType = 4; - }; - 68C3963200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTRTPFile.h; - refType = 4; - }; - 68C3963300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTTrack.h; - refType = 4; - }; - 68C3963A00C567B77F000001 = { - children = ( - 68C3963C00C567B77F000001, - 68C3964200C567B77F000001, - 68C3963D00C567B77F000001, - 68C3964300C567B77F000001, - 68C3963E00C567B77F000001, - 68C3964400C567B77F000001, - 68C3963F00C567B77F000001, - 68C3964500C567B77F000001, - 68C3964000C567B77F000001, - 68C3964600C567B77F000001, - F532558B0288434401DD2B50, - ); - isa = PBXGroup; - path = APICommonCode; - refType = 4; - }; - 68C3963C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAccessFile.cpp; - refType = 4; - }; - 68C3963D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSModuleUtils.cpp; - refType = 4; - }; - 68C3963E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRollingLog.cpp; - refType = 4; - }; - 68C3963F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SDPSourceInfo.cpp; - refType = 4; - }; - 68C3964000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SourceInfo.cpp; - refType = 4; - }; - 68C3964200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTAccessFile.h; - refType = 4; - }; - 68C3964300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSModuleUtils.h; - refType = 4; - }; - 68C3964400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSRollingLog.h; - refType = 4; - }; - 68C3964500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SDPSourceInfo.h; - refType = 4; - }; - 68C3964600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SourceInfo.h; - refType = 4; - }; - 68C3964D00C567B77F000001 = { - children = ( - 68C3964F00C567B77F000001, - 68C3965300C567B77F000001, - 68C3965000C567B77F000001, - 68C3965400C567B77F000001, - 68C3965100C567B77F000001, - 68C3965500C567B77F000001, - ); - isa = PBXGroup; - path = RTSPClientLib; - refType = 4; - }; - 68C3964F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ClientSession.cpp; - refType = 4; - }; - 68C3965000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ClientSocket.cpp; - refType = 4; - }; - 68C3965100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPClient.cpp; - refType = 4; - }; - 68C3965300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ClientSession.h; - refType = 4; - }; - 68C3965400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = ClientSocket.h; - refType = 4; - }; - 68C3965500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = RTSPClient.h; - refType = 4; - }; - 68C3965C00C567B77F000001 = { - children = ( - 68C3965E00C567B77F000001, - E98FD96A02F5BD6309DD2838, - F5C07FA60415973001DD2E7A, - 522ACD55041CC52B0062FFCE, - 522ACD57041CC5700062FFCE, - 522ACD59041CC5E90062FFCE, - ); - isa = PBXGroup; - name = "External Frameworks and Libraries"; - refType = 4; - }; - 68C3965E00C567B77F000001 = { - isa = PBXFrameworkReference; - name = Foundation.framework; - path = /System/Library/Frameworks/Foundation.framework; - refType = 0; - }; - 68C3967800C567B77F000001 = { - children = ( - 68C3967900C567B77F000001, - 68C3967A00C567B77F000001, - 68C3967B00C567B77F000001, - 68C3967C00C567B77F000001, - 68C3967D00C567B77F000001, - 68C3967E00C567B77F000001, - 68C3967F00C567B77F000001, - 68C3968000C567B77F000001, - 68C3968100C567B77F000001, - 68C3968200C567B77F000001, - 68C3968300C567B77F000001, - 68C3968400C567B77F000001, - 68C3968500C567B77F000001, - 68C3968600C567B77F000001, - 68C3969C00C567B77F000001, - 68C3969D00C567B77F000001, - 68C3969E00C567B77F000001, - 68C3969F00C567B77F000001, - 68C396A000C567B77F000001, - 68C396A100C567B77F000001, - 68C396A200C567B77F000001, - 68C396A300C567B77F000001, - 68C396A500C567B77F000001, - 68C396A600C567B77F000001, - 68C396A700C567B77F000001, - 68C396A800C567B77F000001, - 68C396A900C567B77F000001, - 68C396AA00C567B77F000001, - 68C396AB00C567B77F000001, - 68C396AE00C567B77F000001, - 68C396B000C567B77F000001, - 68C396AF00C567B77F000001, - 68C396B100C567B77F000001, - 68C396B200C567B77F000001, - 68C396B300C567B77F000001, - 68C396B400C567B77F000001, - 68C396B500C567B77F000001, - 68C396B600C567B77F000001, - 68C396B700C567B77F000001, - B62C45C5012B21870BDD2A6C, - 00E5906600F4DD0400DD2B4C, - F533DA95011744B601DD292F, - 000DA9E30135948500DD2B4F, - F6A48AED02390D0401000103, - 004E2889025B787000DD2B50, - F5E91D0D027758E801DD2AFC, - F5E91D1F02775B5D01DD2AFC, - F5E91D2F02775C5601DD2AFC, - F5E91D3002775C5601DD2AFC, - F5E91D6602775D2501DD2AFC, - F5E91D6702775D2501DD2AFC, - F5E91D6802775D2501DD2AFC, - F5E91D9D02775EEB01DD2AFC, - F5E91DA60277603301DD2AFC, - F5E91DA70277603301DD2AFC, - F5E91DA80277603301DD2AFC, - F56B5A600278ADD701DD2AFC, - B6494F950279F74E0BDD2A6C, - F57EED22027E9E1101FF7AB9, - F57EED23027E9E1101FF7AB9, - B649D5CA02B97F160BDD2A6C, - E98FD95C02F5BC3309DD2838, - B6DC97FC02FB2EAB0BDD2A6C, - 484082A503D78E0900DD2838, - 52E30B10041DD13500FFB433, - 614E133B054E6BE10056EE2E, - ); - isa = PBXGroup; - name = Products; - refType = 4; - }; - 68C3967900C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTSDPGen; - refType = 3; - }; - 68C3967A00C567B77F000001 = { - isa = PBXLibraryReference; - path = libTestQTFileLib.a; - refType = 3; - }; - 68C3967B00C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTRTPGen; - refType = 3; - }; - 68C3967C00C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTRTPFileTest; - refType = 3; - }; - 68C3967D00C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTSampleLister; - refType = 3; - }; - 68C3967E00C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTTrackInfo; - refType = 3; - }; - 68C3967F00C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTFileInfo; - refType = 3; - }; - 68C3968000C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTFileTest; - refType = 3; - }; - 68C3968100C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QTBroadcaster; - refType = 3; - }; - 68C3968200C567B77F000001 = { - isa = PBXExecutableFileReference; - path = RTPFileGen; - refType = 3; - }; - 68C3968300C567B77F000001 = { - isa = PBXExecutableFileReference; - path = QuickTimeStreamingServer; - refType = 3; - }; - 68C3968400C567B77F000001 = { - isa = PBXExecutableFileReference; - path = PlaylistBroadcaster; - refType = 3; - }; - 68C3968500C567B77F000001 = { - isa = PBXExecutableFileReference; - path = qtpasswd; - refType = 3; - }; - 68C3968600C567B77F000001 = { - isa = PBXExecutableFileReference; - path = StreamingProxy; - refType = 3; - }; - 68C3969C00C567B77F000001 = { - isa = PBXLibraryReference; - path = libAtomicLib.a; - refType = 3; - }; - 68C3969D00C567B77F000001 = { - isa = PBXLibraryReference; - path = libCommonUtilitiesLib.a; - refType = 3; - }; - 68C3969E00C567B77F000001 = { - isa = PBXLibraryReference; - path = libOSMemory_Modules.a; - refType = 3; - }; - 68C3969F00C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSAccessLogModule.a; - refType = 3; - }; - 68C396A000C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSFileModule.a; - refType = 3; - }; - 68C396A100C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSReflectorModule.a; - refType = 3; - }; - 68C396A200C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSFlowControlModule.a; - refType = 3; - }; - 68C396A300C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSWebDebugModule.a; - refType = 3; - }; - 68C396A500C567B77F000001 = { - isa = PBXBundleReference; - path = QTSSSpamDefenseModule.bundle; - refType = 3; - }; - 68C396A600C567B77F000001 = { - isa = PBXBundleReference; - path = QTSSRawFileModule.bundle; - refType = 3; - }; - 68C396A700C567B77F000001 = { - isa = PBXBundleReference; - path = QTSSFilePrivsModule.bundle; - refType = 3; - }; - 68C396A800C567B77F000001 = { - isa = PBXBundleReference; - path = QTSSDemoAuthorizationModule.bundle; - refType = 3; - }; - 68C396A900C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSPOSIXFileSysModule.a; - refType = 3; - }; - 68C396AA00C567B77F000001 = { - isa = PBXBundleReference; - path = QTSSDemoSMILModule.bundle; - refType = 3; - }; - 68C396AB00C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSAdminModule.a; - refType = 3; - }; - 68C396AE00C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTSSAccessModule.a; - refType = 3; - }; - 68C396AF00C567B77F000001 = { - isa = PBXLibraryReference; - path = libOSMemoryLib.a; - refType = 3; - }; - 68C396B000C567B77F000001 = { - isa = PBXLibraryReference; - path = libRTCPUtilitiesLib.a; - refType = 3; - }; - 68C396B100C567B77F000001 = { - isa = PBXLibraryReference; - path = libPrefsSourceLib.a; - refType = 3; - }; - 68C396B200C567B77F000001 = { - isa = PBXLibraryReference; - path = libAPIStubLib.a; - refType = 3; - }; - 68C396B300C567B77F000001 = { - isa = PBXLibraryReference; - path = libHTTPUtilitiesLib.a; - refType = 3; - }; - 68C396B400C567B77F000001 = { - isa = PBXLibraryReference; - path = libRTPMetaInfoLib.a; - refType = 3; - }; - 68C396B500C567B77F000001 = { - isa = PBXLibraryReference; - path = libQTFileLib.a; - refType = 3; - }; - 68C396B600C567B77F000001 = { - isa = PBXLibraryReference; - path = libAPICommonCode.a; - refType = 3; - }; - 68C396B700C567B77F000001 = { - isa = PBXLibraryReference; - path = libRTSPClientLib.a; - refType = 3; - }; - 68C396B800C567B77F000001 = { - buildPhases = ( - 68C39A5300C567B77F000001, - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = StreamingServer; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F50ACCCF037E597A017C358E, - 007870EC00F4E38300DD2B4C, - ); - isa = PBXAggregateTarget; - name = QTSS; - productName = "StreamingServer (Aggregate)"; - }; - 68C396BA00C567B77F000001 = { - buildPhases = ( - 68C3972100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = QTFileTools; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F54D303D027FCAD101000102, - F54D303E027FCAD101000102, - 68C396BB00C567B77F000001, - 68C396C500C567B77F000001, - 68C396D000C567B77F000001, - 68C396DA00C567B77F000001, - 68C396E400C567B77F000001, - 68C396EE00C567B77F000001, - 68C396F800C567B77F000001, - 68C3970200C567B77F000001, - 68C3970C00C567B77F000001, - 68C3971600C567B77F000001, - ); - isa = PBXAggregateTarget; - name = QTFileTools; - productName = "QTFileTools (Aggregate)"; - }; - 68C396BB00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396BC00C567B77F000001; - }; - 68C396BC00C567B77F000001 = { - buildPhases = ( - 68C396BD00C567B77F000001, - 68C396BE00C567B77F000001, - 68C396C000C567B77F000001, - 68C396C400C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ../..; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSDPGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B6E0239282F01000103, - 68C39A8D00C59BD47F000001, - 68C39A8C00C59BD47F000001, - 68C39A8A00C59BD47F000001, - ); - isa = PBXToolTarget; - name = QTSDPGen; - productName = "QTSDPGen (Tool)"; - productReference = 68C3967900C567B77F000001; - }; - 68C396BD00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396BE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396BF00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396BF00C567B77F000001 = { - fileRef = 68C3921B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396C000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396C200C567B77F000001, - 68C39A8600C59A9E7F000001, - 68C39A8700C59A9E7F000001, - 68C39A8800C59A9E7F000001, - F57EED53027EA94401FF7AB9, - 522B6D3804E1708000244363, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C200C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396C400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C500C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396C600C567B77F000001; - }; - 68C396C600C567B77F000001 = { - buildPhases = ( - 68C396C700C567B77F000001, - 68C396C800C567B77F000001, - 68C396C900C567B77F000001, - 68C396CF00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libTestQTFileLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39A8000C598377F000001, - F6999B6F0239282F01000103, - 68C39A8100C598B27F000001, - 68C39A8300C598B27F000001, - ); - isa = PBXLibraryTarget; - name = "TestQTFileLib (Library)"; - productName = "TestQTFileLib (Library)"; - productReference = 68C3967A00C567B77F000001; - }; - 68C396C700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396CA00C567B77F000001, - 68C39A7B00C597AB7F000001, - 68C39A7C00C597AB7F000001, - 68C39A7D00C597AB7F000001, - 68C39A7E00C597AB7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396CA00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396CF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D000C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396D100C567B77F000001; - }; - 68C396D100C567B77F000001 = { - buildPhases = ( - 68C396D200C567B77F000001, - 68C396D300C567B77F000001, - 68C396D500C567B77F000001, - 68C396D900C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTRTPGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B700239282F01000103, - 68C39A9200C59C3C7F000001, - 68C39A9300C59C3C7F000001, - 68C39A9400C59C3C7F000001, - 68C39A9500C59C3C7F000001, - ); - isa = PBXToolTarget; - name = QTRTPGen; - productName = "QTRTPGen (Tool)"; - productReference = 68C3967B00C567B77F000001; - }; - 68C396D200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396D400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D400C567B77F000001 = { - fileRef = 68C3922B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396D500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396D700C567B77F000001, - F57EED54027EA94401FF7AB9, - 68C39A8E00C59BD47F000001, - F6A3A53102392A2801000103, - 68C39A9000C59BD47F000001, - 68C39A9100C59BD47F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D700C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396D900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396DA00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396DB00C567B77F000001; - }; - 68C396DB00C567B77F000001 = { - buildPhases = ( - 68C396DC00C567B77F000001, - 68C396DD00C567B77F000001, - 68C396DF00C567B77F000001, - 68C396E300C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTRTPFileTest; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B68023927CE01000103, - 68C39A9700C59D627F000001, - 68C39A9800C59D627F000001, - 68C39A9A00C59D627F000001, - ); - isa = PBXToolTarget; - name = QTRTPFileTest; - productName = "QTRTPFileTest (Tool)"; - productReference = 68C3967C00C567B77F000001; - }; - 68C396DC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396DD00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396DE00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396DE00C567B77F000001 = { - fileRef = 68C3923400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396DF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396E100C567B77F000001, - 68C39A9B00C59D627F000001, - 68C39A9C00C59D627F000001, - 68C39A9E00C59D627F000001, - 5264A2C0041FD10500B9CAA7, - F6A3A53202392AE101000103, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396E300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E400C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396E500C567B77F000001; - }; - 68C396E500C567B77F000001 = { - buildPhases = ( - 68C396E600C567B77F000001, - 68C396E700C567B77F000001, - 68C396E900C567B77F000001, - 68C396ED00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSampleLister; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6A48AEF02390D0401000103, - 68C39A9F00C59DC47F000001, - 68C39AA000C59DC47F000001, - 68C39AA200C59DC47F000001, - ); - isa = PBXToolTarget; - name = QTSampleLister; - productName = "QTSampleLister (Tool)"; - productReference = 68C3967D00C567B77F000001; - }; - 68C396E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396E800C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E800C567B77F000001 = { - fileRef = 68C3923D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396E900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396EB00C567B77F000001, - F57EED56027EA94401FF7AB9, - 68C39AA300C59DC47F000001, - F6A3A53302392AE101000103, - 68C39AA400C59DC47F000001, - 68C39AA600C59DC47F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396EB00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396ED00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396EE00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396EF00C567B77F000001; - }; - 68C396EF00C567B77F000001 = { - buildPhases = ( - 68C396F000C567B77F000001, - 68C396F100C567B77F000001, - 68C396F300C567B77F000001, - 68C396F700C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTTrackInfo; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AB100C59ED87F000001, - F6999B69023927CE01000103, - 68C39AB200C59ED87F000001, - 68C39AB400C59ED87F000001, - ); - isa = PBXToolTarget; - name = QTTrackInfo; - productName = "QTTrackInfo (Tool)"; - productReference = 68C3967E00C567B77F000001; - }; - 68C396F000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396F200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F200C567B77F000001 = { - fileRef = 68C3924600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396F300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396F500C567B77F000001, - F57EED57027EA94401FF7AB9, - 68C39AA700C59E2F7F000001, - 68C39AA800C59E2F7F000001, - 68C39AAA00C59E2F7F000001, - F6A3A53402392AE101000103, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F500C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396F700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F800C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396F900C567B77F000001; - }; - 68C396F900C567B77F000001 = { - buildPhases = ( - 68C396FA00C567B77F000001, - 68C396FB00C567B77F000001, - 68C396FD00C567B77F000001, - 68C3970100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTFileInfo; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39ABF00C59F0F7F000001, - 68C39AC000C59F0F7F000001, - F6999B6A023927CE01000103, - 68C39AC200C59F0F7F000001, - ); - isa = PBXToolTarget; - name = QTFileInfo; - productName = "QTFileInfo (Tool)"; - productReference = 68C3967F00C567B77F000001; - }; - 68C396FA00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396FB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396FC00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396FC00C567B77F000001 = { - fileRef = 68C3924F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396FD00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396FF00C567B77F000001, - F57EED58027EA94401FF7AB9, - 68C39AAB00C59E2F7F000001, - 68C39AAC00C59E2F7F000001, - F6A3A53502392AE101000103, - 68C39AAE00C59E2F7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396FF00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3970100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970200C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3970300C567B77F000001; - }; - 68C3970300C567B77F000001 = { - buildPhases = ( - 68C3970400C567B77F000001, - 68C3970500C567B77F000001, - 68C3970700C567B77F000001, - 68C3970B00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTFileTest; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AC300C59F417F000001, - 68C39AC500C59F417F000001, - F6999B6B023927CE01000103, - 68C39AC600C59F417F000001, - ); - isa = PBXToolTarget; - name = QTFileTest; - productName = "QTFileTest (Tool)"; - productReference = 68C3968000C567B77F000001; - }; - 68C3970400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3970600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970600C567B77F000001 = { - fileRef = 68C3925800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3970700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3970900C567B77F000001, - F57EED59027EA94401FF7AB9, - 68C39AAF00C59E2F7F000001, - 68C39AB000C59E2F7F000001, - 68C39AB600C59ED87F000001, - F6A3A53602392AE101000103, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970900C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3970B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970C00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3970D00C567B77F000001; - }; - 68C3970D00C567B77F000001 = { - buildPhases = ( - 68C3970E00C567B77F000001, - 68C3970F00C567B77F000001, - 68C3971100C567B77F000001, - 68C3971500C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTBroadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AC700C59F6D7F000001, - F6999B6C023927CE01000103, - 68C39AC800C59F6D7F000001, - 68C39ACA00C59F6D7F000001, - ); - isa = PBXToolTarget; - name = QTBroadcaster; - productName = "QTBroadcaster (Tool)"; - productReference = 68C3968100C567B77F000001; - }; - 68C3970E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971000C567B77F000001 = { - fileRef = 68C3926100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3971100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971300C567B77F000001, - F57EED5A027EA94401FF7AB9, - 68C39AB700C59ED87F000001, - 68C39AB800C59ED87F000001, - F6A3A53702392AE101000103, - 68C39ABA00C59ED87F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971300C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3971500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971600C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3971700C567B77F000001; - }; - 68C3971700C567B77F000001 = { - buildPhases = ( - 68C3971800C567B77F000001, - 68C3971A00C567B77F000001, - 68C3971C00C567B77F000001, - 68C3972000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = RTPFileGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39ACB00C59F927F000001, - 68C39ACC00C59F927F000001, - F6999B6D023927CE01000103, - 68C39ACE00C59F927F000001, - ); - isa = PBXToolTarget; - name = RTPFileGen; - productName = "RTPFileGen (Tool)"; - productReference = 68C3968200C567B77F000001; - }; - 68C3971800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971900C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971900C567B77F000001 = { - fileRef = 68C3926C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3971A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971B00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971B00C567B77F000001 = { - fileRef = 68C3926A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3971C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971E00C567B77F000001, - F57EED5B027EA94401FF7AB9, - 68C39ABB00C59ED87F000001, - 68C39ABC00C59ED87F000001, - F6A3A53802392AE101000103, - 68C39ABE00C59ED87F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971E00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3972100C567B77F000001 = { - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - 68C3972200C567B77F000001, - 68C3972300C567B77F000001, - 68C3972400C567B77F000001, - 68C3972500C567B77F000001, - 68C3972600C567B77F000001, - 68C3972700C567B77F000001, - 68C3972800C567B77F000001, - 68C3972900C567B77F000001, - 68C3972A00C567B77F000001, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3972200C567B77F000001 = { - fileRef = 68C3967900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972300C567B77F000001 = { - fileRef = 68C3967B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972400C567B77F000001 = { - fileRef = 68C3967C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972500C567B77F000001 = { - fileRef = 68C3967D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972600C567B77F000001 = { - fileRef = 68C3967E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972700C567B77F000001 = { - fileRef = 68C3967F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972800C567B77F000001 = { - fileRef = 68C3968000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972900C567B77F000001 = { - fileRef = 68C3968100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972A00C567B77F000001 = { - fileRef = 68C3968200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972C00C567B77F000001 = { - buildPhases = ( - 68C3972D00C567B77F000001, - 68C3974E00C567B77F000001, - 68C3976F00C567B77F000001, - 68C3978600C567B77F000001, - 00759B2B00F2586E00DD2B4C, - 00759B2E00F2593E00DD2B4C, - 61E7BB7F01A1D4AB0EDD2AFC, - FBCB7F4C0507F23500A273B4, - 00759B3400F259D500DD2B4C, - 00759B3500F25A0A00DD2B4C, - 00759B3600F25A0A00DD2B4C, - 00759B3700F25A8000DD2B4C, - 00759B3800F25A8000DD2B4C, - 00759B3900F25AF700DD2B4C, - 00759B3A00F25AF700DD2B4C, - 5273046504303F0B000ECF53, - FBCB7F5C0507F30000A273B4, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/sbin; - LIBRARY_SEARCH_PATHS = ""; - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QuickTimeStreamingServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E388B0279D59101DD2AFC, - 00A90E33029EC2E700DD2B4C, - ); - isa = PBXToolTarget; - name = Server; - productInstallPath = /usr/sbin; - productName = "QuickTimeStreamingServer (Tool)"; - productReference = 68C3968300C567B77F000001; - }; - 68C3972D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3972E00C567B77F000001, - 68C3972F00C567B77F000001, - 68C3973000C567B77F000001, - 68C3973100C567B77F000001, - 68C3973200C567B77F000001, - 68C3973300C567B77F000001, - 68C3973400C567B77F000001, - 68C3973500C567B77F000001, - 68C3973600C567B77F000001, - 68C3973700C567B77F000001, - 68C3973800C567B77F000001, - 68C3973900C567B77F000001, - 68C3973A00C567B77F000001, - 68C3973B00C567B77F000001, - 68C3973C00C567B77F000001, - 68C3973D00C567B77F000001, - 68C3973E00C567B77F000001, - 68C3973F00C567B77F000001, - 68C3974000C567B77F000001, - 68C3974100C567B77F000001, - 68C3974200C567B77F000001, - 68C3974300C567B77F000001, - 68C3974400C567B77F000001, - 68C3974500C567B77F000001, - 68C3974600C567B77F000001, - 68C3974700C567B77F000001, - 68C3974800C567B77F000001, - 68C3974900C567B77F000001, - 68C3974A00C567B77F000001, - 68C3974B00C567B77F000001, - 68C3974C00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3972E00C567B77F000001 = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972F00C567B77F000001 = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973000C567B77F000001 = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973100C567B77F000001 = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973200C567B77F000001 = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973300C567B77F000001 = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973400C567B77F000001 = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973500C567B77F000001 = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973600C567B77F000001 = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973700C567B77F000001 = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973800C567B77F000001 = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973900C567B77F000001 = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973A00C567B77F000001 = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973B00C567B77F000001 = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973C00C567B77F000001 = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973D00C567B77F000001 = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973E00C567B77F000001 = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973F00C567B77F000001 = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974000C567B77F000001 = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974100C567B77F000001 = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974200C567B77F000001 = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974300C567B77F000001 = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974400C567B77F000001 = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974500C567B77F000001 = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974600C567B77F000001 = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974700C567B77F000001 = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974800C567B77F000001 = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974900C567B77F000001 = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974A00C567B77F000001 = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974B00C567B77F000001 = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974C00C567B77F000001 = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3974F00C567B77F000001, - 68C3975000C567B77F000001, - 68C3975100C567B77F000001, - 68C3975200C567B77F000001, - 68C3975300C567B77F000001, - 68C3975400C567B77F000001, - 68C3975500C567B77F000001, - 68C3975600C567B77F000001, - 68C3975700C567B77F000001, - 68C3975800C567B77F000001, - 68C3975900C567B77F000001, - 68C3975A00C567B77F000001, - 68C3975B00C567B77F000001, - 68C3975C00C567B77F000001, - 68C3975D00C567B77F000001, - 68C3975E00C567B77F000001, - 68C3975F00C567B77F000001, - 68C3976000C567B77F000001, - 68C3976100C567B77F000001, - 68C3976200C567B77F000001, - 68C3976300C567B77F000001, - 68C3976400C567B77F000001, - 68C3976500C567B77F000001, - 68C3976600C567B77F000001, - 68C3976700C567B77F000001, - 68C3976800C567B77F000001, - 68C3976900C567B77F000001, - 68C3976A00C567B77F000001, - 68C3976B00C567B77F000001, - 68C3976C00C567B77F000001, - 68C3976D00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3974F00C567B77F000001 = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975000C567B77F000001 = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975100C567B77F000001 = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975200C567B77F000001 = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975300C567B77F000001 = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975400C567B77F000001 = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975500C567B77F000001 = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975600C567B77F000001 = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975700C567B77F000001 = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975800C567B77F000001 = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975900C567B77F000001 = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975A00C567B77F000001 = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975B00C567B77F000001 = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975C00C567B77F000001 = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975D00C567B77F000001 = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975E00C567B77F000001 = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975F00C567B77F000001 = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976000C567B77F000001 = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976100C567B77F000001 = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976200C567B77F000001 = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976300C567B77F000001 = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976400C567B77F000001 = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976500C567B77F000001 = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976600C567B77F000001 = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976700C567B77F000001 = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976800C567B77F000001 = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976900C567B77F000001 = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976A00C567B77F000001 = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976B00C567B77F000001 = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976C00C567B77F000001 = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976D00C567B77F000001 = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3977100C567B77F000001, - F5C080B70415983101DD2E7A, - F57EED5E027EA94401FF7AB9, - 0138E56E00C6B15A7F000001, - 0138E56F00C6B15A7F000001, - 0138E57000C6B15A7F000001, - 68C39AE300C5A5217F000001, - 0138E57100C6B15A7F000001, - 0138E57200C6B15A7F000001, - 0138E57300C6B15A7F000001, - 0138E57400C6B15A7F000001, - 0138E57500C6B15A7F000001, - 0138E57600C6B15A7F000001, - 0138E57700C6B15A7F000001, - 0138E57800C6B15A7F000001, - 0138E57A00C6B15A7F000001, - 0138E57C00C6B15A7F000001, - 0138E57D00C6B15A7F000001, - 68C39AE400C5A5217F000001, - 0138E57F00C6B15A7F000001, - 287CBF2800D174BE11DD2B4C, - F5EB63B1011F467801DD292F, - B62F395E012B34C40BDD2A6C, - 614E133F054E6E230056EE2E, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3977100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3978800C567B77F000001 = { - buildPhases = ( - 68C3978900C567B77F000001, - 68C3979E00C567B77F000001, - 68C397AF00C567B77F000001, - 68C397B500C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/bin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = PlaylistBroadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F57EED61027EBA8101FF7AB9, - ); - isa = PBXToolTarget; - name = PlaylistBroadcaster; - productInstallPath = /usr/bin; - productName = "PlaylistBroadcaster (Tool)"; - productReference = 68C3968400C567B77F000001; - }; - 68C3978900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3978A00C567B77F000001, - 68C3978B00C567B77F000001, - 68C3978C00C567B77F000001, - 68C3978D00C567B77F000001, - 68C3978E00C567B77F000001, - 68C3978F00C567B77F000001, - 68C3979000C567B77F000001, - 68C3979100C567B77F000001, - 68C3979200C567B77F000001, - 68C3979300C567B77F000001, - 68C3979400C567B77F000001, - 68C3979500C567B77F000001, - 68C3979600C567B77F000001, - 68C3979700C567B77F000001, - 68C3979800C567B77F000001, - 68C3979900C567B77F000001, - 68C3979A00C567B77F000001, - 68C3979B00C567B77F000001, - 68C3979C00C567B77F000001, - 68C3979D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3978A00C567B77F000001 = { - fileRef = 68C392CF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978B00C567B77F000001 = { - fileRef = 68C392D000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978C00C567B77F000001 = { - fileRef = 68C392D100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978D00C567B77F000001 = { - fileRef = 68C392D200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978E00C567B77F000001 = { - fileRef = 68C392D300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978F00C567B77F000001 = { - fileRef = 68C392D400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979000C567B77F000001 = { - fileRef = 68C392D500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979100C567B77F000001 = { - fileRef = 68C392D600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979200C567B77F000001 = { - fileRef = 68C392D700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979300C567B77F000001 = { - fileRef = 68C392D800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979400C567B77F000001 = { - fileRef = 68C392D900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979500C567B77F000001 = { - fileRef = 68C392DA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979600C567B77F000001 = { - fileRef = 68C392DB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979700C567B77F000001 = { - fileRef = 68C392DC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979800C567B77F000001 = { - fileRef = 68C392DD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979900C567B77F000001 = { - fileRef = 68C392DE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979A00C567B77F000001 = { - fileRef = 68C392DF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979B00C567B77F000001 = { - fileRef = 68C392E000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979C00C567B77F000001 = { - fileRef = 68C392E100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979D00C567B77F000001 = { - fileRef = 68C392E200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3979F00C567B77F000001, - 68C397A000C567B77F000001, - 68C397A100C567B77F000001, - 68C397A200C567B77F000001, - 68C397A300C567B77F000001, - 68C397A400C567B77F000001, - 68C397A500C567B77F000001, - 68C397A600C567B77F000001, - 68C397A700C567B77F000001, - 68C397A800C567B77F000001, - 68C397A900C567B77F000001, - 68C397AA00C567B77F000001, - 68C397AB00C567B77F000001, - 68C397AC00C567B77F000001, - 68C397AD00C567B77F000001, - 68C397AE00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3979F00C567B77F000001 = { - fileRef = 68C392BE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A000C567B77F000001 = { - fileRef = 68C392BF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A100C567B77F000001 = { - fileRef = 68C392C000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A200C567B77F000001 = { - fileRef = 68C392C100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A300C567B77F000001 = { - fileRef = 68C392C200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A400C567B77F000001 = { - fileRef = 68C392C300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A500C567B77F000001 = { - fileRef = 68C392C400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A600C567B77F000001 = { - fileRef = 68C392C500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A700C567B77F000001 = { - fileRef = 68C392C600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A800C567B77F000001 = { - fileRef = 68C392C700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A900C567B77F000001 = { - fileRef = 68C392C800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AA00C567B77F000001 = { - fileRef = 68C392C900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AB00C567B77F000001 = { - fileRef = 68C392CA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AC00C567B77F000001 = { - fileRef = 68C392CB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AD00C567B77F000001 = { - fileRef = 68C392CC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AE00C567B77F000001 = { - fileRef = 68C392CD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397B100C567B77F000001, - F57EED5C027EA94401FF7AB9, - 68C39AD500C5A04A7F000001, - 68C39ADC00C5A1257F000001, - 68C39AD600C5A04A7F000001, - 68C39AD700C5A04A7F000001, - 68C39AD900C5A04A7F000001, - F6999B67023926FC01000103, - 68C39ADA00C5A04A7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397B100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397B500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397B700C567B77F000001 = { - buildPhases = ( - 68C397B800C567B77F000001, - 68C397B900C567B77F000001, - 68C397BB00C567B77F000001, - 68C397BE00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/bin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -DUSE_DEFAULT_STD_LIB -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fno-exceptions -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = revision.h; - PRODUCT_NAME = qtpasswd; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 0138E58200C6B3A57F000001, - ); - isa = PBXToolTarget; - name = qtpasswd; - productInstallPath = /usr/bin; - productName = "qtpasswd (Tool)"; - productReference = 68C3968500C567B77F000001; - }; - 68C397B800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397B900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397BA00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397BA00C567B77F000001 = { - fileRef = 68C392EB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397BB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397BC00C567B77F000001, - F57EED5D027EA94401FF7AB9, - 0138E58300C6B3A57F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397BC00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397BE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397C000C567B77F000001 = { - buildPhases = ( - 68C397C100C567B77F000001, - 68C397C600C567B77F000001, - 68C397CC00C567B77F000001, - 68C397CE00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = revision.h; - PRODUCT_NAME = StreamingProxy; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXToolTarget; - name = StreamingProxy; - productName = "StreamingProxy (Tool)"; - productReference = 68C3968600C567B77F000001; - }; - 68C397C100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397C200C567B77F000001, - 68C397C300C567B77F000001, - 68C397C400C567B77F000001, - 68C397C500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397C200C567B77F000001 = { - fileRef = 68C392F400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C300C567B77F000001 = { - fileRef = 68C392F500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C400C567B77F000001 = { - fileRef = 68C392F600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C500C567B77F000001 = { - fileRef = 68C392F700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397C800C567B77F000001, - 68C397C900C567B77F000001, - 68C397CA00C567B77F000001, - 68C397CB00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397C800C567B77F000001 = { - fileRef = 68C392FA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397C900C567B77F000001 = { - fileRef = 68C392FB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397CA00C567B77F000001 = { - fileRef = 68C392FC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397CB00C567B77F000001 = { - fileRef = 68C392FD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397CC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397CD00C567B77F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397CD00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397CE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987300C567B77F000001 = { - buildPhases = ( - 68C3987400C567B77F000001, - 68C3987700C567B77F000001, - 68C3987B00C567B77F000001, - 68C3987D00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAtomicLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "AtomicLib (Library)"; - productName = "AtomicLib (Library)"; - productReference = 68C3969C00C567B77F000001; - }; - 68C3987400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3987500C567B77F000001, - 68C3987600C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987500C567B77F000001 = { - fileRef = 68C3946F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3987600C567B77F000001 = { - fileRef = 68C3947000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3987700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3987900C567B77F000001, - F5EF9AF001235DC301DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987900C567B77F000001 = { - fileRef = 68C3947300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3987B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987F00C567B77F000001 = { - buildPhases = ( - 68C3988000C567B77F000001, - 68C398B100C567B77F000001, - 68C398D800C567B77F000001, - 68C398DC00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ". .. ../.."; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libCommonUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39A9600C59CF27F000001, - ); - isa = PBXLibraryTarget; - name = "CommonUtilitiesLib (Library)"; - productName = "CommonUtilitiesLib (Library)"; - productReference = 68C3969D00C567B77F000001; - }; - 68C3988000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3988100C567B77F000001, - 68C3988200C567B77F000001, - 68C3988300C567B77F000001, - 68C3988400C567B77F000001, - 68C3988500C567B77F000001, - 68C3988600C567B77F000001, - 68C3988700C567B77F000001, - 68C3988800C567B77F000001, - 68C3988900C567B77F000001, - 68C3988A00C567B77F000001, - 68C3988B00C567B77F000001, - 68C3988C00C567B77F000001, - 68C3988D00C567B77F000001, - 68C3988E00C567B77F000001, - 68C3988F00C567B77F000001, - 68C3989000C567B77F000001, - 68C3989100C567B77F000001, - 68C3989200C567B77F000001, - 68C3989300C567B77F000001, - 68C3989400C567B77F000001, - 68C3989500C567B77F000001, - 68C3989600C567B77F000001, - 68C3989700C567B77F000001, - 68C3989800C567B77F000001, - 68C3989900C567B77F000001, - 68C3989A00C567B77F000001, - 68C3989B00C567B77F000001, - 68C3989C00C567B77F000001, - 68C3989D00C567B77F000001, - 68C3989E00C567B77F000001, - 68C3989F00C567B77F000001, - 68C398A000C567B77F000001, - 68C398A100C567B77F000001, - 68C398A200C567B77F000001, - 68C398A300C567B77F000001, - 68C398A400C567B77F000001, - 68C398A500C567B77F000001, - 68C398A600C567B77F000001, - 68C398A700C567B77F000001, - 68C398A800C567B77F000001, - 68C398A900C567B77F000001, - 68C398AA00C567B77F000001, - 68C398AB00C567B77F000001, - 68C398AC00C567B77F000001, - 68C398AD00C567B77F000001, - 68C398AE00C567B77F000001, - 68C398AF00C567B77F000001, - 68C398B000C567B77F000001, - F50DFC12025357EB01F41924, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3988100C567B77F000001 = { - fileRef = 68C3949D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988200C567B77F000001 = { - fileRef = 68C3949E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988300C567B77F000001 = { - fileRef = 68C3949F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988400C567B77F000001 = { - fileRef = 68C394A000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988500C567B77F000001 = { - fileRef = 68C394A100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988600C567B77F000001 = { - fileRef = 68C394A200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988700C567B77F000001 = { - fileRef = 68C394A300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988800C567B77F000001 = { - fileRef = 68C394A400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988900C567B77F000001 = { - fileRef = 68C394A500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988A00C567B77F000001 = { - fileRef = 68C394A600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988B00C567B77F000001 = { - fileRef = 68C394A700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988C00C567B77F000001 = { - fileRef = 68C394A800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988D00C567B77F000001 = { - fileRef = 68C394A900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988E00C567B77F000001 = { - fileRef = 68C394AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988F00C567B77F000001 = { - fileRef = 68C394AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989000C567B77F000001 = { - fileRef = 68C394AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989100C567B77F000001 = { - fileRef = 68C394AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989200C567B77F000001 = { - fileRef = 68C394AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989300C567B77F000001 = { - fileRef = 68C394AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989400C567B77F000001 = { - fileRef = 68C394B000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989500C567B77F000001 = { - fileRef = 68C394B100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989600C567B77F000001 = { - fileRef = 68C394B200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989700C567B77F000001 = { - fileRef = 68C394B300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989800C567B77F000001 = { - fileRef = 68C394B400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989900C567B77F000001 = { - fileRef = 68C394B500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3989A00C567B77F000001 = { - fileRef = 68C394B600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989B00C567B77F000001 = { - fileRef = 68C394B700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989C00C567B77F000001 = { - fileRef = 68C394B800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989D00C567B77F000001 = { - fileRef = 68C394B900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989E00C567B77F000001 = { - fileRef = 68C394BA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3989F00C567B77F000001 = { - fileRef = 68C394BB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A000C567B77F000001 = { - fileRef = 68C394BC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A100C567B77F000001 = { - fileRef = 68C394BD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A200C567B77F000001 = { - fileRef = 68C394BE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A300C567B77F000001 = { - fileRef = 68C394BF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A400C567B77F000001 = { - fileRef = 68C394C000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A500C567B77F000001 = { - fileRef = 68C394C100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A600C567B77F000001 = { - fileRef = 68C394C200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A700C567B77F000001 = { - fileRef = 68C394C300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A800C567B77F000001 = { - fileRef = 68C394C400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A900C567B77F000001 = { - fileRef = 68C394C500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AA00C567B77F000001 = { - fileRef = 68C394C600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AB00C567B77F000001 = { - fileRef = 68C394C700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AC00C567B77F000001 = { - fileRef = 68C394C800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AD00C567B77F000001 = { - fileRef = 68C394C900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AE00C567B77F000001 = { - fileRef = 68C394CA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AF00C567B77F000001 = { - fileRef = 68C394CB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398B000C567B77F000001 = { - fileRef = 68C394CC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398B100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398B200C567B77F000001, - 68C398B300C567B77F000001, - 68C398B400C567B77F000001, - 68C398B500C567B77F000001, - 68C398B600C567B77F000001, - 68C398B700C567B77F000001, - 68C398B800C567B77F000001, - 68C398B900C567B77F000001, - 68C398BA00C567B77F000001, - 68C398BB00C567B77F000001, - 68C398BC00C567B77F000001, - 68C398BD00C567B77F000001, - 68C398BE00C567B77F000001, - 68C398BF00C567B77F000001, - 68C398C000C567B77F000001, - 68C398C100C567B77F000001, - 68C398C200C567B77F000001, - 68C398C300C567B77F000001, - 68C398C400C567B77F000001, - 68C398C500C567B77F000001, - 68C398C600C567B77F000001, - 68C398C700C567B77F000001, - 68C398C800C567B77F000001, - 68C398C900C567B77F000001, - 68C398CA00C567B77F000001, - 68C398CB00C567B77F000001, - 68C398CC00C567B77F000001, - 68C398CD00C567B77F000001, - 68C398CE00C567B77F000001, - 68C398CF00C567B77F000001, - 68C398D000C567B77F000001, - 68C398D100C567B77F000001, - 68C398D200C567B77F000001, - 68C398D300C567B77F000001, - 68C398D400C567B77F000001, - 68C398D500C567B77F000001, - 68C398D600C567B77F000001, - 68C398D700C567B77F000001, - F50DFC13025357EB01F41924, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398B200C567B77F000001 = { - fileRef = 68C3947B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B300C567B77F000001 = { - fileRef = 68C3947C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B400C567B77F000001 = { - fileRef = 68C3947D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B500C567B77F000001 = { - fileRef = 68C3947E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B600C567B77F000001 = { - fileRef = 68C3947F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B700C567B77F000001 = { - fileRef = 68C3948000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B800C567B77F000001 = { - fileRef = 68C3948100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B900C567B77F000001 = { - fileRef = 68C3948200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BA00C567B77F000001 = { - fileRef = 68C3948300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BB00C567B77F000001 = { - fileRef = 68C3948400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BC00C567B77F000001 = { - fileRef = 68C3948500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BD00C567B77F000001 = { - fileRef = 68C3948600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BE00C567B77F000001 = { - fileRef = 68C3948700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BF00C567B77F000001 = { - fileRef = 68C3948800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C000C567B77F000001 = { - fileRef = 68C3948900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C100C567B77F000001 = { - fileRef = 68C3948A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C200C567B77F000001 = { - fileRef = 68C3948B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C300C567B77F000001 = { - fileRef = 68C3948C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C400C567B77F000001 = { - fileRef = 68C3948D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C500C567B77F000001 = { - fileRef = 68C3948E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C600C567B77F000001 = { - fileRef = 68C3948F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C700C567B77F000001 = { - fileRef = 68C3949000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C800C567B77F000001 = { - fileRef = 68C3949100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C900C567B77F000001 = { - fileRef = 68C3949200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CA00C567B77F000001 = { - fileRef = 68C3949300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CB00C567B77F000001 = { - fileRef = 68C3949400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CC00C567B77F000001 = { - fileRef = 68C3949500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CD00C567B77F000001 = { - fileRef = 68C3949600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CE00C567B77F000001 = { - fileRef = 68C3949700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CF00C567B77F000001 = { - fileRef = 68C3949800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D000C567B77F000001 = { - fileRef = 68C3949900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D100C567B77F000001 = { - fileRef = 68C3949A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D200C567B77F000001 = { - fileRef = 68C3949B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D300C567B77F000001 = { - fileRef = 68C394CE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D400C567B77F000001 = { - fileRef = 68C394CF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D500C567B77F000001 = { - fileRef = 68C394D000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D600C567B77F000001 = { - fileRef = 68C394D100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D700C567B77F000001 = { - fileRef = 68C394D200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7600C597627F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398DC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398DE00C567B77F000001 = { - buildPhases = ( - 68C399BA00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E27029EC2E700DD2B4C, - 00A90E1F029EBCC600DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules; - productName = "APIModules (Aggregate)"; - }; - 68C398E000C567B77F000001 = { - buildPhases = ( - 68C398E100C567B77F000001, - 68C398E200C567B77F000001, - 68C398E400C567B77F000001, - 68C398E600C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libOSMemory_Modules.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "OSMemory_Modules (Library)"; - productName = "OSMemory_Modules (Library)"; - productReference = 68C3969E00C567B77F000001; - }; - 68C398E100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398E300C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E300C567B77F000001 = { - fileRef = 68C394E100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398E400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E800C567B77F000001 = { - buildPhases = ( - 68C398E900C567B77F000001, - 68C398EB00C567B77F000001, - 68C398ED00C567B77F000001, - 68C398EF00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAccessLogModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387D0279D53D01DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAccessLogModule (Library)"; - productName = "QTSSAccessLogModule (Library)"; - productReference = 68C3969F00C567B77F000001; - }; - 68C398E900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398EA00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EA00C567B77F000001 = { - fileRef = 68C394EC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398EB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398EC00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EC00C567B77F000001 = { - fileRef = 68C394EA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398ED00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F100C567B77F000001 = { - buildPhases = ( - 68C398F200C567B77F000001, - 68C398F400C567B77F000001, - 68C398F600C567B77F000001, - 68C398F800C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSFileModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387F0279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSFileModule (Library)"; - productName = "QTSSFileModule (Library)"; - productReference = 68C396A000C567B77F000001; - }; - 68C398F200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398F300C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F300C567B77F000001 = { - fileRef = 68C394F700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398F400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398F500C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F500C567B77F000001 = { - fileRef = 68C394F500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398F600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398FA00C567B77F000001 = { - buildPhases = ( - 68C398FB00C567B77F000001, - 68C3990800C567B77F000001, - 68C3991400C567B77F000001, - 68C3991700C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSReflectorModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38800279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSReflectorModule (Library)"; - productName = "QTSSReflectorModule (Library)"; - productReference = 68C396A100C567B77F000001; - }; - 68C398FB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398FC00C567B77F000001, - 68C398FD00C567B77F000001, - 68C398FF00C567B77F000001, - 68C3990000C567B77F000001, - 68C3990100C567B77F000001, - 68C3990200C567B77F000001, - 68C3990300C567B77F000001, - 68C3990400C567B77F000001, - 68C3990500C567B77F000001, - 68C3990600C567B77F000001, - 68C3990700C567B77F000001, - 0066F5D0016E6AD000DD2B4C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398FC00C567B77F000001 = { - fileRef = 68C3950C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398FD00C567B77F000001 = { - fileRef = 68C3950D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398FF00C567B77F000001 = { - fileRef = 68C3950F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990000C567B77F000001 = { - fileRef = 68C3951000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990100C567B77F000001 = { - fileRef = 68C3951100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990200C567B77F000001 = { - fileRef = 68C3951200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990300C567B77F000001 = { - fileRef = 68C3951300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990400C567B77F000001 = { - fileRef = 68C3951400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990500C567B77F000001 = { - fileRef = 68C3951500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990600C567B77F000001 = { - fileRef = 68C3951600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990700C567B77F000001 = { - fileRef = 68C3951700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3990900C567B77F000001, - 68C3990A00C567B77F000001, - 68C3990C00C567B77F000001, - 68C3990D00C567B77F000001, - 68C3990E00C567B77F000001, - 68C3990F00C567B77F000001, - 68C3991000C567B77F000001, - 68C3991100C567B77F000001, - 68C3991200C567B77F000001, - 68C3991300C567B77F000001, - 0066F5D1016E6AD000DD2B4C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3990900C567B77F000001 = { - fileRef = 68C3950000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990A00C567B77F000001 = { - fileRef = 68C3950100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990C00C567B77F000001 = { - fileRef = 68C3950300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990D00C567B77F000001 = { - fileRef = 68C3950400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990E00C567B77F000001 = { - fileRef = 68C3950500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990F00C567B77F000001 = { - fileRef = 68C3950600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991000C567B77F000001 = { - fileRef = 68C3950700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991100C567B77F000001 = { - fileRef = 68C3950800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991200C567B77F000001 = { - fileRef = 68C3950900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991300C567B77F000001 = { - fileRef = 68C3950A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991900C567B77F000001 = { - buildPhases = ( - 68C3991A00C567B77F000001, - 68C3991C00C567B77F000001, - 68C3991E00C567B77F000001, - 68C3992000C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSFlowControlModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38810279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSFlowControlModule (Library)"; - productName = "QTSSFlowControlModule (Library)"; - productReference = 68C396A200C567B77F000001; - }; - 68C3991A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3991B00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991B00C567B77F000001 = { - fileRef = 68C3952200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3991C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3991D00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991D00C567B77F000001 = { - fileRef = 68C3952000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992200C567B77F000001 = { - buildPhases = ( - 68C3992300C567B77F000001, - 68C3992500C567B77F000001, - 68C3992700C567B77F000001, - 68C3992900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSWebDebugModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38820279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSWebDebugModule (Library)"; - productName = "QTSSWebDebugModule (Library)"; - productReference = 68C396A300C567B77F000001; - }; - 68C3992300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3992400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992400C567B77F000001 = { - fileRef = 68C3952D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3992500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3992600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992600C567B77F000001 = { - fileRef = 68C3952B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3992700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 0138E52A00C5C1787F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993400C567B77F000001 = { - buildPhases = ( - 68C3993500C567B77F000001, - 68C3993700C567B77F000001, - 68C3993800C567B77F000001, - 68C3993A00C567B77F000001, - 68C3994100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wshadow -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSSpamDefenseModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386D0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSSpamDefenseModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSSpamDefenseModule (Bundle)"; - productReference = 68C396A500C567B77F000001; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSSpamDefenseModule - CFBundleGetInfoString - Protects against apple load tools - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.spamdefensemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSSpamDefenseModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3993500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993600C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993600C567B77F000001 = { - fileRef = 68C3954300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3993700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993900C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993900C567B77F000001 = { - fileRef = 68C3954100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3993A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993C00C567B77F000001, - F57EED3F027EA24601FF7AB9, - 0138E52B00C5C22A7F000001, - 0138E52C00C5C22A7F000001, - 0138E52D00C5C22A7F000001, - 0138E52E00C5C22A7F000001, - 70A648BC01162DA102DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993C00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3994100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994300C567B77F000001 = { - buildPhases = ( - 68C3994400C567B77F000001, - 68C3994600C567B77F000001, - 68C3994700C567B77F000001, - 68C3994900C567B77F000001, - 68C3995000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRawFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386E0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSRawFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSRawFileModule (Bundle)"; - productReference = 68C396A600C567B77F000001; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRawFileModule - CFBundleGetInfoString - returns a file as the rtsp response. - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.rawfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRawFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3994400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994500C567B77F000001 = { - fileRef = 68C3954E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3994600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994800C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994800C567B77F000001 = { - fileRef = 68C3954C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3994900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994B00C567B77F000001, - 0138E53700C6A7E27F000001, - 0138E53800C6A7E27F000001, - 0138E53900C6A7E27F000001, - 0138E53A00C6A7E27F000001, - F57EED45027EA3AB01FF7AB9, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994B00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3995000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995200C567B77F000001 = { - buildPhases = ( - 68C3995300C567B77F000001, - 68C3995500C567B77F000001, - 68C3995600C567B77F000001, - 68C3995800C567B77F000001, - 68C3996000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFilePrivsModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386F0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSFilePrivsModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSFilePrivsModule (Bundle)"; - productReference = 68C396A700C567B77F000001; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFilePrivsModule - CFBundleGetInfoString - QTSSFilePrivsModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.fileprivsmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFilePrivsModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3995300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995400C567B77F000001 = { - fileRef = 68C3955900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3995500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995700C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995700C567B77F000001 = { - fileRef = 68C3955700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3995800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995A00C567B77F000001, - F57EED46027EA3AB01FF7AB9, - 0138E53B00C6A8B97F000001, - 0138E53C00C6A8B97F000001, - 0138E53F00C6A9C67F000001, - 0138E53D00C6A8B97F000001, - 0138E53E00C6A8B97F000001, - 70A6496701162F4E02DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995A00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996200C567B77F000001 = { - buildPhases = ( - 68C3996300C567B77F000001, - 68C3996600C567B77F000001, - 68C3996700C567B77F000001, - 68C3996A00C567B77F000001, - 68C3997000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSDemoAuthorizationModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38700279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSDemoAuthorizationModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSDemoAuthorizationModule (Bundle)"; - productReference = 68C396A800C567B77F000001; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSDemoAuthorizationModule - CFBundleGetInfoString - QTSSDemoAuthorizationModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.demoauthorizationmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSDemoAuthorizationModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3996300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996400C567B77F000001, - 68C3996500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996400C567B77F000001 = { - fileRef = 68C3956500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996500C567B77F000001 = { - fileRef = 68C3956600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996800C567B77F000001, - 68C3996900C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996800C567B77F000001 = { - fileRef = 68C3956200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3996900C567B77F000001 = { - fileRef = 68C3956300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3996A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996B00C567B77F000001, - F57EED47027EA3AB01FF7AB9, - 0138E54000C6AACF7F000001, - 0138E54100C6AACF7F000001, - 0138E54200C6AACF7F000001, - 0138E54300C6AACF7F000001, - 70A6496C01162FAC02DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996B00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3997000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997200C567B77F000001 = { - buildPhases = ( - 68C3997300C567B77F000001, - 68C3997500C567B77F000001, - 68C3997700C567B77F000001, - 68C3997900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSPOSIXFileSysModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38840279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSPOSIXFileSysModule (Library)"; - productName = "QTSSPOSIXFileSysModule (Library)"; - productReference = 68C396A900C567B77F000001; - }; - 68C3997300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997400C567B77F000001 = { - fileRef = 68C3957100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3997500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997600C567B77F000001 = { - fileRef = 68C3956F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3997700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997B00C567B77F000001 = { - buildPhases = ( - 68C3997C00C567B77F000001, - 68C3997E00C567B77F000001, - 68C3997F00C567B77F000001, - 68C3998100C567B77F000001, - 68C3998800C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSDemoSMILModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38710279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSDemoSMILModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSDemoSMILModule (Bundle)"; - productReference = 68C396AA00C567B77F000001; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSDemoSMILModule - CFBundleGetInfoString - QTSSDemoSMILModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.demosmilmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSDemoSMILModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3997C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997D00C567B77F000001 = { - fileRef = 68C3957C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3997E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998000C567B77F000001 = { - fileRef = 68C3957A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3998100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998300C567B77F000001, - F57EED48027EA3AB01FF7AB9, - 0138E54400C6AC357F000001, - 0138E54500C6AC357F000001, - 0138E54600C6AC357F000001, - 0138E54700C6AC357F000001, - 70A649750116302502DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998300C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998A00C567B77F000001 = { - buildPhases = ( - 68C3998B00C567B77F000001, - 68C3998F00C567B77F000001, - 68C3999300C567B77F000001, - 68C3999900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAdminModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38850279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAdminModule (Library)"; - productName = "QTSSAdminModule (Library)"; - productReference = 68C396AB00C567B77F000001; - }; - 68C3998B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998C00C567B77F000001, - 68C3998D00C567B77F000001, - 68C3998E00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998C00C567B77F000001 = { - fileRef = 68C3958900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998D00C567B77F000001 = { - fileRef = 68C3958A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998E00C567B77F000001 = { - fileRef = 68C3958B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3998F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3999000C567B77F000001, - 68C3999100C567B77F000001, - 68C3999200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3999000C567B77F000001 = { - fileRef = 68C3958500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3999100C567B77F000001 = { - fileRef = 68C3958600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3999200C567B77F000001 = { - fileRef = 68C3958700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3999300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7700C597627F000001, - 68C39A7800C597627F000001, - 68C39A7900C597627F000001, - 68C39A7A00C597627F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3999900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399AF00C567B77F000001 = { - buildPhases = ( - 68C399B000C567B77F000001, - 68C399B300C567B77F000001, - 68C399B600C567B77F000001, - 68C399B900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAccessModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387E0279D53D01DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAccessModule (Library)"; - productName = "QTSSAccessModule (Library)"; - productReference = 68C396AE00C567B77F000001; - }; - 68C399B000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399B100C567B77F000001, - 68C399B200C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B100C567B77F000001 = { - fileRef = 68C395AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399B200C567B77F000001 = { - fileRef = 68C395B000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399B300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399B400C567B77F000001, - 68C399B500C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B400C567B77F000001 = { - fileRef = 68C395AC00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399B500C567B77F000001 = { - fileRef = 68C395AD00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399B600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7500C597067F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399BA00C567B77F000001 = { - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - 68C399BB00C567B77F000001, - 68C399BC00C567B77F000001, - 68C399BD00C567B77F000001, - 68C399BE00C567B77F000001, - 68C399BF00C567B77F000001, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399BB00C567B77F000001 = { - fileRef = 68C396A500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399BC00C567B77F000001 = { - fileRef = 68C396A600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399BD00C567B77F000001 = { - fileRef = 68C396A700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399BE00C567B77F000001 = { - fileRef = 68C396A800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399BF00C567B77F000001 = { - fileRef = 68C396AA00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399C100C567B77F000001 = { - buildPhases = ( - 68C399C200C567B77F000001, - 68C399C300C567B77F000001, - 68C399C500C567B77F000001, - 68C399C700C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libOSMemoryLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "OSMemoryLib (Library)"; - productName = "OSMemoryLib (Library)"; - productReference = 68C396AF00C567B77F000001; - }; - 68C399C200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399C400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C400C567B77F000001 = { - fileRef = 68C395B900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399C500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C900C567B77F000001 = { - buildPhases = ( - 68C399CA00C567B77F000001, - 68C399CF00C567B77F000001, - 68C399D400C567B77F000001, - 68C399D600C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTCPUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTCPUtilitiesLib (Library)"; - productName = "RTCPUtilitiesLib (Library)"; - productReference = 68C396B000C567B77F000001; - }; - 68C399CA00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399CB00C567B77F000001, - 68C399CC00C567B77F000001, - 68C399CD00C567B77F000001, - 68C399CE00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399CB00C567B77F000001 = { - fileRef = 68C395C700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CC00C567B77F000001 = { - fileRef = 68C395C800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CD00C567B77F000001 = { - fileRef = 68C395C900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CE00C567B77F000001 = { - fileRef = 68C395CA00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399D000C567B77F000001, - 68C399D100C567B77F000001, - 68C399D200C567B77F000001, - 68C399D300C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D000C567B77F000001 = { - fileRef = 68C395C200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D100C567B77F000001 = { - fileRef = 68C395C300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D200C567B77F000001 = { - fileRef = 68C395C400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D300C567B77F000001 = { - fileRef = 68C395C500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D800C567B77F000001 = { - buildPhases = ( - 68C399D900C567B77F000001, - 68C399E000C567B77F000001, - 68C399E600C567B77F000001, - 68C399E800C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libPrefsSourceLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "PrefsSourceLib (Library)"; - productName = "PrefsSourceLib (Library)"; - productReference = 68C396B100C567B77F000001; - }; - 68C399D900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399DA00C567B77F000001, - 68C399DD00C567B77F000001, - 68C399DF00C567B77F000001, - 003D3EDF0132F64100DD292F, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399DA00C567B77F000001 = { - fileRef = 68C395D800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399DD00C567B77F000001 = { - fileRef = 68C395DB00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399DF00C567B77F000001 = { - fileRef = 68C395DD00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399E000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399E100C567B77F000001, - 68C399E400C567B77F000001, - 003D3EE00132F64100DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399E100C567B77F000001 = { - fileRef = 68C395D300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399E400C567B77F000001 = { - fileRef = 68C395D600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399E800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399EA00C567B77F000001 = { - buildPhases = ( - 68C399EB00C567B77F000001, - 68C399EF00C567B77F000001, - 68C399F100C567B77F000001, - 68C399F300C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAPIStubLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "APIStubLib (Library)"; - productName = "APIStubLib (Library)"; - productReference = 68C396B200C567B77F000001; - }; - 68C399EB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399EC00C567B77F000001, - 68C399ED00C567B77F000001, - 68C399EE00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399EC00C567B77F000001 = { - fileRef = 68C395EA00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399ED00C567B77F000001 = { - fileRef = 68C395EB00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399EE00C567B77F000001 = { - fileRef = 68C395EC00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399EF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399F000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F000C567B77F000001 = { - fileRef = 68C395E800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399F100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F500C567B77F000001 = { - buildPhases = ( - 68C399F600C567B77F000001, - 68C399F900C567B77F000001, - 68C399FC00C567B77F000001, - 68C399FE00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libHTTPUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "HTTPUtilitiesLib (Library)"; - productName = "HTTPUtilitiesLib (Library)"; - productReference = 68C396B300C567B77F000001; - }; - 68C399F600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399F700C567B77F000001, - 68C399F800C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F700C567B77F000001 = { - fileRef = 68C395F800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399F800C567B77F000001 = { - fileRef = 68C395F900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399F900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399FA00C567B77F000001, - 68C399FB00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399FA00C567B77F000001 = { - fileRef = 68C395F500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399FB00C567B77F000001 = { - fileRef = 68C395F600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399FC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399FE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0000C567B77F000001 = { - buildPhases = ( - 68C39A0100C567B77F000001, - 68C39A0300C567B77F000001, - 68C39A0500C567B77F000001, - 68C39A0700C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTPMetaInfoLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTPMetaInfoLib (Library)"; - productName = "RTPMetaInfoLib (Library)"; - productReference = 68C396B400C567B77F000001; - }; - 68C39A0100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0200C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0200C567B77F000001 = { - fileRef = 68C3960400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0400C567B77F000001 = { - fileRef = 68C3960200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A0500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0900C567B77F000001 = { - buildPhases = ( - 68C39A0A00C567B77F000001, - 68C39A1E00C567B77F000001, - 68C39A3200C567B77F000001, - 68C39A3400C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -DDSS_USE_API_CALLBACKS -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTFileLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTFileLib (Library)"; - productName = "QTFileLib (Library)"; - productReference = 68C396B500C567B77F000001; - }; - 68C39A0A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0B00C567B77F000001, - 68C39A0C00C567B77F000001, - 68C39A0D00C567B77F000001, - 68C39A0E00C567B77F000001, - 68C39A0F00C567B77F000001, - 68C39A1000C567B77F000001, - 68C39A1100C567B77F000001, - 68C39A1200C567B77F000001, - 68C39A1300C567B77F000001, - 68C39A1400C567B77F000001, - 68C39A1500C567B77F000001, - 68C39A1600C567B77F000001, - 68C39A1700C567B77F000001, - 68C39A1800C567B77F000001, - 68C39A1900C567B77F000001, - 68C39A1A00C567B77F000001, - 68C39A1B00C567B77F000001, - 68C39A1C00C567B77F000001, - 68C39A1D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0B00C567B77F000001 = { - fileRef = 68C3962100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0C00C567B77F000001 = { - fileRef = 68C3962200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0D00C567B77F000001 = { - fileRef = 68C3962300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0E00C567B77F000001 = { - fileRef = 68C3962400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0F00C567B77F000001 = { - fileRef = 68C3962500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1000C567B77F000001 = { - fileRef = 68C3962600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1100C567B77F000001 = { - fileRef = 68C3962700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1200C567B77F000001 = { - fileRef = 68C3962800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1300C567B77F000001 = { - fileRef = 68C3962900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1400C567B77F000001 = { - fileRef = 68C3962A00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1500C567B77F000001 = { - fileRef = 68C3962B00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1600C567B77F000001 = { - fileRef = 68C3962C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1700C567B77F000001 = { - fileRef = 68C3962D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1800C567B77F000001 = { - fileRef = 68C3962E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1900C567B77F000001 = { - fileRef = 68C3962F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1A00C567B77F000001 = { - fileRef = 68C3963000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1B00C567B77F000001 = { - fileRef = 68C3963100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1C00C567B77F000001 = { - fileRef = 68C3963200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1D00C567B77F000001 = { - fileRef = 68C3963300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A1F00C567B77F000001, - 68C39A2000C567B77F000001, - 68C39A2100C567B77F000001, - 68C39A2200C567B77F000001, - 68C39A2300C567B77F000001, - 68C39A2400C567B77F000001, - 68C39A2500C567B77F000001, - 68C39A2600C567B77F000001, - 68C39A2700C567B77F000001, - 68C39A2800C567B77F000001, - 68C39A2900C567B77F000001, - 68C39A2A00C567B77F000001, - 68C39A2B00C567B77F000001, - 68C39A2C00C567B77F000001, - 68C39A2D00C567B77F000001, - 68C39A2E00C567B77F000001, - 68C39A2F00C567B77F000001, - 68C39A3000C567B77F000001, - 68C39A3100C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A1F00C567B77F000001 = { - fileRef = 68C3960D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2000C567B77F000001 = { - fileRef = 68C3960E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2100C567B77F000001 = { - fileRef = 68C3960F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2200C567B77F000001 = { - fileRef = 68C3961000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2300C567B77F000001 = { - fileRef = 68C3961100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2400C567B77F000001 = { - fileRef = 68C3961200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2500C567B77F000001 = { - fileRef = 68C3961300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2600C567B77F000001 = { - fileRef = 68C3961400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2700C567B77F000001 = { - fileRef = 68C3961500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2800C567B77F000001 = { - fileRef = 68C3961600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2900C567B77F000001 = { - fileRef = 68C3961700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2A00C567B77F000001 = { - fileRef = 68C3961800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2B00C567B77F000001 = { - fileRef = 68C3961900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2C00C567B77F000001 = { - fileRef = 68C3961A00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2D00C567B77F000001 = { - fileRef = 68C3961B00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2E00C567B77F000001 = { - fileRef = 68C3961C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2F00C567B77F000001 = { - fileRef = 68C3961D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3000C567B77F000001 = { - fileRef = 68C3961E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3100C567B77F000001 = { - fileRef = 68C3961F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3600C567B77F000001 = { - buildPhases = ( - 68C39A3700C567B77F000001, - 68C39A3D00C567B77F000001, - 68C39A4300C567B77F000001, - 68C39A4500C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAPICommonCode.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "APICommonCode (Library)"; - productName = "APICommonCode (Library)"; - productReference = 68C396B600C567B77F000001; - }; - 68C39A3700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A3800C567B77F000001, - 68C39A3900C567B77F000001, - 68C39A3A00C567B77F000001, - 68C39A3B00C567B77F000001, - 68C39A3C00C567B77F000001, - F532558C0288434401DD2B50, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3800C567B77F000001 = { - fileRef = 68C3964200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3900C567B77F000001 = { - fileRef = 68C3964300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3A00C567B77F000001 = { - fileRef = 68C3964400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3B00C567B77F000001 = { - fileRef = 68C3964500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3C00C567B77F000001 = { - fileRef = 68C3964600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A3E00C567B77F000001, - 68C39A3F00C567B77F000001, - 68C39A4000C567B77F000001, - 68C39A4100C567B77F000001, - 68C39A4200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3E00C567B77F000001 = { - fileRef = 68C3963C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3F00C567B77F000001 = { - fileRef = 68C3963D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4000C567B77F000001 = { - fileRef = 68C3963E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4100C567B77F000001 = { - fileRef = 68C3963F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4200C567B77F000001 = { - fileRef = 68C3964000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4700C567B77F000001 = { - buildPhases = ( - 68C39A4800C567B77F000001, - 68C39A4C00C567B77F000001, - 68C39A5000C567B77F000001, - 68C39A5200C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTSPClientLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTSPClientLib (Library)"; - productName = "RTSPClientLib (Library)"; - productReference = 68C396B700C567B77F000001; - }; - 68C39A4800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A4900C567B77F000001, - 68C39A4A00C567B77F000001, - 68C39A4B00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4900C567B77F000001 = { - fileRef = 68C3965300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A4A00C567B77F000001 = { - fileRef = 68C3965400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A4B00C567B77F000001 = { - fileRef = 68C3965500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A4C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A4D00C567B77F000001, - 68C39A4E00C567B77F000001, - 68C39A4F00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4D00C567B77F000001 = { - fileRef = 68C3964F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4E00C567B77F000001 = { - fileRef = 68C3965000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4F00C567B77F000001 = { - fileRef = 68C3965100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A5000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A5200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A5300C567B77F000001 = { - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - 68C39A5400C567B77F000001, - 68C39A5500C567B77F000001, - 68C39A5600C567B77F000001, - 6113F75E019B10860EDD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A5400C567B77F000001 = { - fileRef = 68C3968300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A5500C567B77F000001 = { - fileRef = 68C3968400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A5600C567B77F000001 = { - fileRef = 68C3968500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7500C597067F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7600C597627F000001 = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7700C597627F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7800C597627F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7900C597627F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7A00C597627F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7B00C597AB7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7C00C597AB7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7D00C597AB7F000001 = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7E00C597AB7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8000C598377F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39A8100C598B27F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39A8300C598B27F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39A8600C59A9E7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8700C59A9E7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8800C59A9E7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8A00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39A8C00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39A8D00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39A8E00C59BD47F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9000C59BD47F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9100C59BD47F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9200C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39A9300C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39A9400C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - }; - 68C39A9500C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39A9600C59CF27F000001 = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - }; - 68C39A9700C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39A9800C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39A9A00C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39A9B00C59D627F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9C00C59D627F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9E00C59D627F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9F00C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39AA000C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39AA200C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39AA300C59DC47F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA400C59DC47F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA600C59DC47F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA700C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA800C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAA00C59E2F7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAB00C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAC00C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAE00C59E2F7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAF00C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB000C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB100C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39AB200C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39AB400C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39AB600C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB700C59ED87F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB800C59ED87F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABA00C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABB00C59ED87F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABC00C59ED87F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABE00C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABF00C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39AC000C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39AC200C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39AC300C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39AC500C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39AC600C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39AC700C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39AC800C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39ACA00C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39ACB00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - 68C39ACC00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - 68C39ACE00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - 68C39AD500C5A04A7F000001 = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD600C5A04A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD700C5A04A7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD900C5A04A7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADA00C5A04A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADC00C5A1257F000001 = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADF00C5A41F7F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = get_opt.h; - refType = 4; - }; - 68C39AE000C5A41F7F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - path = get_opt.c; - refType = 4; - }; - 68C39AE300C5A5217F000001 = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AE400C5A5217F000001 = { - fileRef = 68C396A300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//680 -//681 -//682 -//683 -//684 -//700 -//701 -//702 -//703 -//704 - 70A648BC01162DA102DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 70A6496701162F4E02DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 70A6496C01162FAC02DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 70A649750116302502DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//700 -//701 -//702 -//703 -//704 -//840 -//841 -//842 -//843 -//844 - 84138032054DA0180061109F = { - isa = PBXTargetDependency; - target = 52E30B0F041DD13500FFB433; - }; - 84138034054DA0BF0061109F = { - fileRef = 00A7A0CC0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; -//840 -//841 -//842 -//843 -//844 -//B60 -//B61 -//B62 -//B63 -//B64 - B62C45C5012B21870BDD2A6C = { - isa = PBXLibraryReference; - path = libQTSSMP3StreamingModule.a; - refType = 3; - }; - B62C45C6012B21880BDD2A6C = { - buildPhases = ( - B62C45C7012B21880BDD2A6C, - B62C45C8012B21880BDD2A6C, - B62C45C9012B21880BDD2A6C, - B62C45CA012B21880BDD2A6C, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSMP3StreamingModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38880279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSMP3StreamingModule (Library)"; - productName = QTSSMP3StreamingModule; - productReference = B62C45C5012B21870BDD2A6C; - }; - B62C45C7012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B62C45CF012B253C0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45C8012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B62C45CC012B24BF0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45C9012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45CA012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45CB012B24BD0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - name = QTSSMP3StreamingModule.cpp; - path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp; - refType = 4; - }; - B62C45CC012B24BF0BDD2A6C = { - fileRef = B62C45CB012B24BD0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B62C45CD012B253B0BDD2A6C = { - children = ( - B62C45CB012B24BD0BDD2A6C, - B62C45CE012B253B0BDD2A6C, - ); - isa = PBXGroup; - name = QTSSMP3StreamingModule; - path = ""; - refType = 4; - }; - B62C45CE012B253B0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - name = QTSSMP3StreamingModule.h; - path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.h; - refType = 4; - }; - B62C45CF012B253C0BDD2A6C = { - fileRef = B62C45CE012B253B0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B62F395E012B34C40BDD2A6C = { - fileRef = B62C45C5012B21870BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494F950279F74E0BDD2A6C = { - isa = PBXBundleReference; - path = QTSSRefMovieModule.bundle; - refType = 3; - }; - B6494F960279F7500BDD2A6C = { - buildPhases = ( - B6494F970279F7500BDD2A6C, - B6494F980279F7500BDD2A6C, - B6494F990279F7500BDD2A6C, - B6494F9A0279F7500BDD2A6C, - B6494F9B0279F7500BDD2A6C, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRefMovieModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - ); - isa = PBXBundleTarget; - name = QTSSRefMovieModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSRefMovieModule; - productReference = B6494F950279F74E0BDD2A6C; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRefMovieModule - CFBundleGetInfoString - Generate RTSP ref movies - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.refmoviemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRefMovieModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - B6494F970279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA10279F88F0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F980279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F990279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA20279F88F0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9A0279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA40279F98A0BDD2A6C, - F57EED44027EA28201FF7AB9, - B6494FA50279F9B10BDD2A6C, - B6494FA60279FA6F0BDD2A6C, - B6494FA70279FAB80BDD2A6C, - B6494FA80279FB8D0BDD2A6C, - B69647D8027A41EC0BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9B0279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9C0279F7A90BDD2A6C = { - isa = PBXTargetDependency; - target = B6494F960279F7500BDD2A6C; - }; - B6494F9D0279F88D0BDD2A6C = { - children = ( - B6494F9E0279F88D0BDD2A6C, - B6494F9F0279F88D0BDD2A6C, - ); - isa = PBXGroup; - name = QTSSRefMovieModule; - refType = 4; - }; - B6494F9E0279F88D0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - name = QTSSRefMovieModule.cpp; - path = QTSSRefMovieModule/QTSSRefMovieModule.cpp; - refType = 4; - }; - B6494F9F0279F88D0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - name = QTSSRefMovieModule.h; - path = QTSSRefMovieModule/QTSSRefMovieModule.h; - refType = 4; - }; - B6494FA10279F88F0BDD2A6C = { - fileRef = B6494F9F0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - B6494FA20279F88F0BDD2A6C = { - fileRef = B6494F9E0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA40279F98A0BDD2A6C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA50279F9B10BDD2A6C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA60279FA6F0BDD2A6C = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA70279FAB80BDD2A6C = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA80279FB8D0BDD2A6C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5CA02B97F160BDD2A6C = { - isa = PBXExecutableFileReference; - path = StreamingProxyServer; - refType = 3; - }; - B649D5CB02B97F170BDD2A6C = { - buildPhases = ( - B649D5CC02B97F170BDD2A6C, - B649D5CD02B97F170BDD2A6C, - B649D5CE02B97F170BDD2A6C, - B649D5CF02B97F170BDD2A6C, - ); - buildSettings = { - INSTALL_PATH = /usr/sbin; - OTHER_CFLAGS = "-DDSS_DYNAMIC_MODULES_ONLY -DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = StreamingProxyServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - B649D5D002B9813B0BDD2A6C, - ); - isa = PBXToolTarget; - name = StreamingProxyServer; - productInstallPath = /usr/sbin; - productName = StreamingProxyServer; - productReference = B649D5CA02B97F160BDD2A6C; - }; - B649D5CC02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D5D302B9813B0BDD2A6C, - B649D5D402B9813B0BDD2A6C, - B649D5D502B9813B0BDD2A6C, - B649D5D602B9813B0BDD2A6C, - B649D5D702B9813C0BDD2A6C, - B649D5D802B9813C0BDD2A6C, - B649D5D902B9813C0BDD2A6C, - B649D5DA02B9813C0BDD2A6C, - B649D5DB02B9813C0BDD2A6C, - B649D5DC02B9813C0BDD2A6C, - B649D5DD02B9813C0BDD2A6C, - B649D5DE02B9813C0BDD2A6C, - B649D5DF02B9813C0BDD2A6C, - B649D5E002B9813C0BDD2A6C, - B649D5E102B9813C0BDD2A6C, - B649D5E202B9813C0BDD2A6C, - B649D5E302B9813C0BDD2A6C, - B649D5E402B9813C0BDD2A6C, - B649D5E502B9813C0BDD2A6C, - B649D5E602B9813C0BDD2A6C, - B649D5E702B9813C0BDD2A6C, - B649D5E802B9813C0BDD2A6C, - B649D5E902B9813C0BDD2A6C, - B649D5EA02B9813C0BDD2A6C, - B649D5EB02B9813C0BDD2A6C, - B649D5EC02B9813C0BDD2A6C, - B649D5ED02B9813C0BDD2A6C, - B649D5EE02B9813C0BDD2A6C, - B649D5EF02B9813C0BDD2A6C, - B649D5F002B9813C0BDD2A6C, - B649D5F102B9813C0BDD2A6C, - B649D5F902B9813C0BDD2A6C, - B649D5FA02B9813C0BDD2A6C, - B649D5FB02B9813C0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CD02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D63802B9813C0BDD2A6C, - B649D63902B9813C0BDD2A6C, - B649D63A02B9813C0BDD2A6C, - B649D63B02B9813C0BDD2A6C, - B649D63C02B9813C0BDD2A6C, - B649D63D02B9813C0BDD2A6C, - B649D63E02B9813C0BDD2A6C, - B649D63F02B9813C0BDD2A6C, - B649D64002B9813C0BDD2A6C, - B649D64102B9813C0BDD2A6C, - B649D64202B9813C0BDD2A6C, - B649D64302B9813C0BDD2A6C, - B649D64402B9813C0BDD2A6C, - B649D64502B9813C0BDD2A6C, - B649D64602B9813C0BDD2A6C, - B649D64702B9813C0BDD2A6C, - B649D64802B9813C0BDD2A6C, - B649D64902B9813C0BDD2A6C, - B649D64A02B9813C0BDD2A6C, - B649D64B02B9813C0BDD2A6C, - B649D64C02B9813C0BDD2A6C, - B649D64D02B9813C0BDD2A6C, - B649D64E02B9813C0BDD2A6C, - B649D64F02B9813C0BDD2A6C, - B649D65002B9813C0BDD2A6C, - B649D65102B9813C0BDD2A6C, - B649D65202B9813C0BDD2A6C, - B649D65302B9813C0BDD2A6C, - B649D65402B9813C0BDD2A6C, - B649D65502B9813C0BDD2A6C, - B649D65602B9813C0BDD2A6C, - B649D65D02B9813C0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CE02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D69302B983380BDD2A6C, - B649D69402B983380BDD2A6C, - B649D69502B983380BDD2A6C, - B649D69602B983380BDD2A6C, - B649D69702B983380BDD2A6C, - B649D69802B983380BDD2A6C, - B649D69902B983380BDD2A6C, - B649D69A02B983380BDD2A6C, - B649D69B02B983380BDD2A6C, - B649D69C02B983380BDD2A6C, - B649D69D02B983380BDD2A6C, - B649D69E02B983380BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CF02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5D002B9813B0BDD2A6C = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - B649D5D302B9813B0BDD2A6C = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D402B9813B0BDD2A6C = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D502B9813B0BDD2A6C = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D602B9813B0BDD2A6C = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D702B9813C0BDD2A6C = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D802B9813C0BDD2A6C = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D902B9813C0BDD2A6C = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DA02B9813C0BDD2A6C = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DB02B9813C0BDD2A6C = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DC02B9813C0BDD2A6C = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DD02B9813C0BDD2A6C = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DE02B9813C0BDD2A6C = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DF02B9813C0BDD2A6C = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E002B9813C0BDD2A6C = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E102B9813C0BDD2A6C = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E202B9813C0BDD2A6C = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E302B9813C0BDD2A6C = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E402B9813C0BDD2A6C = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E502B9813C0BDD2A6C = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E602B9813C0BDD2A6C = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E702B9813C0BDD2A6C = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E802B9813C0BDD2A6C = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E902B9813C0BDD2A6C = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EA02B9813C0BDD2A6C = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EB02B9813C0BDD2A6C = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EC02B9813C0BDD2A6C = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5ED02B9813C0BDD2A6C = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EE02B9813C0BDD2A6C = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EF02B9813C0BDD2A6C = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5F002B9813C0BDD2A6C = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5F102B9813C0BDD2A6C = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5F902B9813C0BDD2A6C = { - fileRef = 68C395EA00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5FA02B9813C0BDD2A6C = { - fileRef = 68C395EC00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5FB02B9813C0BDD2A6C = { - fileRef = 68C395EB00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63802B9813C0BDD2A6C = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63902B9813C0BDD2A6C = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63A02B9813C0BDD2A6C = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63B02B9813C0BDD2A6C = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63C02B9813C0BDD2A6C = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63D02B9813C0BDD2A6C = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63E02B9813C0BDD2A6C = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63F02B9813C0BDD2A6C = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64002B9813C0BDD2A6C = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64102B9813C0BDD2A6C = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64202B9813C0BDD2A6C = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64302B9813C0BDD2A6C = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64402B9813C0BDD2A6C = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64502B9813C0BDD2A6C = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64602B9813C0BDD2A6C = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64702B9813C0BDD2A6C = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64802B9813C0BDD2A6C = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64902B9813C0BDD2A6C = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64A02B9813C0BDD2A6C = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64B02B9813C0BDD2A6C = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64C02B9813C0BDD2A6C = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64D02B9813C0BDD2A6C = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64E02B9813C0BDD2A6C = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64F02B9813C0BDD2A6C = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65002B9813C0BDD2A6C = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65102B9813C0BDD2A6C = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65202B9813C0BDD2A6C = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65302B9813C0BDD2A6C = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65402B9813C0BDD2A6C = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65502B9813C0BDD2A6C = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65602B9813C0BDD2A6C = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65D02B9813C0BDD2A6C = { - fileRef = 68C395E800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69302B983380BDD2A6C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69402B983380BDD2A6C = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69502B983380BDD2A6C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69602B983380BDD2A6C = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69702B983380BDD2A6C = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69802B983380BDD2A6C = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69902B983380BDD2A6C = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69A02B983380BDD2A6C = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69B02B983380BDD2A6C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69C02B983380BDD2A6C = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69D02B983380BDD2A6C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69E02B983380BDD2A6C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B66082C20337F1DF0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - path = defaultPaths.h; - refType = 4; - }; - B69647D8027A41EC0BDD2A6C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6DC97F702FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6DC980102FB30350BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97F802FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6DC980002FB30350BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97F902FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97FA02FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97FB02FB2EAB0BDD2A6C = { - buildPhases = ( - B6DC97F702FB2EAB0BDD2A6C, - B6DC97F802FB2EAB0BDD2A6C, - B6DC97F902FB2EAB0BDD2A6C, - B6DC97FA02FB2EAB0BDD2A6C, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSProxyModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTSSProxyModule (Library)"; - productInstallPath = /usr/local/lib; - productName = QTSSProxyModule; - productReference = B6DC97FC02FB2EAB0BDD2A6C; - }; - B6DC97FC02FB2EAB0BDD2A6C = { - isa = PBXLibraryReference; - path = libQTSSProxyModule.a; - refType = 3; - }; - B6DC97FD02FB30350BDD2A6C = { - children = ( - B6DC97FE02FB30350BDD2A6C, - B6DC97FF02FB30350BDD2A6C, - ); - isa = PBXGroup; - path = QTSSProxyModule; - refType = 4; - }; - B6DC97FE02FB30350BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSProxyModule.cpp; - refType = 4; - }; - B6DC97FF02FB30350BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSProxyModule.h; - refType = 4; - }; - B6DC980002FB30350BDD2A6C = { - fileRef = B6DC97FE02FB30350BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6DC980102FB30350BDD2A6C = { - fileRef = B6DC97FF02FB30350BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6DC980302FB313E0BDD2A6C = { - isa = PBXTargetDependency; - target = B6DC97FB02FB2EAB0BDD2A6C; - }; -//B60 -//B61 -//B62 -//B63 -//B64 -//E90 -//E91 -//E92 -//E93 -//E94 - E9013524018645DE09DD2838 = { - isa = PBXFileReference; - name = scroll_arrow_down.gif; - path = WebAdmin/WebAdminHtml/images/scroll_arrow_down.gif; - refType = 2; - }; - E9013525018645DE09DD2838 = { - isa = PBXFileReference; - name = scroll_arrow_up.gif; - path = WebAdmin/WebAdminHtml/images/scroll_arrow_up.gif; - refType = 2; - }; - E9013526018645DE09DD2838 = { - isa = PBXFileReference; - name = scroll_bg.gif; - path = WebAdmin/WebAdminHtml/images/scroll_bg.gif; - refType = 2; - }; - E9013527018645DE09DD2838 = { - isa = PBXFileReference; - name = scroll_bg_inactive.gif; - path = WebAdmin/WebAdminHtml/images/scroll_bg_inactive.gif; - refType = 2; - }; - E9013528018645DE09DD2838 = { - isa = PBXFileReference; - name = scroll_thumb.gif; - path = WebAdmin/WebAdminHtml/images/scroll_thumb.gif; - refType = 2; - }; - E9013529018645DF09DD2838 = { - fileRef = E9013524018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352A018645DF09DD2838 = { - fileRef = E9013525018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352B018645DF09DD2838 = { - fileRef = E9013526018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352C018645DF09DD2838 = { - fileRef = E9013527018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352D018645DF09DD2838 = { - fileRef = E9013528018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9029E240188C0DA09DD2838 = { - isa = PBXFileReference; - name = icon_start_playlist.gif; - path = WebAdmin/WebAdminHtml/images/icon_start_playlist.gif; - refType = 2; - }; - E9029E250188C0DB09DD2838 = { - fileRef = E9029E240188C0DA09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9029E260188C10709DD2838 = { - isa = PBXFileReference; - name = icon_stop_playlist.gif; - path = WebAdmin/WebAdminHtml/images/icon_stop_playlist.gif; - refType = 2; - }; - E9029E270188C10809DD2838 = { - fileRef = E9029E260188C10709DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E90CD037016133D009DD2838 = { - isa = PBXFileReference; - name = sort_arrow_desc.gif; - path = WebAdmin/WebAdminHtml/images/sort_arrow_desc.gif; - refType = 2; - }; - E90CD038016133D109DD2838 = { - fileRef = E90CD037016133D009DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E90CD039016133F209DD2838 = { - isa = PBXFileReference; - name = icon_error.gif; - path = WebAdmin/WebAdminHtml/images/icon_error.gif; - refType = 2; - }; - E90CD03A016133F309DD2838 = { - fileRef = E90CD039016133F209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E90CF1AB014FDE2709DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = change_mp3_password.html; - path = WebAdmin/WebAdminHtml/change_mp3_password.html; - refType = 2; - }; - E90CF1AC014FDE2809DD2838 = { - fileRef = E90CF1AB014FDE2709DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E924776E01C6CFD209DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = MapUTF.pl; - path = WebAdmin/WebAdminHtml/MapUTF.pl; - refType = 2; - }; - E924776F01C6CFD309DD2838 = { - fileRef = E924776E01C6CFD209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E926569B0430ED4409DD2838 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; - }; - E93941050291C82409DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = "password-utils.pl"; - path = "WebAdmin/WebAdminHtml/password-utils.pl"; - refType = 2; - }; - E93941060291C82509DD2838 = { - fileRef = E93941050291C82409DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E93DD2F0027876B609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = users.html; - path = WebAdmin/WebAdminHtml/users.html; - refType = 2; - }; - E93DD2F1027876B709DD2838 = { - fileRef = E93DD2F0027876B609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9423B930146CCCF09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = relayxmlparser.pl; - path = WebAdmin/WebAdminHtml/relayxmlparser.pl; - refType = 2; - }; - E9423B940146CCD009DD2838 = { - fileRef = E9423B930146CCCF09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E957C41901454E2009DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = index.html; - path = WebAdmin/WebAdminHtml/index.html; - refType = 2; - }; - E957C41A01454E2109DD2838 = { - fileRef = E957C41901454E2009DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E95AB76D013AC8BF09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = change_password.html; - path = WebAdmin/WebAdminHtml/change_password.html; - refType = 2; - }; - E95AB76F013AC8C009DD2838 = { - fileRef = E95AB76D013AC8BF09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E961241C0432443309DD2838 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R g+w ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; - }; - E96314AC013B155309DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = log_settings.html; - path = WebAdmin/WebAdminHtml/log_settings.html; - refType = 2; - }; - E96314AD013B155309DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = ports.html; - path = WebAdmin/WebAdminHtml/ports.html; - refType = 2; - }; - E96314B0013B155409DD2838 = { - fileRef = E96314AC013B155309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E96314B1013B155409DD2838 = { - fileRef = E96314AD013B155309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9686BA401B2D0D209DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = setup_assistant5.html; - path = WebAdmin/WebAdminHtml/setup_assistant5.html; - refType = 2; - }; - E9686BA501B2D0D309DD2838 = { - fileRef = E9686BA401B2D0D209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E978DC40017F827C09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = change_password_redirect.html; - path = WebAdmin/WebAdminHtml/change_password_redirect.html; - refType = 2; - }; - E978DC41017F827D09DD2838 = { - fileRef = E978DC40017F827C09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E97D18EC0150316E09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = genres; - path = WebAdmin/WebAdminHtml/html_en/genres; - refType = 2; - }; - E97D18ED0150316E09DD2838 = { - fileRef = E97D18EC0150316E09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E97F11EE04313E7C09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = start_broadcaster.html; - refType = 4; - }; - E97F11EF04313E7C09DD2838 = { - fileRef = E97F11EE04313E7C09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E97F11F004313E8A09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - path = restart_broadcaster.html; - refType = 4; - }; - E97F11F104313E8A09DD2838 = { - fileRef = E97F11F004313E8A09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98933B602F6140609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = broadcaster_lib.pl; - path = WebAdmin/WebAdminHtml/broadcaster_lib.pl; - refType = 2; - }; - E98933B702F6140609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = broadcaster_settings.html; - path = WebAdmin/WebAdminHtml/broadcaster_settings.html; - refType = 2; - }; - E98933B802F6140609DD2838 = { - fileRef = E98933B602F6140609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98933B902F6140609DD2838 = { - fileRef = E98933B702F6140609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD95602F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95702F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD96102F5BCF209DD2838, - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95802F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD97202F5BD9609DD2838, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95902F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD97002F5BD6309DD2838, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95A02F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95B02F5BC3309DD2838 = { - buildPhases = ( - E98FD95602F5BC3309DD2838, - E98FD95702F5BC3309DD2838, - E98FD95802F5BC3309DD2838, - E98FD95902F5BC3309DD2838, - E98FD95A02F5BC3309DD2838, - ); - buildSettings = { - INSTALL_PATH = /Applications/Server/; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "QTSS Web Admin"; - SECTORDER_FLAGS = ""; - USE_GCC3_PFE_SUPPORT = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = app; - }; - dependencies = ( - ); - isa = PBXApplicationTarget; - name = QTSSLinkApp; - productInstallPath = /Applications/Server/; - productName = QTSSLink; - productReference = E98FD95C02F5BC3309DD2838; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSS Web Admin - CFBundleGetInfoString - Executes the web admin on port 1220 - CFBundleIconFile - QTSS Admin app - CFBundleIdentifier - com.apple.qtss.linkapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QuickTime Streaming Server - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - E98FD95C02F5BC3309DD2838 = { - isa = PBXApplicationReference; - path = "QTSS Web Admin.app"; - refType = 3; - }; - E98FD95E02F5BCA109DD2838 = { - children = ( - E98FD96002F5BCF209DD2838, - E98FD97102F5BD9609DD2838, - ); - isa = PBXGroup; - name = QTSSLinkApp; - refType = 4; - }; - E98FD96002F5BCF209DD2838 = { - isa = PBXFileReference; - name = "QTSS Admin app.icns"; - path = "WebAdmin/QTSSLinkApp/QTSS Admin app.icns"; - refType = 2; - }; - E98FD96102F5BCF209DD2838 = { - fileRef = E98FD96002F5BCF209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD96A02F5BD6309DD2838 = { - isa = PBXFrameworkReference; - name = Cocoa.framework; - path = /System/Library/Frameworks/Cocoa.framework; - refType = 0; - }; - E98FD97002F5BD6309DD2838 = { - fileRef = E98FD96A02F5BD6309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD97102F5BD9609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = qtsslinkapp_main.m; - path = WebAdmin/QTSSLinkApp/qtsslinkapp_main.m; - refType = 2; - }; - E98FD97202F5BD9609DD2838 = { - fileRef = E98FD97102F5BD9609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FF20A01860AAB09DD2838 = { - isa = PBXFileReference; - name = icon_generic.gif; - path = WebAdmin/WebAdminHtml/images/icon_generic.gif; - refType = 2; - }; - E98FF20B01860AAC09DD2838 = { - fileRef = E98FF20A01860AAB09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9A7DCF2015180FB09FF1BBE = { - isa = PBXFileReference; - name = link.gif; - path = WebAdmin/WebAdminHtml/images/link.gif; - refType = 2; - }; - E9A7DCF3015180FB09FF1BBE = { - isa = PBXFileReference; - name = link_disabled.gif; - path = WebAdmin/WebAdminHtml/images/link_disabled.gif; - refType = 2; - }; - E9A7DCF4015180FC09FF1BBE = { - fileRef = E9A7DCF2015180FB09FF1BBE; - isa = PBXBuildFile; - settings = { - }; - }; - E9A7DCF5015180FC09FF1BBE = { - fileRef = E9A7DCF3015180FB09FF1BBE; - isa = PBXBuildFile; - settings = { - }; - }; - E9ACCA5C013C317B09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = error_log.html; - path = WebAdmin/WebAdminHtml/error_log.html; - refType = 2; - }; - E9ACCA5D013C317C09DD2838 = { - fileRef = E9ACCA5C013C317B09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9ACCA5E013C52EB09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = access_log.html; - path = WebAdmin/WebAdminHtml/access_log.html; - refType = 2; - }; - E9ACCA5F013C52EC09DD2838 = { - fileRef = E9ACCA5E013C52EB09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9BA8EEF027A14D009DD2838 = { - isa = PBXFileReference; - name = icon_user.gif; - path = WebAdmin/WebAdminHtml/images/icon_user.gif; - refType = 2; - }; - E9BA8EF0027A14D109DD2838 = { - fileRef = E9BA8EEF027A14D009DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9BA8EF1027A14D909DD2838 = { - isa = PBXFileReference; - name = icon_group.gif; - path = WebAdmin/WebAdminHtml/images/icon_group.gif; - refType = 2; - }; - E9BA8EF2027A14DA09DD2838 = { - fileRef = E9BA8EF1027A14D909DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9E2F95501C9716509DD2838 = { - isa = PBXFileReference; - name = encode_unicode.js; - path = WebAdmin/WebAdminHtml/includes/encode_unicode.js; - refType = 2; - }; - E9E2F95601C9716609DD2838 = { - fileRef = E9E2F95501C9716509DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9E7E9C4016BDDD509DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = start_server.html; - path = WebAdmin/WebAdminHtml/start_server.html; - refType = 2; - }; - E9E7E9C5016BDDD609DD2838 = { - fileRef = E9E7E9C4016BDDD509DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9EC923C0137107609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - name = general_settings.html; - path = WebAdmin/WebAdminHtml/general_settings.html; - refType = 2; - }; - E9EC923E0137107709DD2838 = { - fileRef = E9EC923C0137107609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; -//E90 -//E91 -//E92 -//E93 -//E94 -//F50 -//F51 -//F52 -//F53 -//F54 - F50ACCCF037E597A017C358E = { - isa = PBXTargetDependency; - target = 008788DE026B412B00DD2B4C; - }; - F50DFC10025357EB01F41924 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SDPUtils.cpp; - refType = 4; - }; - F50DFC11025357EB01F41924 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SDPUtils.h; - refType = 4; - }; - F50DFC12025357EB01F41924 = { - fileRef = F50DFC11025357EB01F41924; - isa = PBXBuildFile; - settings = { - }; - }; - F50DFC13025357EB01F41924 = { - fileRef = F50DFC10025357EB01F41924; - isa = PBXBuildFile; - settings = { - }; - }; - F51C62E30279D3BC01DD2AFC = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = Libraries; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F51C62E40279D3BC01DD2AFC, - F51C62E50279D3BC01DD2AFC, - F51C62E60279D3BC01DD2AFC, - F51C62E70279D3BC01DD2AFC, - F51C62E80279D3BC01DD2AFC, - F51C62E90279D3BC01DD2AFC, - F51C62EA0279D3BC01DD2AFC, - F51C62EB0279D3BC01DD2AFC, - 00A90E34029ECF7E00DD2B4C, - F51C62EC0279D3BC01DD2AFC, - F51C62ED0279D3BC01DD2AFC, - F51C62EE0279D3BC01DD2AFC, - F51C62EF0279D3BC01DD2AFC, - F57EED51027EA7E001FF7AB9, - F57EED52027EA7E001FF7AB9, - ); - isa = PBXAggregateTarget; - name = Libraries; - productName = Libraries; - }; - F51C62E40279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - }; - F51C62E50279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - }; - F51C62E60279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - }; - F51C62E70279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - F51C62E80279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399F500C567B77F000001; - }; - F51C62E90279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - F51C62EA0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C398E000C567B77F000001; - }; - F51C62EB0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - }; - F51C62EC0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - }; - F51C62ED0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399C900C567B77F000001; - }; - F51C62EE0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - }; - F51C62EF0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - }; - F52E386C0279D4DA01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E386D0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E386E0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E386F0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38700279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38710279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38720279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38730279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38740279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38750279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38760279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38770279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38780279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38790279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E387A0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E387B0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E387C0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E387D0279D53D01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E387E0279D53D01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E387F0279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38800279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38810279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38820279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38840279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38850279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38880279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E38890279D57301DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F52E388B0279D59101DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F532558B0288434401DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - path = QTSSMemoryDeleter.h; - refType = 4; - }; - F532558C0288434401DD2B50 = { - fileRef = F532558B0288434401DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA8B011744B601DD292F = { - children = ( - F533DA8C011744B601DD292F, - F533DA8D011744B601DD292F, - F533DA8E011744B601DD292F, - F533DA8F011744B601DD292F, - F533DA90011744B601DD292F, - F533DA91011744B601DD292F, - F533DA92011744B601DD292F, - F533DA93011744B601DD292F, - F533DA94011744B601DD292F, - ); - isa = PBXGroup; - path = MP3Broadcaster; - refType = 4; - }; - F533DA8C011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = BroadcasterMain.cpp; - refType = 4; - }; - F533DA8D011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3Broadcaster.cpp; - refType = 4; - }; - F533DA8E011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3Broadcaster.h; - refType = 4; - }; - F533DA8F011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3BroadcasterLog.cpp; - refType = 4; - }; - F533DA90011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3BroadcasterLog.h; - refType = 4; - }; - F533DA91011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3FileBroadcaster.cpp; - refType = 4; - }; - F533DA92011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3FileBroadcaster.h; - refType = 4; - }; - F533DA93011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3MetaInfoUpdater.cpp; - refType = 4; - }; - F533DA94011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - path = MP3MetaInfoUpdater.h; - refType = 4; - }; - F533DA95011744B601DD292F = { - isa = PBXExecutableFileReference; - path = MP3Broadcaster; - refType = 3; - }; - F533DA97011744B701DD292F = { - buildPhases = ( - F533DA9C011744B701DD292F, - F533DAA1011744B701DD292F, - F533DAAA011744B701DD292F, - F533DAB1011744B701DD292F, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = "-D__MacOSX__"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = MP3Broadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F533DAC5011745E201DD292F, - F533DA99011744B701DD292F, - F533DA9A011744B701DD292F, - F533DA9B011744B701DD292F, - ); - isa = PBXToolTarget; - name = MP3Broadcaster; - productInstallPath = /usr/bin; - productName = MP3Broadcaster; - productReference = F533DA95011744B601DD292F; - }; - F533DA99011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - }; - F533DA9A011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - }; - F533DA9B011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - }; - F533DA9C011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DA9D011744B701DD292F, - F533DA9E011744B701DD292F, - F533DA9F011744B701DD292F, - F533DAA0011744B701DD292F, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DA9D011744B701DD292F = { - fileRef = F533DA8E011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA9E011744B701DD292F = { - fileRef = F533DA90011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA9F011744B701DD292F = { - fileRef = F533DA92011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA0011744B701DD292F = { - fileRef = F533DA94011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA1011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DAA2011744B701DD292F, - F533DAA3011744B701DD292F, - F533DAA4011744B701DD292F, - F533DAA5011744B701DD292F, - F533DAA6011744B701DD292F, - F533DAA7011744B701DD292F, - F533DAA8011744B701DD292F, - F533DAA9011744B701DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAA2011744B701DD292F = { - fileRef = F533DA8C011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA3011744B701DD292F = { - fileRef = F533DA8D011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA4011744B701DD292F = { - fileRef = F533DA8F011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA5011744B701DD292F = { - fileRef = F533DA91011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA6011744B701DD292F = { - fileRef = F533DA93011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA7011744B701DD292F = { - fileRef = 68C392C000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA8011744B701DD292F = { - fileRef = 68C392C100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA9011744B701DD292F = { - fileRef = 68C392C700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAA011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DAAC011744B701DD292F, - F57EED5F027EA94401FF7AB9, - F533DAAD011744B701DD292F, - F533DAAE011744B701DD292F, - F533DAAF011744B701DD292F, - F5EB63B2011F4A8F01DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAAC011744B701DD292F = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAD011744B701DD292F = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAE011744B701DD292F = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAF011744B701DD292F = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAB1011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAC5011745E201DD292F = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - }; - F54D303D027FCAD101000102 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - }; - F54D303E027FCAD101000102 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - }; - F551E69C013818ED01000102 = { - fileEncoding = 30; - isa = PBXFileReference; - name = confirm.html; - path = WebAdmin/WebAdminHtml/confirm.html; - refType = 2; - }; - F551E69E0138190801000102 = { - fileRef = F551E69C013818ED01000102; - isa = PBXBuildFile; - settings = { - }; - }; - F5610DA501B5C81301DD2F6B = { - isa = PBXFileReference; - name = dialog_side.gif; - path = WebAdmin/WebAdminHtml/images/dialog_side.gif; - refType = 2; - }; - F5610DA601B5C81501DD2F6B = { - fileRef = F5610DA501B5C81301DD2F6B; - isa = PBXBuildFile; - settings = { - }; - }; - F568F9780254EE28010001C8 = { - isa = PBXFileReference; - name = nav_logo_small.gif; - path = WebAdmin/WebAdminHtml/images/nav_logo_small.gif; - refType = 2; - }; - F568F9790254EE29010001C8 = { - fileRef = F568F9780254EE28010001C8; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2D0278791501DD2AFC = { - fileRef = 68C3950C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2E0278791501DD2AFC = { - fileRef = 68C3950D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2F0278791501DD2AFC = { - fileRef = 68C3950F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A300278791501DD2AFC = { - fileRef = 68C3951000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A310278791501DD2AFC = { - fileRef = 68C3951100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A320278791501DD2AFC = { - fileRef = 68C3951200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A330278791501DD2AFC = { - fileRef = 68C3951300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A340278791501DD2AFC = { - fileRef = 68C3951400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A350278791501DD2AFC = { - fileRef = 68C3951500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A360278791501DD2AFC = { - fileRef = 68C3951600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A370278791501DD2AFC = { - fileRef = 68C3951700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A380278791501DD2AFC = { - fileRef = 0066F5CF016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A390278791501DD2AFC = { - fileRef = 68C3950000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3A0278791501DD2AFC = { - fileRef = 68C3950100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3B0278791501DD2AFC = { - fileRef = 68C3950300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3C0278791501DD2AFC = { - fileRef = 68C3950400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3D0278791501DD2AFC = { - fileRef = 68C3950500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3E0278791501DD2AFC = { - fileRef = 68C3950600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3F0278791501DD2AFC = { - fileRef = 68C3950700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A400278791501DD2AFC = { - fileRef = 68C3950800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A410278791501DD2AFC = { - fileRef = 68C3950900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A420278791501DD2AFC = { - fileRef = 68C3950A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A430278791501DD2AFC = { - fileRef = 0066F5CE016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A440278791501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A450278791501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A460278791501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A470278791501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A480278791501DD2AFC = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A490278796A01DD2AFC = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4A0278796A01DD2AFC = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4D02787A6901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4E02787A7F01DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4F02787A9501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5002787AF101DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5102787AF101DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5202787AF901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5302787B0101DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A600278ADD701DD2AFC = { - isa = PBXExecutableFileReference; - path = QuickTimeStreamingServer; - refType = 3; - }; - F56B5A610278ADD701DD2AFC = { - buildPhases = ( - F56B5A620278ADD701DD2AFC, - F56B5A630278ADD701DD2AFC, - F56B5A640278ADD701DD2AFC, - F56B5ABF0278B00A01DD2AFC, - F56B5AC20278B00A01DD2AFC, - F56B5AC70278B00A01DD2AFC, - F56B5AC80278B00A01DD2AFC, - F56B5AC90278B00A01DD2AFC, - F56B5ACA0278B00A01DD2AFC, - F56B5ACB0278B00A01DD2AFC, - F56B5ACC0278B00A01DD2AFC, - F56B5ACD0278B00A01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /usr/sbin; - OTHER_CFLAGS = "-DDSS_DYNAMIC_MODULES_ONLY -DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QuickTimeStreamingServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38890279D57301DD2AFC, - ); - isa = PBXToolTarget; - name = Server_No_Modules; - productInstallPath = /usr/sbin; - productName = Server_No_Modules; - productReference = F56B5A600278ADD701DD2AFC; - }; - F56B5A620278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A720278AF2501DD2AFC, - F56B5A730278AF2501DD2AFC, - F56B5A740278AF2501DD2AFC, - F56B5A750278AF2501DD2AFC, - F56B5A760278AF2501DD2AFC, - F56B5A770278AF2501DD2AFC, - F56B5A780278AF2501DD2AFC, - F56B5A790278AF2501DD2AFC, - F56B5A7A0278AF2501DD2AFC, - F56B5A7B0278AF2501DD2AFC, - F56B5A7C0278AF2501DD2AFC, - F56B5A7D0278AF2501DD2AFC, - F56B5A7E0278AF2501DD2AFC, - F56B5A7F0278AF2501DD2AFC, - F56B5A800278AF2501DD2AFC, - F56B5A810278AF2501DD2AFC, - F56B5A820278AF2501DD2AFC, - F56B5A830278AF2501DD2AFC, - F56B5A840278AF2501DD2AFC, - F56B5A850278AF2501DD2AFC, - F56B5A860278AF2501DD2AFC, - F56B5A870278AF2501DD2AFC, - F56B5A880278AF2501DD2AFC, - F56B5A890278AF2501DD2AFC, - F56B5A8A0278AF2501DD2AFC, - F56B5A8B0278AF2501DD2AFC, - F56B5A8C0278AF2501DD2AFC, - F56B5A8D0278AF2501DD2AFC, - F56B5A8E0278AF2501DD2AFC, - F56B5A8F0278AF2501DD2AFC, - F56B5A900278AF2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A630278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A920278AF2501DD2AFC, - F56B5A930278AF2501DD2AFC, - F56B5A940278AF2501DD2AFC, - F56B5A950278AF2501DD2AFC, - F56B5A960278AF2501DD2AFC, - F56B5A970278AF2501DD2AFC, - F56B5A980278AF2501DD2AFC, - F56B5A990278AF2501DD2AFC, - F56B5A9A0278AF2501DD2AFC, - F56B5A9B0278AF2501DD2AFC, - F56B5A9C0278AF2501DD2AFC, - F56B5A9D0278AF2501DD2AFC, - F56B5A9E0278AF2501DD2AFC, - F56B5A9F0278AF2501DD2AFC, - F56B5AA00278AF2501DD2AFC, - F56B5AA10278AF2501DD2AFC, - F56B5AA20278AF2501DD2AFC, - F56B5AA30278AF2501DD2AFC, - F56B5AA40278AF2501DD2AFC, - F56B5AA50278AF2501DD2AFC, - F56B5AA60278AF2501DD2AFC, - F56B5AA70278AF2501DD2AFC, - F56B5AA80278AF2501DD2AFC, - F56B5AA90278AF2501DD2AFC, - F56B5AAA0278AF2501DD2AFC, - F56B5AAB0278AF2501DD2AFC, - F56B5AAC0278AF2501DD2AFC, - F56B5AAD0278AF2501DD2AFC, - F56B5AAE0278AF2501DD2AFC, - F56B5AAF0278AF2501DD2AFC, - F56B5AB00278AF2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A640278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5AB30278AF2501DD2AFC, - F56B5AB40278AF2501DD2AFC, - F56B5AB50278AF2501DD2AFC, - F56B5AB60278AF2501DD2AFC, - F56B5AB70278AF2501DD2AFC, - F56B5AB80278AF2501DD2AFC, - F56B5AB90278AF2501DD2AFC, - F56B5ABA0278AF2501DD2AFC, - F56B5ABB0278AF2501DD2AFC, - F56B5ABC0278AF2501DD2AFC, - F56B5ABD0278AF2501DD2AFC, - F56B5ABE0278AF2501DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A720278AF2501DD2AFC = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A730278AF2501DD2AFC = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A740278AF2501DD2AFC = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A750278AF2501DD2AFC = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A760278AF2501DD2AFC = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A770278AF2501DD2AFC = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A780278AF2501DD2AFC = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A790278AF2501DD2AFC = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7A0278AF2501DD2AFC = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7B0278AF2501DD2AFC = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7C0278AF2501DD2AFC = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7D0278AF2501DD2AFC = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7E0278AF2501DD2AFC = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7F0278AF2501DD2AFC = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A800278AF2501DD2AFC = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A810278AF2501DD2AFC = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A820278AF2501DD2AFC = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A830278AF2501DD2AFC = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A840278AF2501DD2AFC = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A850278AF2501DD2AFC = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A860278AF2501DD2AFC = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A870278AF2501DD2AFC = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A880278AF2501DD2AFC = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A890278AF2501DD2AFC = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8A0278AF2501DD2AFC = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8B0278AF2501DD2AFC = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8C0278AF2501DD2AFC = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8D0278AF2501DD2AFC = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8E0278AF2501DD2AFC = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8F0278AF2501DD2AFC = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A900278AF2501DD2AFC = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A920278AF2501DD2AFC = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A930278AF2501DD2AFC = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A940278AF2501DD2AFC = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A950278AF2501DD2AFC = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A960278AF2501DD2AFC = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A970278AF2501DD2AFC = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A980278AF2501DD2AFC = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A990278AF2501DD2AFC = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9A0278AF2501DD2AFC = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9B0278AF2501DD2AFC = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9C0278AF2501DD2AFC = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9D0278AF2501DD2AFC = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9E0278AF2501DD2AFC = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9F0278AF2501DD2AFC = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA00278AF2501DD2AFC = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA10278AF2501DD2AFC = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA20278AF2501DD2AFC = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA30278AF2501DD2AFC = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA40278AF2501DD2AFC = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA50278AF2501DD2AFC = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA60278AF2501DD2AFC = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA70278AF2501DD2AFC = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA80278AF2501DD2AFC = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA90278AF2501DD2AFC = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAA0278AF2501DD2AFC = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAB0278AF2501DD2AFC = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAC0278AF2501DD2AFC = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAD0278AF2501DD2AFC = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAE0278AF2501DD2AFC = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAF0278AF2501DD2AFC = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB00278AF2501DD2AFC = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB30278AF2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB40278AF2501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB50278AF2501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB60278AF2501DD2AFC = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB70278AF2501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB80278AF2501DD2AFC = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB90278AF2501DD2AFC = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABA0278AF2501DD2AFC = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABB0278AF2501DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABC0278AF2501DD2AFC = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABD0278AF2501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABE0278AF2501DD2AFC = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABF0278B00A01DD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - F56B5AC00278B00A01DD2AFC, - F56B5AC10278B00A01DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - F56B5AC00278B00A01DD2AFC = { - fileRef = 68C3920E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC10278B00A01DD2AFC = { - fileRef = 005B0878013B079200DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC20278B00A01DD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Movies; - dstSubfolderSpec = 0; - files = ( - F56B5AC30278B00A01DD2AFC, - F56B5AC50278B00A01DD2AFC, - F56B5AC60278B00A01DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - F56B5AC30278B00A01DD2AFC = { - fileRef = 0082672B01A2F39A00DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC50278B00A01DD2AFC = { - fileRef = 61B89716017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC60278B00A01DD2AFC = { - fileRef = 61B89717017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC70278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - F56B5AC80278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - F56B5AC90278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - F56B5ACA0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; - }; - F56B5ACB0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; - }; - F56B5ACC0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; - }; - F56B5ACD0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R ug+w ${DSTROOT}/Library/QuickTimeStreaming\t"; - }; - F56CBE630136D97301000102 = { - isa = PBXFileReference; - name = weight_up_arrow.gif; - path = WebAdmin/WebAdminHtml/images/weight_up_arrow.gif; - refType = 2; - }; - F56CBE640136D97301000102 = { - isa = PBXFileReference; - name = wieght_down_arrow.gif; - path = WebAdmin/WebAdminHtml/images/wieght_down_arrow.gif; - refType = 2; - }; - F56CBE670136D97301000102 = { - fileRef = F56CBE630136D97301000102; - isa = PBXBuildFile; - settings = { - }; - }; - F56CBE680136D97301000102 = { - fileRef = F56CBE640136D97301000102; - isa = PBXBuildFile; - settings = { - }; - }; - F56EA4BE0199D17E0100010F = { - fileEncoding = 30; - isa = PBXFileReference; - name = relay_status.html; - path = WebAdmin/WebAdminHtml/relay_status.html; - refType = 2; - }; - F56EA4BF0199D1800100010F = { - fileRef = F56EA4BE0199D17E0100010F; - isa = PBXBuildFile; - settings = { - }; - }; - F574E248015FE06F01000127 = { - fileEncoding = 30; - isa = PBXFileReference; - name = playlist_error_log.html; - path = WebAdmin/WebAdminHtml/playlist_error_log.html; - refType = 2; - }; - F574E249015FE07001000127 = { - fileRef = F574E248015FE06F01000127; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED22027E9E1101FF7AB9 = { - isa = PBXLibraryReference; - path = libSafeInternalStdLib.a; - refType = 3; - }; - F57EED23027E9E1101FF7AB9 = { - isa = PBXLibraryReference; - path = libSafeDynamicModuleStdLib.a; - refType = 3; - }; - F57EED24027E9E1201FF7AB9 = { - buildPhases = ( - F57EED25027E9E1201FF7AB9, - F57EED26027E9E1201FF7AB9, - F57EED27027E9E1201FF7AB9, - F57EED28027E9E1201FF7AB9, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libSafeInternalStdLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "SafeInternalStdLib (Library)"; - productInstallPath = /usr/local/lib; - productName = SafeInternalStdLib; - productReference = F57EED22027E9E1101FF7AB9; - }; - F57EED25027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED38027E9FF201FF7AB9, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED26027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED33027E9EDE01FF7AB9, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED27027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED28027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED29027E9E1201FF7AB9 = { - buildPhases = ( - F57EED2A027E9E1201FF7AB9, - F57EED2B027E9E1201FF7AB9, - F57EED2C027E9E1201FF7AB9, - F57EED2D027E9E1201FF7AB9, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libSafeDynamicModuleStdLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "SafeDynamicModuleStdLib (Library)"; - productInstallPath = /usr/local/lib; - productName = SafeDynamicModuleStdLib; - productReference = F57EED23027E9E1101FF7AB9; - }; - F57EED2A027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED37027E9FD601FF7AB9, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2B027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED34027E9EDE01FF7AB9, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2C027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2D027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2E027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - path = SafeStdLib.h; - refType = 4; - }; - F57EED2F027E9EDD01FF7AB9 = { - children = ( - F57EED30027E9EDD01FF7AB9, - F57EED31027E9EDD01FF7AB9, - ); - isa = PBXGroup; - name = SafeStdLib; - path = ""; - refType = 2; - }; - F57EED30027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - name = DynamicModuleStdLib.cpp; - path = SafeStdLib/DynamicModuleStdLib.cpp; - refType = 4; - }; - F57EED31027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - name = InternalStdLib.cpp; - path = SafeStdLib/InternalStdLib.cpp; - refType = 4; - }; - F57EED33027E9EDE01FF7AB9 = { - fileRef = F57EED31027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED34027E9EDE01FF7AB9 = { - fileRef = F57EED30027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED37027E9FD601FF7AB9 = { - fileRef = F57EED2E027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED38027E9FF201FF7AB9 = { - fileRef = F57EED2E027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED39027EA0B001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - }; - F57EED3A027EA0B001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - }; - F57EED3F027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED40027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED41027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED42027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED43027EA28201FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED44027EA28201FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED45027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED46027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED47027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED48027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED49027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4A027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4B027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4C027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4D027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4E027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4F027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED50027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED51027EA7E001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - }; - F57EED52027EA7E001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - }; - F57EED53027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED54027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED56027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED57027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED58027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED59027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5A027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5B027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5C027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5D027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5E027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5F027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED60027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED61027EBA8101FF7AB9 = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - }; - F596A33B019319300189D339 = { - isa = PBXFileReference; - name = nav_help.gif; - path = WebAdmin/WebAdminHtml/images/nav_help.gif; - refType = 2; - }; - F596A33C019319320189D339 = { - fileRef = F596A33B019319300189D339; - isa = PBXBuildFile; - settings = { - }; - }; - F59F642C01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = relay_targets.html; - path = WebAdmin/WebAdminHtml/relay_targets.html; - refType = 2; - }; - F59F642D01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = relay_details_default.html; - path = WebAdmin/WebAdminHtml/relay_details_default.html; - refType = 2; - }; - F59F642E01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = relay_details.html; - path = WebAdmin/WebAdminHtml/relay_details.html; - refType = 2; - }; - F59F642F01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = relay.html; - path = WebAdmin/WebAdminHtml/relay.html; - refType = 2; - }; - F59F643001449BE001000104 = { - fileRef = F59F642C01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643101449BE001000104 = { - fileRef = F59F642D01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643201449BE001000104 = { - fileRef = F59F642E01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643301449BE001000104 = { - fileRef = F59F642F01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64340144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = setup_assistant2.html; - path = WebAdmin/WebAdminHtml/setup_assistant2.html; - refType = 2; - }; - F59F64350144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = setup_assistant3.html; - path = WebAdmin/WebAdminHtml/setup_assistant3.html; - refType = 2; - }; - F59F64360144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - name = setup_assistant4.html; - path = WebAdmin/WebAdminHtml/setup_assistant4.html; - refType = 2; - }; - F59F64370144BCEB01000104 = { - fileRef = F59F64340144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64380144BCEB01000104 = { - fileRef = F59F64350144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64390144BCEB01000104 = { - fileRef = F59F64360144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F5C07FA60415973001DD2E7A = { - isa = PBXFrameworkReference; - name = Security.framework; - path = /System/Library/Frameworks/Security.framework; - refType = 0; - }; - F5C080B70415983101DD2E7A = { - fileRef = F5C07FA60415973001DD2E7A; - isa = PBXBuildFile; - settings = { - }; - }; - F5C3E6EB017CFE24010001C8 = { - isa = PBXFileReference; - name = icon_doc.gif; - path = WebAdmin/WebAdminHtml/images/icon_doc.gif; - refType = 2; - }; - F5C3E6EC017CFE25010001C8 = { - fileRef = F5C3E6EB017CFE24010001C8; - isa = PBXBuildFile; - settings = { - }; - }; - F5C7F02601B6CE3401DD2F6B = { - isa = PBXFileReference; - name = nav_logo.gif; - path = WebAdmin/WebAdminHtml/images/nav_logo.gif; - refType = 2; - }; - F5C7F02701B6CE3601DD2F6B = { - fileRef = F5C7F02601B6CE3401DD2F6B; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D0D027758E801DD2AFC = { - isa = PBXBundleReference; - path = QTSSAccessModule.bundle; - refType = 3; - }; - F5E91D0E027758E801DD2AFC = { - buildPhases = ( - F5E91D0F027758E801DD2AFC, - F5E91D10027758E801DD2AFC, - F5E91D11027758E801DD2AFC, - F5E91D12027758E801DD2AFC, - F5E91D13027758E801DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAccessModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386C0279D4DA01DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAccessModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAccessModule.bundle; - productReference = F5E91D0D027758E801DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAccessModule - CFBundleGetInfoString - Suppors qtaccess-style authorization - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.accessmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAccessModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D0F027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1402775AB101DD2AFC, - F5E91D1502775AB101DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D10027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D11027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1602775AB101DD2AFC, - F5E91D1702775AB101DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D12027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1902775AB101DD2AFC, - F57EED4A027EA3AB01FF7AB9, - F56B5A4E02787A7F01DD2AFC, - F56B5A4F02787A9501DD2AFC, - F5E91DF0027868CE01DD2AFC, - F56B5A4D02787A6901DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D13027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D1402775AB101DD2AFC = { - fileRef = 68C395B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1502775AB101DD2AFC = { - fileRef = 68C395AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1602775AB101DD2AFC = { - fileRef = 68C395AD00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1702775AB101DD2AFC = { - fileRef = 68C395AC00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1902775AB101DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1F02775B5D01DD2AFC = { - isa = PBXBundleReference; - path = QTSSFileModule.bundle; - refType = 3; - }; - F5E91D2002775B5E01DD2AFC = { - buildPhases = ( - F5E91D2102775B5E01DD2AFC, - F5E91D2302775B5E01DD2AFC, - F5E91D2402775B5E01DD2AFC, - F5E91D2602775B5E01DD2AFC, - F5E91D2E02775B5E01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38730279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSFileModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSFileModule.bundle; - productReference = F5E91D1F02775B5D01DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFileModule - CFBundleGetInfoString - QTSSFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.filemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D2102775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2202775B5E01DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2202775B5E01DD2AFC = { - fileRef = 68C394F700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2302775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2402775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2502775B5E01DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2502775B5E01DD2AFC = { - fileRef = 68C394F500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2602775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2802775B5E01DD2AFC, - F57EED4B027EA3AB01FF7AB9, - F5E91DF702786AB101DD2AFC, - F5E91DFA02786B0701DD2AFC, - F5E91DF802786AF601DD2AFC, - F5E91DFB02786B0F01DD2AFC, - F5E91DF902786AFF01DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2802775B5E01DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2E02775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2F02775C5601DD2AFC = { - isa = PBXBundleReference; - path = QTSSAccessLogModule.bundle; - refType = 3; - }; - F5E91D3002775C5601DD2AFC = { - isa = PBXBundleReference; - path = QTSSReflectorModule.bundle; - refType = 3; - }; - F5E91D3102775C5601DD2AFC = { - buildPhases = ( - F5E91D3202775C5601DD2AFC, - F5E91D3402775C5601DD2AFC, - F5E91D3502775C5601DD2AFC, - F5E91D3702775C5601DD2AFC, - F5E91D3F02775C5601DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAccessLogModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38740279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAccessLogModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAccessLogModule.bundle; - productReference = F5E91D2F02775C5601DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAccessLogModule - CFBundleGetInfoString - QTSSAccessLogModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.accesslogmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAccessLogModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D3202775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3302775C5601DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3302775C5601DD2AFC = { - fileRef = 68C394EC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3402775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3502775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3602775C5601DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3602775C5601DD2AFC = { - fileRef = 68C394EA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3702775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3902775C5601DD2AFC, - F57EED4C027EA3AB01FF7AB9, - F56B5A5002787AF101DD2AFC, - F56B5A5202787AF901DD2AFC, - F56B5A5302787B0101DD2AFC, - F56B5A5102787AF101DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3902775C5601DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3F02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D4002775C5601DD2AFC = { - buildPhases = ( - F5E91D4102775C5601DD2AFC, - F5E91D4F02775C5601DD2AFC, - F5E91D5002775C5601DD2AFC, - F5E91D5D02775C5601DD2AFC, - F5E91D6502775C5601DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSReflectorModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38750279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSReflectorModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSReflectorModule.bundle; - productReference = F5E91D3002775C5601DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSReflectorModule - CFBundleGetInfoString - QTSSReflectorModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.reflectormodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSReflectorModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D4102775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A2D0278791501DD2AFC, - F56B5A2E0278791501DD2AFC, - F56B5A2F0278791501DD2AFC, - F56B5A300278791501DD2AFC, - F56B5A310278791501DD2AFC, - F56B5A320278791501DD2AFC, - F56B5A330278791501DD2AFC, - F56B5A340278791501DD2AFC, - F56B5A350278791501DD2AFC, - F56B5A360278791501DD2AFC, - F56B5A370278791501DD2AFC, - F56B5A380278791501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D4F02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5002775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A390278791501DD2AFC, - F56B5A3A0278791501DD2AFC, - F56B5A3B0278791501DD2AFC, - F56B5A3C0278791501DD2AFC, - F56B5A3D0278791501DD2AFC, - F56B5A3E0278791501DD2AFC, - F56B5A3F0278791501DD2AFC, - F56B5A400278791501DD2AFC, - F56B5A410278791501DD2AFC, - F56B5A420278791501DD2AFC, - F56B5A430278791501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5D02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D5F02775C5601DD2AFC, - F57EED43027EA28201FF7AB9, - F5E91DFC02786B4201DD2AFC, - F56B5A440278791501DD2AFC, - F56B5A450278791501DD2AFC, - F56B5A460278791501DD2AFC, - F56B5A470278791501DD2AFC, - F56B5A480278791501DD2AFC, - F56B5A490278796A01DD2AFC, - F56B5A4A0278796A01DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5F02775C5601DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6502775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6602775D2501DD2AFC = { - isa = PBXBundleReference; - path = QTSSFlowControlModule.bundle; - refType = 3; - }; - F5E91D6702775D2501DD2AFC = { - isa = PBXBundleReference; - path = QTSSWebDebugModule.bundle; - refType = 3; - }; - F5E91D6802775D2501DD2AFC = { - isa = PBXBundleReference; - path = QTSSWebStatsModule.bundle; - refType = 3; - }; - F5E91D6902775D2501DD2AFC = { - buildPhases = ( - F5E91D6A02775D2501DD2AFC, - F5E91D6C02775D2501DD2AFC, - F5E91D6D02775D2501DD2AFC, - F5E91D6F02775D2501DD2AFC, - F5E91D7702775D2501DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFlowControlModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38760279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSFlowControlModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSFlowControlModule.bundle; - productReference = F5E91D6602775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFlowControlModule - CFBundleGetInfoString - QTSSFlowControlModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.flowcontrolmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFlowControlModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D6A02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D6B02775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6B02775D2501DD2AFC = { - fileRef = 68C3952200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6C02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6D02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D6E02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6E02775D2501DD2AFC = { - fileRef = 68C3952000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6F02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7102775D2501DD2AFC, - F57EED4D027EA3AB01FF7AB9, - F5E91DFD02786BD001DD2AFC, - F5E91DFF02786C9601DD2AFC, - F5E91E0002786C9F01DD2AFC, - F5E91E0102786CA701DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7102775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7702775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7802775D2501DD2AFC = { - buildPhases = ( - F5E91D7902775D2501DD2AFC, - F5E91D7B02775D2501DD2AFC, - F5E91D7C02775D2501DD2AFC, - F5E91D7E02775D2501DD2AFC, - F5E91D8602775D2501DD2AFC, - ); - buildSettings = { - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSWebDebugModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38770279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSWebDebugModule.bundle; - productName = QTSSWebDebugModule.bundle; - productReference = F5E91D6702775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSWebDebugModule - CFBundleGetInfoString - QTSSWebDebugModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.webdebugmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSWebDebugModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D7902775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7A02775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7A02775D2501DD2AFC = { - fileRef = 68C3952D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7B02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7C02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7D02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7D02775D2501DD2AFC = { - fileRef = 68C3952B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7E02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8002775D2501DD2AFC, - F57EED40027EA24601FF7AB9, - F5E91D8302775D2501DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8002775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8302775D2501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8602775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8702775D2501DD2AFC = { - buildPhases = ( - F5E91D8802775D2501DD2AFC, - F5E91D8A02775D2501DD2AFC, - F5E91D8B02775D2501DD2AFC, - F5E91D8D02775D2501DD2AFC, - F5E91D9502775D2501DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSWebStatsModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38780279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSWebStatsModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSWebStatsModule.bundle; - productReference = F5E91D6802775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSWebStatsModule - CFBundleGetInfoString - QTSSWebStatsModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.webstatsmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSWebStatsModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D8802775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8902775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8902775D2501DD2AFC = { - fileRef = 68C3953800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8A02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8B02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8C02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8C02775D2501DD2AFC = { - fileRef = 68C3953600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8D02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8F02775D2501DD2AFC, - F5E91E0202786CD501DD2AFC, - F5E91E0302786CFB01DD2AFC, - F5E91E0502786D0A01DD2AFC, - F5E91E0402786D0401DD2AFC, - F57EED41027EA24601FF7AB9, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8F02775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D9502775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D9D02775EEB01DD2AFC = { - isa = PBXBundleReference; - path = QTSSPosixFileSysModule.bundle; - refType = 3; - }; - F5E91D9E02775EEC01DD2AFC = { - buildPhases = ( - F5E91D9F02775EEC01DD2AFC, - F5E91DA102775EEC01DD2AFC, - F5E91DA202775EEC01DD2AFC, - F5E91DA402775EEC01DD2AFC, - F5E91DA502775EEC01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSPosixFileSysModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38790279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSPOSIXFileSysModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSPOSIXFileSysModule.bundle; - productReference = F5E91D9D02775EEB01DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSPosixFileSysModule - CFBundleGetInfoString - QTSSPosixFileSysModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.posixfileystemmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSPosixFileSysModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D9F02775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DA002775EEC01DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA002775EEC01DD2AFC = { - fileRef = 68C3957100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DA102775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA202775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DA302775EEC01DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA302775EEC01DD2AFC = { - fileRef = 68C3956F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DA402775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DB20277603301DD2AFC, - F57EED4E027EA3AB01FF7AB9, - F5E91E0702786D4401DD2AFC, - F5E91E0802786D4401DD2AFC, - F5E91E0902786D4D01DD2AFC, - F5E91E0A02786D5301DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA502775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA60277603301DD2AFC = { - isa = PBXBundleReference; - path = QTSSAdminModule.bundle; - refType = 3; - }; - F5E91DA70277603301DD2AFC = { - isa = PBXBundleReference; - path = QTSSHttpFileModule.bundle; - refType = 3; - }; - F5E91DA80277603301DD2AFC = { - isa = PBXBundleReference; - path = QTSSRTPFileModule.bundle; - refType = 3; - }; - F5E91DB20277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DB90277603301DD2AFC = { - buildPhases = ( - F5E91DBA0277603301DD2AFC, - F5E91DBE0277603301DD2AFC, - F5E91DBF0277603301DD2AFC, - F5E91DC30277603301DD2AFC, - F5E91DCB0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAdminModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387A0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAdminModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAdminModule.bundle; - productReference = F5E91DA60277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAdminModule - CFBundleGetInfoString - QTSSAdminModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.adminmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAdminModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DBA0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DBB0277603301DD2AFC, - F5E91DBC0277603301DD2AFC, - F5E91DBD0277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DBB0277603301DD2AFC = { - fileRef = 68C3958B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBC0277603301DD2AFC = { - fileRef = 68C3958A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBD0277603301DD2AFC = { - fileRef = 68C3958900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DBF0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DC00277603301DD2AFC, - F5E91DC10277603301DD2AFC, - F5E91DC20277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DC00277603301DD2AFC = { - fileRef = 68C3958700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC10277603301DD2AFC = { - fileRef = 68C3958600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC20277603301DD2AFC = { - fileRef = 68C3958500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC30277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DF20278699501DD2AFC, - F57EED4F027EA3AB01FF7AB9, - F5E91DF30278699501DD2AFC, - F5E91DF50278699501DD2AFC, - F5E91DF60278699501DD2AFC, - F5E91E0B02786DA901DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCB0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCD0277603301DD2AFC = { - buildPhases = ( - F5E91DCE0277603301DD2AFC, - F5E91DD00277603301DD2AFC, - F5E91DD10277603301DD2AFC, - F5E91DD30277603301DD2AFC, - F5E91DDB0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSHttpFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387B0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSHttpFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSHttpFileModule.bundle; - productReference = F5E91DA70277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSHttpFileModule - CFBundleGetInfoString - QTSSHttpFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.httpfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSHttpFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DCE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DCF0277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCF0277603301DD2AFC = { - fileRef = 68C3959600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DD00277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD10277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DD20277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD20277603301DD2AFC = { - fileRef = 68C3959400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DD30277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DD50277603301DD2AFC, - F57EED50027EA3AB01FF7AB9, - F5E91E0C02786DDF01DD2AFC, - F5E91E0E02786DE701DD2AFC, - F5E91E0D02786DDF01DD2AFC, - F5E91E1102786E0601DD2AFC, - F5E91E1002786DFE01DD2AFC, - F5E91E0F02786DF601DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD50277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DDB0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DDD0277603301DD2AFC = { - buildPhases = ( - F5E91DDE0277603301DD2AFC, - F5E91DE10277603301DD2AFC, - F5E91DE20277603301DD2AFC, - F5E91DE50277603301DD2AFC, - F5E91DED0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRTPFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387C0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSRTPFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSRTPFileModule.bundle; - productReference = F5E91DA80277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRTPFileModule - CFBundleGetInfoString - QTSSRTPFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.rtpfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRTPFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DDE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DDF0277603301DD2AFC, - F5E91DE00277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DDF0277603301DD2AFC = { - fileRef = 68C395A200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE00277603301DD2AFC = { - fileRef = 68C395A300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE10277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE20277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DE30277603301DD2AFC, - F5E91DE40277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE30277603301DD2AFC = { - fileRef = 68C3959F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE40277603301DD2AFC = { - fileRef = 68C395A000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE50277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DE70277603301DD2AFC, - F57EED42027EA24601FF7AB9, - F5E91E1202786E3101DD2AFC, - F5E91E1502786E3E01DD2AFC, - F5E91E1402786E3901DD2AFC, - F5E91E1302786E3101DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE70277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DED0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DF0027868CE01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF20278699501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF30278699501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF50278699501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF60278699501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF702786AB101DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF802786AF601DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF902786AFF01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFA02786B0701DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFB02786B0F01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFC02786B4201DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFD02786BD001DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFF02786C9601DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0002786C9F01DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0102786CA701DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0202786CD501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0302786CFB01DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0402786D0401DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0502786D0A01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0702786D4401DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0802786D4401DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0902786D4D01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0A02786D5301DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0B02786DA901DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0C02786DDF01DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0D02786DDF01DD2AFC = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0E02786DE701DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0F02786DF601DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1002786DFE01DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1102786E0601DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1202786E3101DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1302786E3101DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1402786E3901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1502786E3E01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E2302786F1501DD2AFC = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_All_Dynamic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F5E91E2402786F1501DD2AFC, - F5E91E2502786F1501DD2AFC, - F5E91E2602786F1501DD2AFC, - F5E91E2702786F1501DD2AFC, - F5E91E2802786F1501DD2AFC, - F5E91E2902786F1501DD2AFC, - F5E91E2A02786F1501DD2AFC, - F5E91E2B02786F1501DD2AFC, - F5E91E2C02786F1501DD2AFC, - F5E91E2D02786F1501DD2AFC, - F5E91E2E02786F1501DD2AFC, - B6494F9C0279F7A90BDD2A6C, - F5E91E2F02786F1501DD2AFC, - F5E91E3002786F1501DD2AFC, - F5E91E3102786F1501DD2AFC, - F5E91E3202786F1501DD2AFC, - F5E91E3302786F1501DD2AFC, - F5E91E3402786F1501DD2AFC, - ); - isa = PBXAggregateTarget; - name = APIModules_All_Dynamic; - productName = APIModules_All_Dynamic; - }; - F5E91E2402786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 004E288A025B787100DD2B50; - }; - F5E91E2502786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D0E027758E801DD2AFC; - }; - F5E91E2602786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D2002775B5E01DD2AFC; - }; - F5E91E2702786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D3102775C5601DD2AFC; - }; - F5E91E2802786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D4002775C5601DD2AFC; - }; - F5E91E2902786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D6902775D2501DD2AFC; - }; - F5E91E2A02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D7802775D2501DD2AFC; - }; - F5E91E2B02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D8702775D2501DD2AFC; - }; - F5E91E2C02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D9E02775EEC01DD2AFC; - }; - F5E91E2D02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DB90277603301DD2AFC; - }; - F5E91E2E02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DCD0277603301DD2AFC; - }; - F5E91E2F02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DDD0277603301DD2AFC; - }; - F5E91E3002786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3993400C567B77F000001; - }; - F5E91E3102786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3994300C567B77F000001; - }; - F5E91E3202786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3995200C567B77F000001; - }; - F5E91E3302786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3996200C567B77F000001; - }; - F5E91E3402786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3997B00C567B77F000001; - }; - F5EB63B1011F467801DD292F = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5EB63B2011F4A8F01DD292F = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5EF9AEF01235DC301DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - name = atomic.cpp; - path = CommonUtilitiesLib/atomic.cpp; - refType = 2; - }; - F5EF9AF001235DC301DD292F = { - fileRef = F5EF9AEF01235DC301DD292F; - isa = PBXBuildFile; - settings = { - }; - }; -//F50 -//F51 -//F52 -//F53 -//F54 -//F60 -//F61 -//F62 -//F63 -//F64 - F6999B67023926FC01000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6999B68023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B69023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B6A023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B6B023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B6C023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B6D023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B6E0239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B6F0239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6999B700239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6A3A53102392A2801000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53202392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53302392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53402392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53502392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53602392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53702392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53802392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AED02390D0401000103 = { - isa = PBXLibraryReference; - path = libQTFileExternalLib.a; - refType = 3; - }; - F6A48AEF02390D0401000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - }; - F6A48AF002390D0401000103 = { - buildPhases = ( - F6A48AF102390D0401000103, - F6A48AF202390D0401000103, - F6A48AF302390D0401000103, - F6A48AF402390D0401000103, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTFileExternalLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTFileExternalLib (Library)"; - productInstallPath = /usr/local/lib; - productName = QTFileExternalLib; - productReference = F6A48AED02390D0401000103; - }; - F6A48AF102390D0401000103 = { - buildActionMask = 2147483647; - files = ( - F6A48AF802390D8901000103, - F6A48AF902390D8901000103, - F6A48AFA02390D8901000103, - F6A48AFB02390D8901000103, - F6A48AFC02390D8901000103, - F6A48AFD02390D8901000103, - F6A48AFE02390D8901000103, - F6A48AFF02390D8901000103, - F6A48B0002390D8901000103, - F6A48B0102390D8901000103, - F6A48B0202390D8901000103, - F6A48B0302390D8901000103, - F6A48B0402390D8901000103, - F6A48B0502390D8901000103, - F6A48B0602390D8901000103, - F6A48B0702390D8901000103, - F6A48B0802390D8901000103, - F6A48B0902390D8901000103, - F6A48B0A02390D8901000103, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF202390D0401000103 = { - buildActionMask = 2147483647; - files = ( - F6A48B0B02390E3701000103, - F6A48B0C02390E3701000103, - F6A48B0D02390E3701000103, - F6A48B0E02390E3701000103, - F6A48B0F02390E3701000103, - F6A48B1002390E3701000103, - F6A48B1102390E3701000103, - F6A48B1202390E3701000103, - F6A48B1302390E3701000103, - F6A48B1402390E3701000103, - F6A48B1502390E3701000103, - F6A48B1602390E3701000103, - F6A48B1702390E3701000103, - F6A48B1802390E3701000103, - F6A48B1902390E3701000103, - F6A48B1A02390E3701000103, - F6A48B1B02390E3701000103, - F6A48B1C02390E3701000103, - F6A48B1D02390E3701000103, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF302390D0401000103 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF402390D0401000103 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF802390D8901000103 = { - fileRef = 68C3962100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AF902390D8901000103 = { - fileRef = 68C3962200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFA02390D8901000103 = { - fileRef = 68C3962300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFB02390D8901000103 = { - fileRef = 68C3962400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFC02390D8901000103 = { - fileRef = 68C3962500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFD02390D8901000103 = { - fileRef = 68C3962600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFE02390D8901000103 = { - fileRef = 68C3962700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFF02390D8901000103 = { - fileRef = 68C3962800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0002390D8901000103 = { - fileRef = 68C3962900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0102390D8901000103 = { - fileRef = 68C3962A00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0202390D8901000103 = { - fileRef = 68C3962B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0302390D8901000103 = { - fileRef = 68C3962C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0402390D8901000103 = { - fileRef = 68C3962D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0502390D8901000103 = { - fileRef = 68C3962E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0602390D8901000103 = { - fileRef = 68C3962F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0702390D8901000103 = { - fileRef = 68C3963000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0802390D8901000103 = { - fileRef = 68C3963100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0902390D8901000103 = { - fileRef = 68C3963200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0A02390D8901000103 = { - fileRef = 68C3963300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0B02390E3701000103 = { - fileRef = 68C3960D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0C02390E3701000103 = { - fileRef = 68C3960E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0D02390E3701000103 = { - fileRef = 68C3960F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0E02390E3701000103 = { - fileRef = 68C3961000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0F02390E3701000103 = { - fileRef = 68C3961100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1002390E3701000103 = { - fileRef = 68C3961200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1102390E3701000103 = { - fileRef = 68C3961300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1202390E3701000103 = { - fileRef = 68C3961400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1302390E3701000103 = { - fileRef = 68C3961500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1402390E3701000103 = { - fileRef = 68C3961600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1502390E3701000103 = { - fileRef = 68C3961700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1602390E3701000103 = { - fileRef = 68C3961800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1702390E3701000103 = { - fileRef = 68C3961900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1802390E3701000103 = { - fileRef = 68C3961A00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1902390E3701000103 = { - fileRef = 68C3961B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1A02390E3701000103 = { - fileRef = 68C3961C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1B02390E3701000103 = { - fileRef = 68C3961D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1C02390E3701000103 = { - fileRef = 68C3961E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1D02390E3701000103 = { - fileRef = 68C3961F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//F60 -//F61 -//F62 -//F63 -//F64 -//FB0 -//FB1 -//FB2 -//FB3 -//FB4 - FBCB7F4C0507F23500A273B4 = { - buildActionMask = 8; - dstPath = /usr/bin; - dstSubfolderSpec = 0; - files = ( - FBCB7F5B0507F2D700A273B4, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - FBCB7F580507F2D100A273B4 = { - fileEncoding = 30; - isa = PBXExecutableFileReference; - name = createuserstreamingdir; - path = QTSSHomeDirectoryModule/createuserstreamingdir; - refType = 4; - }; - FBCB7F5A0507F2D100A273B4 = { - fileRef = FBCB7F580507F2D100A273B4; - isa = PBXBuildFile; - settings = { - }; - }; - FBCB7F5B0507F2D700A273B4 = { - fileRef = FBCB7F580507F2D100A273B4; - isa = PBXBuildFile; - settings = { - }; - }; - FBCB7F5C0507F30000A273B4 = { - buildActionMask = 8; - files = ( - ); - generatedFileNames = ( - ); - isa = PBXShellScriptBuildPhase; - neededFileNames = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 555 ${DSTROOT}/usr/bin/createuserstreamingdir"; - }; - }; - rootObject = 68C3920500C567B67F000001; -} diff --git a/StreamingServer.xcode/project.pbxproj b/StreamingServer.xcode/project.pbxproj deleted file mode 100644 index ecfa875..0000000 --- a/StreamingServer.xcode/project.pbxproj +++ /dev/null @@ -1,21429 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 39; - objects = { - 000DA9E30135948500DD2B4F = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = WebAdmin; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 000DA9E40135948600DD2B4F = { - buildPhases = ( - 000DA9E50135948600DD2B4F, - 000DA9E60135948600DD2B4F, - 000DA9E70135948600DD2B4F, - 000DA9E80135948600DD2B4F, - 00A79FAB01359C5F00DD2B4F, - 000DAB6B013598E400DD2B4F, - 52335F2D04EA47CC0003CA12, - 00A79F8E01359A6200DD2B4F, - 00A79F9001359ACA00DD2B4F, - 00A79F9301359B1500DD2B4F, - 00A79F9401359B1500DD2B4F, - 00A79F9501359B1500DD2B4F, - 0055090A02774E1100DD2B4C, - E926569B0430ED4409DD2838, - E961241C0432443309DD2838, - 00A79FC201359D6900DD2B4F, - 00A79FC801359D6900DD2B4F, - 00A79FF501359D6900DD2B4F, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = WebAdmin; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = WebAdmin; - productInstallPath = /usr/local/lib; - productName = WebAdmin; - productReference = 000DA9E30135948500DD2B4F; - }; - 000DA9E50135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E60135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - 00A7A1430135DF8800DD2B4F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E70135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E80135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DAB6B013598E400DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 00A7A1AE0135E35800DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 003D3EDC0132F64000DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = XMLParser.cpp; - refType = 4; - sourceTree = ""; - }; - 003D3EDD0132F64000DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = XMLParser.h; - refType = 4; - sourceTree = ""; - }; - 003D3EDF0132F64100DD292F = { - fileRef = 003D3EDD0132F64000DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 003D3EE00132F64100DD292F = { - fileRef = 003D3EDC0132F64000DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 004086EC02F0A2ED00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = StreamingLoadTool.cpp; - path = StreamingLoadTool/StreamingLoadTool.cpp; - refType = 4; - sourceTree = ""; - }; - 004086ED02F0A2ED00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingloadtool.conf; - path = StreamingLoadTool/streamingloadtool.conf; - refType = 4; - sourceTree = ""; - }; - 004086EE02F0A2EE00DD2B4C = { - fileRef = 004086EC02F0A2ED00DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 004086EF02F0A2EE00DD2B4C = { - fileRef = 004086ED02F0A2ED00DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2889025B787000DD2B50 = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSHomeDirectoryModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 004E288A025B787100DD2B50 = { - buildPhases = ( - 004E288B025B787100DD2B50, - 004E288C025B787100DD2B50, - 004E288D025B787100DD2B50, - 004E288E025B787100DD2B50, - 004E288F025B787100DD2B50, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSHomeDirectoryModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38720279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSHomeDirectoryModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSHomeDirectoryModule; - productReference = 004E2889025B787000DD2B50; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSHomeDirectoryModule - CFBundleGetInfoString - Supports User Home Directory Streaming - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.homedirectorymodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSHomeDirectoryModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 004E288B025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2893025B798500DD2B50, - 00BC5F62025E827400DD2B50, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288C025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288D025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2894025B798500DD2B50, - 00BC5F63025E827400DD2B50, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288E025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2896025B79F700DD2B50, - F57EED49027EA3AB01FF7AB9, - 004E2897025B79F700DD2B50, - 004E2898025B79F700DD2B50, - 004E2899025B79F700DD2B50, - 004E289B025B79F700DD2B50, - 004E289A025B79F700DD2B50, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288F025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E2890025B798400DD2B50 = { - children = ( - 004E2891025B798400DD2B50, - 004E2892025B798400DD2B50, - 00BC5F60025E827300DD2B50, - 00BC5F61025E827300DD2B50, - FBCB7F580507F2D100A273B4, - ); - isa = PBXGroup; - name = QTSSHomeDirectoryModule; - refType = 4; - sourceTree = ""; - }; - 004E2891025B798400DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = QTSSHomeDirectoryModule.cpp; - path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp; - refType = 4; - sourceTree = ""; - }; - 004E2892025B798400DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = QTSSHomeDirectoryModule.h; - path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h; - refType = 4; - sourceTree = ""; - }; - 004E2893025B798500DD2B50 = { - fileRef = 004E2892025B798400DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2894025B798500DD2B50 = { - fileRef = 004E2891025B798400DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2896025B79F700DD2B50 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2897025B79F700DD2B50 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2898025B79F700DD2B50 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2899025B79F700DD2B50 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E289A025B79F700DD2B50 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E289B025B79F700DD2B50 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0055090A02774E1100DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/WebAdmin/NetSSLeay/SSLeay.pm ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.pl"; - }; - 005B0878013B079200DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - path = "relayconfig.xml-Sample"; - refType = 4; - sourceTree = ""; - }; - 005B0879013B079300DD292F = { - fileRef = 005B0878013B079200DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 0066F5CE016E6AD000DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RelaySession.cpp; - refType = 4; - sourceTree = ""; - }; - 0066F5CF016E6AD000DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RelaySession.h; - refType = 4; - sourceTree = ""; - }; - 0066F5D0016E6AD000DD2B4C = { - fileRef = 0066F5CF016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0066F5D1016E6AD000DD2B4C = { - fileRef = 0066F5CE016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0075360D02EE064000DD2B4C = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_100kbit.mp4; - refType = 4; - sourceTree = ""; - }; - 0075360E02EE064000DD2B4C = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_300kbit.mp4; - refType = 4; - sourceTree = ""; - }; - 0075360F02EE064100DD2B4C = { - fileRef = 0075360D02EE064000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0075361002EE064100DD2B4C = { - fileRef = 0075360E02EE064000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 00759B2B00F2586E00DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 005B0879013B079300DD292F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00759B2E00F2593E00DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Movies; - dstSubfolderSpec = 0; - files = ( - 0082672D01A2F39B00DD2AFC, - FB776F0207DD002E00C0B6CE, - 61B8971A017F4FDD0EDD2AFC, - 0075360F02EE064100DD2B4C, - 61B89719017F4FDD0EDD2AFC, - 0075361002EE064100DD2B4C, - FB776EEF07DCFD6100C0B6CE, - FB776EEE07DCFD6100C0B6CE, - FB776EF107DCFD6100C0B6CE, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00759B3400F259D500DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - 00759B3500F25A0A00DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - 00759B3600F25A0A00DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - 00759B3700F25A8000DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; - }; - 00759B3800F25A8000DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; - }; - 00759B3900F25AF700DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; - }; - 00759B3A00F25AF700DD2B4C = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R ug+rw ${DSTROOT}/Library/QuickTimeStreaming\nchmod 0750 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchmod -R u=rwX,g=rX,o= ${DSTROOT}/Library/QuickTimeStreaming/Config"; - }; - 007870EC00F4E38300DD2B4C = { - isa = PBXTargetDependency; - target = 00E5906700F4DD0500DD2B4C; - targetProxy = FB0D1D6D064AFB71006F2774; - }; - 0082672501A1D6A300DD2AFC = { - isa = PBXFileReference; - lastKnownFileType = text.rtf; - name = 3rdPartyAcknowledgements.rtf; - path = Documentation/3rdPartyAcknowledgements.rtf; - refType = 4; - sourceTree = ""; - }; - 0082672701A1D6A400DD2AFC = { - fileRef = 0082672501A1D6A300DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 0082672B01A2F39A00DD2AFC = { - isa = PBXFileReference; - lastKnownFileType = audio.mp3; - path = sample.mp3; - refType = 4; - sourceTree = ""; - }; - 0082672D01A2F39B00DD2AFC = { - fileRef = 0082672B01A2F39A00DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 008788DE026B412B00DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = DSSALL; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 008788E3026B412B00DD2B4C, - F57EED39027EA0B001FF7AB9, - F57EED3A027EA0B001FF7AB9, - 008788E4026B412B00DD2B4C, - 008788E6026B412C00DD2B4C, - 008788E7026B412C00DD2B4C, - 008788E8026B412C00DD2B4C, - 008788E9026B412C00DD2B4C, - 008788EA026B412C00DD2B4C, - 008788EB026B412C00DD2B4C, - 008788EC026B412C00DD2B4C, - 008788ED026B412C00DD2B4C, - 008788EE026B412C00DD2B4C, - 008788DF026B412B00DD2B4C, - 008788E5026B412B00DD2B4C, - 008788EF026B412C00DD2B4C, - 008788F0026B412C00DD2B4C, - 008788E0026B412B00DD2B4C, - 008788E2026B412B00DD2B4C, - 008788E1026B412B00DD2B4C, - 008788F1026B412C00DD2B4C, - 5269CD670429FFC400DD2EDD, - ); - isa = PBXAggregateTarget; - name = DSS_Generic; - productName = QTSSWithoutSLT; - }; - 008788DF026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C396BA00C567B77F000001; - targetProxy = FB0D1D8C064AFB71006F2774; - }; - 008788E0026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3978800C567B77F000001; - targetProxy = FB0D1D89064AFB71006F2774; - }; - 008788E1026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C397B700C567B77F000001; - targetProxy = FB0D1D87064AFB71006F2774; - }; - 008788E2026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C397C000C567B77F000001; - targetProxy = FB0D1D88064AFB71006F2774; - }; - 008788E3026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1D93064AFB71006F2774; - }; - 008788E4026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D90064AFB71006F2774; - }; - 008788E5026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C398DE00C567B77F000001; - targetProxy = FB0D1D8B064AFB71006F2774; - }; - 008788E6026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D8F064AFB71006F2774; - }; - 008788E7026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C900C567B77F000001; - targetProxy = FB0D1D8E064AFB71006F2774; - }; - 008788E8026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - targetProxy = FB0D1D4E064AFB71006F2774; - }; - 008788E9026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - targetProxy = FB0D1D84064AFB71006F2774; - }; - 008788EA026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399F500C567B77F000001; - targetProxy = FB0D1D2B064AFB71006F2774; - }; - 008788EB026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D68064AFB71006F2774; - }; - 008788EC026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - targetProxy = FB0D1D8D064AFB71006F2774; - }; - 008788ED026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1D21064AFB71006F2774; - }; - 008788EE026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - targetProxy = FB0D1D5B064AFB71006F2774; - }; - 008788EF026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3972C00C567B77F000001; - targetProxy = FB0D1D8A064AFB71006F2774; - }; - 008788F0026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = F533DA97011744B701DD292F; - targetProxy = FB0D1D61064AFB71006F2774; - }; - 008788F1026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 000DA9E40135948600DD2B4F; - targetProxy = FB0D1D86064AFB71006F2774; - }; - 00A79F8E01359A6200DD2B4F = { - buildActionMask = 8; - dstPath = /usr/sbin; - dstSubfolderSpec = 0; - files = ( - 00A7A1B10135E35800DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79F9001359ACA00DD2B4F = { - buildActionMask = 8; - dstPath = "$(SYSTEM_LIBRARY_DIR)/StartupItems/QuickTimeStreamingServer"; - dstSubfolderSpec = 0; - files = ( - 00A7A1B20135E35800DD2B4F, - 00A7A1B30135E35800DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79F9301359B1500DD2B4F = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources"; - }; - 00A79F9401359B1500DD2B4F = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj"; - }; - 00A79F9501359B1500DD2B4F = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/WebAdmin/StartupItems.bproj/English.lproj/Localizable.strings ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj/Localizable.strings"; - }; - 00A79FAB01359C5F00DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/AdminHtml; - dstSubfolderSpec = 0; - files = ( - 00A7A1C70135E46200DD2B4F, - E9ACCA5F013C52EC09DD2838, - 00A7A1C80135E46200DD2B4F, - 846E9B7E0728602900E7A587, - E95AB76F013AC8C009DD2838, - E9ACCA5D013C317C09DD2838, - E96314B0013B155409DD2838, - E96314B1013B155409DD2838, - F551E69E0138190801000102, - 00A7A1C90135E46200DD2B4F, - 00A7A1CA0135E46200DD2B4F, - 00A7A1CB0135E46200DD2B4F, - E9EC923E0137107709DD2838, - 00A7A1CC0135E46200DD2B4F, - 00A7A1CD0135E46200DD2B4F, - 00A7A1CE0135E46200DD2B4F, - 00A7A1CF0135E46200DD2B4F, - 00A7A1D00135E46200DD2B4F, - 00A7A1D10135E46200DD2B4F, - 00A7A1D30135E46200DD2B4F, - 00A7A1D40135E46200DD2B4F, - 00A7A1D50135E46200DD2B4F, - 00A7A1D60135E46200DD2B4F, - 00A7A1D70135E46200DD2B4F, - 00A7A1D80135E46200DD2B4F, - 00A7A1D90135E46200DD2B4F, - 00A7A1DA0135E46200DD2B4F, - F59F643001449BE001000104, - F59F643101449BE001000104, - F59F643201449BE001000104, - F59F643301449BE001000104, - F59F64370144BCEB01000104, - F59F64380144BCEB01000104, - F59F64390144BCEB01000104, - E9686BA501B2D0D309DD2838, - E957C41A01454E2109DD2838, - E9423B940146CCD009DD2838, - E90CF1AC014FDE2809DD2838, - F574E249015FE07001000127, - E9E7E9C5016BDDD609DD2838, - E978DC41017F827D09DD2838, - F56EA4BF0199D1800100010F, - 00CA8FCA01AB113F00DD2B4C, - E924776F01C6CFD309DD2838, - E93DD2F1027876B709DD2838, - E93941060291C82509DD2838, - E98933B802F6140609DD2838, - E98933B902F6140609DD2838, - E97F11EF04313E7C09DD2838, - E97F11F104313E8A09DD2838, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FC201359D6900DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/AdminHtml/html_en; - dstSubfolderSpec = 0; - files = ( - 00A7A1DC0135E46200DD2B4F, - E97D18ED0150316E09DD2838, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FC801359D6900DD2B4F = { - buildActionMask = 8; - dstPath = Library/QuickTimeStreaming/AdminHtml/images; - dstSubfolderSpec = 0; - files = ( - 00A7A1DF0135E46200DD2B4F, - 00A7A1E00135E46200DD2B4F, - E9A7DCF4015180FC09FF1BBE, - 00A7A1E10135E46200DD2B4F, - 00A7A1E20135E46200DD2B4F, - E9A7DCF5015180FC09FF1BBE, - 00A7A1E30135E46200DD2B4F, - 00A7A1E40135E46200DD2B4F, - 00A7A1E50135E46200DD2B4F, - 00A7A1E60135E46200DD2B4F, - 00A7A1E70135E46200DD2B4F, - F5610DA601B5C81501DD2F6B, - F568F9790254EE29010001C8, - F5C3E6EC017CFE25010001C8, - E98FF20B01860AAC09DD2838, - 00A7A1E80135E46200DD2B4F, - 00A7A1E90135E46200DD2B4F, - F56CBE670136D97301000102, - E90CD038016133D109DD2838, - F56CBE680136D97301000102, - 00A7A1EA0135E46200DD2B4F, - 00A7A1EB0135E46200DD2B4F, - 00A7A1EC0135E46200DD2B4F, - 00A7A1ED0135E46200DD2B4F, - 00A7A1EE0135E46200DD2B4F, - E90CD03A016133F309DD2838, - 00A7A1EF0135E46200DD2B4F, - 00A7A1F00135E46200DD2B4F, - 00A7A1F10135E46200DD2B4F, - 00A7A1F20135E46200DD2B4F, - 00A7A1F30135E46200DD2B4F, - 00A7A1F40135E46200DD2B4F, - 00A7A1F50135E46200DD2B4F, - 00A7A1F60135E46200DD2B4F, - 00A7A1F70135E46200DD2B4F, - 00A7A1F80135E46200DD2B4F, - E9029E250188C0DB09DD2838, - E9029E270188C10809DD2838, - 00A7A1FB0135E46200DD2B4F, - 00A7A1FC0135E46200DD2B4F, - 00A7A1FF0135E46200DD2B4F, - 00A7A2000135E46200DD2B4F, - 00A7A2010135E46200DD2B4F, - 00A7A2020135E46200DD2B4F, - F5C7F02701B6CE3601DD2F6B, - F596A33C019319320189D339, - 00A7A2030135E46200DD2B4F, - E9013529018645DF09DD2838, - E901352A018645DF09DD2838, - E901352B018645DF09DD2838, - E901352C018645DF09DD2838, - E901352D018645DF09DD2838, - 00A7A2040135E46200DD2B4F, - 00A7A2050135E46200DD2B4F, - 00A7A2060135E46200DD2B4F, - 00A7A2070135E46200DD2B4F, - 00A7A2080135E46200DD2B4F, - 00A7A2090135E46200DD2B4F, - E9BA8EF0027A14D109DD2838, - E9BA8EF2027A14DA09DD2838, - 00A7A20A0135E46200DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FF501359D6900DD2B4F = { - buildActionMask = 8; - dstPath = Library/QuickTimeStreaming/AdminHtml/includes; - dstSubfolderSpec = 0; - files = ( - 00A7A20B0135E47700DD2B4F, - E9E2F95601C9716609DD2838, - 00A7A20C0135E47700DD2B4F, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A7A0B30135DF8700DD2B4F = { - children = ( - 522ACD4F041CC4220062FFCE, - 00A7A0CC0135DF8700DD2B4F, - ); - isa = PBXGroup; - name = NetSSLeay; - path = WebAdmin/NetSSLeay; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0CC0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = SSLeay.pm; - path = WebAdmin/NetSSLeay/SSLeay.pm; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D00135DF8700DD2B4F = { - children = ( - 00A7A0D10135DF8700DD2B4F, - ); - isa = PBXGroup; - name = src; - path = WebAdmin/src; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D10135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = streamingadminserver.pl; - refType = 4; - sourceTree = ""; - }; - 00A7A0D20135DF8700DD2B4F = { - children = ( - 00A7A0D30135DF8700DD2B4F, - 00A7A0D40135DF8700DD2B4F, - 00A7A0D60135DF8700DD2B4F, - 00A7A0D70135DF8700DD2B4F, - ); - isa = PBXGroup; - name = StartupItems.bproj; - path = WebAdmin/StartupItems.bproj; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D30135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = dummy.c; - refType = 4; - sourceTree = ""; - }; - 00A7A0D40135DF8700DD2B4F = { - children = ( - 00A7A0D50135DF8700DD2B4F, - ); - isa = PBXVariantGroup; - name = Localizable.strings; - path = ""; - refType = 4; - sourceTree = ""; - }; - 00A7A0D50135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.plist.strings; - name = English; - path = English.lproj/Localizable.strings; - refType = 4; - sourceTree = ""; - }; - 00A7A0D60135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.sh; - path = QuickTimeStreamingServer; - refType = 4; - sourceTree = ""; - }; - 00A7A0D70135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.plist; - path = StartupParameters.plist; - refType = 4; - sourceTree = ""; - }; - 00A7A0D80135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver_autostart.conf; - path = WebAdmin/streamingadminserver_autostart.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D90135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver_Darwin.conf; - path = WebAdmin/streamingadminserver_Darwin.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DA0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver_NT.conf; - path = WebAdmin/streamingadminserver_NT.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DB0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver.conf; - path = WebAdmin/streamingadminserver.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DC0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver.pem; - path = WebAdmin/streamingadminserver.pem; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DD0135DF8700DD2B4F = { - children = ( - E9ACCA5E013C52EB09DD2838, - 00A7A0DE0135DF8700DD2B4F, - E98933B602F6140609DD2838, - E98933B702F6140609DD2838, - 00A7A0DF0135DF8700DD2B4F, - E90CF1AB014FDE2709DD2838, - 846E9B7D0728600F00E7A587, - E95AB76D013AC8BF09DD2838, - E978DC40017F827C09DD2838, - F551E69C013818ED01000102, - 00A7A0E00135DF8700DD2B4F, - E9ACCA5C013C317B09DD2838, - 00A7A0E60135DF8700DD2B4F, - 00A7A0E70135DF8700DD2B4F, - E9EC923C0137107609DD2838, - E957C41901454E2009DD2838, - E96314AC013B155309DD2838, - E96314AD013B155309DD2838, - 00A7A0EE0135DF8700DD2B4F, - 00A7A1000135DF8700DD2B4F, - 00A7A12D0135DF8700DD2B4F, - 00A7A1310135DF8700DD2B4F, - E924776E01C6CFD209DD2838, - 00A7A1330135DF8700DD2B4F, - 00A7A1340135DF8700DD2B4F, - E93941050291C82409DD2838, - 00A7A1350135DF8700DD2B4F, - 00A7A1360135DF8700DD2B4F, - F574E248015FE06F01000127, - 00A7A1370135DF8700DD2B4F, - F56EA4BE0199D17E0100010F, - F59F642C01449BDF01000104, - F59F642D01449BDF01000104, - F59F642E01449BDF01000104, - F59F642F01449BDF01000104, - E9423B930146CCCF09DD2838, - E97F11F004313E8A09DD2838, - 00A7A13A0135DF8700DD2B4F, - F59F64340144BCEA01000104, - F59F64350144BCEA01000104, - F59F64360144BCEA01000104, - E9686BA401B2D0D209DD2838, - E97F11EE04313E7C09DD2838, - E9E7E9C4016BDDD509DD2838, - 00A7A13C0135DF8700DD2B4F, - 00A7A13D0135DF8700DD2B4F, - 00A7A13E0135DF8700DD2B4F, - 00A7A13F0135DF8700DD2B4F, - 00A7A1400135DF8700DD2B4F, - 00A7A1410135DF8700DD2B4F, - E93DD2F0027876B609DD2838, - 00A7A1420135DF8700DD2B4F, - 00CA8FC901AB113E00DD2B4C, - ); - isa = PBXGroup; - name = WebAdminHtml; - path = WebAdmin/WebAdminHtml; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DE0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = "adminprotocol-lib.pl"; - refType = 4; - sourceTree = ""; - }; - 00A7A0DF0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = "cgi-lib.pl"; - refType = 4; - sourceTree = ""; - }; - 00A7A0E00135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = connected.html; - refType = 4; - sourceTree = ""; - }; - 00A7A0E60135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = format.html; - refType = 4; - sourceTree = ""; - }; - 00A7A0E70135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = frameset.html; - refType = 4; - sourceTree = ""; - }; - 00A7A0EE0135DF8700DD2B4F = { - children = ( - 00A7A0F10135DF8700DD2B4F, - E97D18EC0150316E09DD2838, - ); - isa = PBXGroup; - path = html_en; - refType = 4; - sourceTree = ""; - }; - 00A7A0F10135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - path = messages; - refType = 4; - sourceTree = ""; - }; - 00A7A1000135DF8700DD2B4F = { - children = ( - F56CBE630136D97301000102, - F56CBE640136D97301000102, - E98FF20A01860AAB09DD2838, - E9A7DCF2015180FB09FF1BBE, - E9A7DCF3015180FB09FF1BBE, - 00A7A1010135DF8700DD2B4F, - 00A7A1020135DF8700DD2B4F, - 00A7A1030135DF8700DD2B4F, - 00A7A1040135DF8700DD2B4F, - 00A7A1050135DF8700DD2B4F, - 00A7A1060135DF8700DD2B4F, - 00A7A1070135DF8700DD2B4F, - 00A7A1080135DF8700DD2B4F, - 00A7A1090135DF8700DD2B4F, - 00A7A10A0135DF8700DD2B4F, - 00A7A10B0135DF8700DD2B4F, - F5610DA501B5C81301DD2F6B, - 00A7A10C0135DF8700DD2B4F, - 00A7A10D0135DF8700DD2B4F, - 00A7A10E0135DF8700DD2B4F, - 00A7A10F0135DF8700DD2B4F, - 00A7A1100135DF8700DD2B4F, - 00A7A1110135DF8700DD2B4F, - 00A7A1120135DF8700DD2B4F, - 00A7A1130135DF8700DD2B4F, - 00A7A1140135DF8700DD2B4F, - 00A7A1150135DF8700DD2B4F, - 00A7A1160135DF8700DD2B4F, - 00A7A1170135DF8700DD2B4F, - F5C3E6EB017CFE24010001C8, - E90CD039016133F209DD2838, - 00A7A1180135DF8700DD2B4F, - E9BA8EF1027A14D909DD2838, - 00A7A1190135DF8700DD2B4F, - 00A7A11A0135DF8700DD2B4F, - 00A7A11D0135DF8700DD2B4F, - 00A7A11E0135DF8700DD2B4F, - E9029E240188C0DA09DD2838, - E9029E260188C10709DD2838, - E9BA8EEF027A14D009DD2838, - 00A7A1210135DF8700DD2B4F, - 00A7A1220135DF8700DD2B4F, - 00A7A1230135DF8700DD2B4F, - 00A7A1240135DF8700DD2B4F, - F596A33B019319300189D339, - F568F9780254EE28010001C8, - F5C7F02601B6CE3401DD2F6B, - 00A7A1250135DF8700DD2B4F, - E9013524018645DE09DD2838, - E9013525018645DE09DD2838, - E9013526018645DE09DD2838, - E9013527018645DE09DD2838, - E9013528018645DE09DD2838, - 00A7A1260135DF8700DD2B4F, - E90CD037016133D009DD2838, - 00A7A1270135DF8700DD2B4F, - 00A7A1280135DF8700DD2B4F, - 00A7A1290135DF8700DD2B4F, - 00A7A12A0135DF8700DD2B4F, - 00A7A12B0135DF8700DD2B4F, - 00A7A12C0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = images; - refType = 4; - sourceTree = ""; - }; - 00A7A1010135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = apple_logo.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1020135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = arrow_down.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1030135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = back.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1040135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = blackpixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1050135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = clearpixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1060135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_alert.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1070135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_bottom.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1080135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_bottom_sm.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1090135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_middle.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A10A0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_middle_sm.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A10B0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_qtss.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A10C0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_top.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A10D0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_top_sm.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A10E0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = divider.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A10F0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = divider_vert.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1100135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dot.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1110135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = folder.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1120135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = greypixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1130135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = headerpixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1140135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = help.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1150135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = highlight.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1160135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = horz_line.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1170135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_alert.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1180135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_folder.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1190135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_movie.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A11A0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_movie_off.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A11D0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_playlist.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A11E0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_playlist_off.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1210135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = LB_arrow_dn.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1220135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = LB_arrow_up.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1230135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = line.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1240135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = mp3_file.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1250135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = pixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1260135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = sort_arrow.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1270135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = spacer.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1280135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = stripes_gray.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1290135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = stripes_gray_dark.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A12A0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = trashcan.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A12B0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = vert_line.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A12C0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = whitepixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A12D0135DF8700DD2B4F = { - children = ( - 00A7A12E0135DF8700DD2B4F, - E9E2F95501C9716509DD2838, - 00A7A12F0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = includes; - refType = 4; - sourceTree = ""; - }; - 00A7A12E0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.javascript; - path = draglib.js; - refType = 4; - sourceTree = ""; - }; - 00A7A12F0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.javascript; - path = standardNav.js; - refType = 4; - sourceTree = ""; - }; - 00A7A1310135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = login.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1330135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = nav.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1340135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = parse_xml.cgi; - refType = 4; - sourceTree = ""; - }; - 00A7A1350135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = "playlist-lib.pl"; - refType = 4; - sourceTree = ""; - }; - 00A7A1360135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = playlist_detail.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1370135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = playlists.html; - refType = 4; - sourceTree = ""; - }; - 00A7A13A0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = setup_assistant.html; - refType = 4; - sourceTree = ""; - }; - 00A7A13C0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = tag_formats.pl; - refType = 4; - sourceTree = ""; - }; - 00A7A13D0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = tag_types.pl; - refType = 4; - sourceTree = ""; - }; - 00A7A13E0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = tag_vals.pl; - refType = 4; - sourceTree = ""; - }; - 00A7A13F0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = template.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1400135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = template_blank.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1410135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = top.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1420135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = welcome.html; - refType = 4; - sourceTree = ""; - }; - 00A7A1430135DF8800DD2B4F = { - fileRef = 00A7A0D30135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1AE0135E35800DD2B4F = { - fileRef = 00A7A0D80135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1B10135E35800DD2B4F = { - fileRef = 00A7A0D10135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1B20135E35800DD2B4F = { - fileRef = 00A7A0D60135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1B30135E35800DD2B4F = { - fileRef = 00A7A0D70135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1C70135E46200DD2B4F = { - fileRef = 00A7A0DE0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1C80135E46200DD2B4F = { - fileRef = 00A7A0DF0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1C90135E46200DD2B4F = { - fileRef = 00A7A0E00135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CA0135E46200DD2B4F = { - fileRef = 00A7A0E60135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CB0135E46200DD2B4F = { - fileRef = 00A7A0E70135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CC0135E46200DD2B4F = { - fileRef = 00A7A1310135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CD0135E46200DD2B4F = { - fileRef = 00A7A1330135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CE0135E46200DD2B4F = { - fileRef = 00A7A1340135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1CF0135E46200DD2B4F = { - fileRef = 00A7A1350135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D00135E46200DD2B4F = { - fileRef = 00A7A1360135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D10135E46200DD2B4F = { - fileRef = 00A7A1370135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D30135E46200DD2B4F = { - fileRef = 00A7A13A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D40135E46200DD2B4F = { - fileRef = 00A7A13C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D50135E46200DD2B4F = { - fileRef = 00A7A13D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D60135E46200DD2B4F = { - fileRef = 00A7A13E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D70135E46200DD2B4F = { - fileRef = 00A7A13F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D80135E46200DD2B4F = { - fileRef = 00A7A1400135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1D90135E46200DD2B4F = { - fileRef = 00A7A1410135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1DA0135E46200DD2B4F = { - fileRef = 00A7A1420135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1DC0135E46200DD2B4F = { - fileRef = 00A7A0F10135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1DF0135E46200DD2B4F = { - fileRef = 00A7A1010135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E00135E46200DD2B4F = { - fileRef = 00A7A1020135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E10135E46200DD2B4F = { - fileRef = 00A7A1030135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E20135E46200DD2B4F = { - fileRef = 00A7A1040135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E30135E46200DD2B4F = { - fileRef = 00A7A1050135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E40135E46200DD2B4F = { - fileRef = 00A7A1060135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E50135E46200DD2B4F = { - fileRef = 00A7A1070135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E60135E46200DD2B4F = { - fileRef = 00A7A1080135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E70135E46200DD2B4F = { - fileRef = 00A7A1090135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E80135E46200DD2B4F = { - fileRef = 00A7A10A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1E90135E46200DD2B4F = { - fileRef = 00A7A10B0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EA0135E46200DD2B4F = { - fileRef = 00A7A10C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EB0135E46200DD2B4F = { - fileRef = 00A7A10D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EC0135E46200DD2B4F = { - fileRef = 00A7A10E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1ED0135E46200DD2B4F = { - fileRef = 00A7A10F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EE0135E46200DD2B4F = { - fileRef = 00A7A1100135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1EF0135E46200DD2B4F = { - fileRef = 00A7A1110135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F00135E46200DD2B4F = { - fileRef = 00A7A1120135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F10135E46200DD2B4F = { - fileRef = 00A7A1130135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F20135E46200DD2B4F = { - fileRef = 00A7A1140135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F30135E46200DD2B4F = { - fileRef = 00A7A1150135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F40135E46200DD2B4F = { - fileRef = 00A7A1160135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F50135E46200DD2B4F = { - fileRef = 00A7A1170135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F60135E46200DD2B4F = { - fileRef = 00A7A1180135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F70135E46200DD2B4F = { - fileRef = 00A7A1190135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1F80135E46200DD2B4F = { - fileRef = 00A7A11A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1FB0135E46200DD2B4F = { - fileRef = 00A7A11D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1FC0135E46200DD2B4F = { - fileRef = 00A7A11E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A1FF0135E46200DD2B4F = { - fileRef = 00A7A1210135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2000135E46200DD2B4F = { - fileRef = 00A7A1220135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2010135E46200DD2B4F = { - fileRef = 00A7A1230135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2020135E46200DD2B4F = { - fileRef = 00A7A1240135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2030135E46200DD2B4F = { - fileRef = 00A7A1250135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2040135E46200DD2B4F = { - fileRef = 00A7A1260135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2050135E46200DD2B4F = { - fileRef = 00A7A1270135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2060135E46200DD2B4F = { - fileRef = 00A7A1280135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2070135E46200DD2B4F = { - fileRef = 00A7A1290135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2080135E46200DD2B4F = { - fileRef = 00A7A12A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A2090135E46200DD2B4F = { - fileRef = 00A7A12B0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A20A0135E46200DD2B4F = { - fileRef = 00A7A12C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A20B0135E47700DD2B4F = { - fileRef = 00A7A12E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A7A20C0135E47700DD2B4F = { - fileRef = 00A7A12F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; - }; - 00A90E1B029EBB6300DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_Dynamic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E1D029EBBC300DD2B4C, - 00A90E1E029EBC1600DD2B4C, - 00A90E24029EBF5300DD2B4C, - 00A90E25029EC03100DD2B4C, - 00A90E23029EBF5300DD2B4C, - 00A90E20029EBD9600DD2B4C, - 00A90E22029EBEA400DD2B4C, - 00A90E26029EC0A600DD2B4C, - 00A90E21029EBE4000DD2B4C, - 00A90E1C029EBB8500DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules_Dynamic; - productName = APIModules_Dynamic; - }; - 00A90E1C029EBB8500DD2B4C = { - isa = PBXTargetDependency; - target = F5E91D8702775D2501DD2AFC; - targetProxy = FB0D1DDE064AFB71006F2774; - }; - 00A90E1D029EBBC300DD2B4C = { - isa = PBXTargetDependency; - target = 004E288A025B787100DD2B50; - targetProxy = FB0D1D3A064AFB71006F2774; - }; - 00A90E1E029EBC1600DD2B4C = { - isa = PBXTargetDependency; - target = B6494F960279F7500BDD2A6C; - targetProxy = FB0D1DD2064AFB71006F2774; - }; - 00A90E1F029EBCC600DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E1B029EBB6300DD2B4C; - targetProxy = FB0D1DB1064AFB71006F2774; - }; - 00A90E20029EBD9600DD2B4C = { - isa = PBXTargetDependency; - target = F5E91DCD0277603301DD2AFC; - targetProxy = FB0D1D2E064AFB71006F2774; - }; - 00A90E21029EBE4000DD2B4C = { - isa = PBXTargetDependency; - target = 68C3993400C567B77F000001; - targetProxy = FB0D1DDB064AFB71006F2774; - }; - 00A90E22029EBEA400DD2B4C = { - isa = PBXTargetDependency; - target = 68C3994300C567B77F000001; - targetProxy = FB0D1DD5064AFB71006F2774; - }; - 00A90E23029EBF5300DD2B4C = { - isa = PBXTargetDependency; - target = 68C3995200C567B77F000001; - targetProxy = FB0D1D29064AFB71006F2774; - }; - 00A90E24029EBF5300DD2B4C = { - isa = PBXTargetDependency; - target = 68C3996200C567B77F000001; - targetProxy = FB0D1DD7064AFB71006F2774; - }; - 00A90E25029EC03100DD2B4C = { - isa = PBXTargetDependency; - target = 68C3997B00C567B77F000001; - targetProxy = FB0D1D4A064AFB71006F2774; - }; - 00A90E26029EC0A600DD2B4C = { - isa = PBXTargetDependency; - target = F5E91DDD0277603301DD2AFC; - targetProxy = FB0D1DD1064AFB71006F2774; - }; - 00A90E27029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E28029EC2E700DD2B4C; - targetProxy = FB0D1DB2064AFB71006F2774; - }; - 00A90E28029EC2E700DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_Static; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E29029EC2E700DD2B4C, - 00A90E2A029EC2E700DD2B4C, - 00A90E2B029EC2E700DD2B4C, - 00A90E2C029EC2E700DD2B4C, - 00A90E2D029EC2E700DD2B4C, - 00A90E2E029EC2E700DD2B4C, - 00A90E2F029EC2E700DD2B4C, - 00A90E30029EC2E700DD2B4C, - 00A90E31029EC2E700DD2B4C, - B6DC980302FB313E0BDD2A6C, - 00A90E32029EC2E700DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules_Static; - productName = APIModules_Static; - }; - 00A90E29029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398E000C567B77F000001; - targetProxy = FB0D1DCA064AFB71006F2774; - }; - 00A90E2A029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C399AF00C567B77F000001; - targetProxy = FB0D1DC1064AFB71006F2774; - }; - 00A90E2B029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398E800C567B77F000001; - targetProxy = FB0D1D4B064AFB71006F2774; - }; - 00A90E2C029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3998A00C567B77F000001; - targetProxy = FB0D1D7D064AFB71006F2774; - }; - 00A90E2D029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398F100C567B77F000001; - targetProxy = FB0D1DBC064AFB71006F2774; - }; - 00A90E2E029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3991900C567B77F000001; - targetProxy = FB0D1DC9064AFB71006F2774; - }; - 00A90E2F029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = B62C45C6012B21880BDD2A6C; - targetProxy = FB0D1DC8064AFB71006F2774; - }; - 00A90E30029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3997200C567B77F000001; - targetProxy = FB0D1DC7064AFB71006F2774; - }; - 00A90E31029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398FA00C567B77F000001; - targetProxy = FB0D1DC6064AFB71006F2774; - }; - 00A90E32029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3992200C567B77F000001; - targetProxy = FB0D1DC5064AFB71006F2774; - }; - 00A90E33029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E28029EC2E700DD2B4C; - targetProxy = FB0D1D36064AFB71006F2774; - }; - 00A90E34029ECF7E00DD2B4C = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D41064AFB71006F2774; - }; - 00B8FC1600F4E32D00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1D1A064AFB71006F2774; - }; - 00B8FC1700F4E32D00DD2B4C = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00BC5F60025E827300DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = DirectoryInfo.cpp; - path = QTSSHomeDirectoryModule/DirectoryInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 00BC5F61025E827300DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = DirectoryInfo.h; - path = QTSSHomeDirectoryModule/DirectoryInfo.h; - refType = 4; - sourceTree = ""; - }; - 00BC5F62025E827400DD2B50 = { - fileRef = 00BC5F61025E827300DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 00BC5F63025E827400DD2B50 = { - fileRef = 00BC5F60025E827300DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 00CA8FC901AB113E00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = startplaylists.pl; - refType = 4; - sourceTree = ""; - }; - 00CA8FCA01AB113F00DD2B4C = { - fileRef = 00CA8FC901AB113E00DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 00D2D75600F4E88000DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 004086EF02F0A2EE00DD2B4C, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00E58F9000F4D95A00DD2B4C = { - children = ( - 004086EC02F0A2ED00DD2B4C, - 00E58F9100F4DA8200DD2B4C, - ); - isa = PBXGroup; - name = StreamingLoadTool; - path = ""; - refType = 4; - sourceTree = ""; - }; - 00E58F9100F4DA8200DD2B4C = { - children = ( - 004086ED02F0A2ED00DD2B4C, - ); - isa = PBXGroup; - name = "Supporting Files"; - path = ""; - refType = 4; - sourceTree = ""; - }; - 00E5906600F4DD0400DD2B4C = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = StreamingLoadTool; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00E5906700F4DD0500DD2B4C = { - buildPhases = ( - 00E5906800F4DD0500DD2B4C, - 00E5906900F4DD0500DD2B4C, - 00E5906B00F4DD0500DD2B4C, - 00E5907300F4DD0500DD2B4C, - 00D2D75600F4E88000DD2B4C, - 52335F2E04EA47D60003CA12, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = StreamingLoadTool; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00B8FC1600F4E32D00DD2B4C, - 00E5907900F4DD6000DD2B4C, - 00E5907A00F4DD6000DD2B4C, - 00E5907B00F4DD6000DD2B4C, - 00E5907C00F4DD6000DD2B4C, - 00E5907D00F4DD6000DD2B4C, - 00E5907E00F4DD6A00DD2B4C, - ); - isa = PBXToolTarget; - name = StreamingLoadTool; - productInstallPath = /usr/bin; - productName = SpamPro; - productReference = 00E5906600F4DD0400DD2B4C; - }; - 00E5906800F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5906900F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - 004086EE02F0A2EE00DD2B4C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5906B00F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - 00E5906D00F4DD0500DD2B4C, - F57EED60027EA94401FF7AB9, - 00B8FC1700F4E32D00DD2B4C, - 00E5906E00F4DD0500DD2B4C, - 00E5906F00F4DD0500DD2B4C, - 00E5907000F4DD0500DD2B4C, - 00E5907100F4DD0500DD2B4C, - 00E5907200F4DD0500DD2B4C, - 00E5907500F4DD2C00DD2B4C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5906D00F4DD0500DD2B4C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5906E00F4DD0500DD2B4C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5906F00F4DD0500DD2B4C = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907000F4DD0500DD2B4C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907100F4DD0500DD2B4C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907200F4DD0500DD2B4C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907300F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 00E5907500F4DD2C00DD2B4C = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 00E5907900F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DA6064AFB71006F2774; - }; - 00E5907A00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D35064AFB71006F2774; - }; - 00E5907B00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - targetProxy = FB0D1DB5064AFB71006F2774; - }; - 00E5907C00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - targetProxy = FB0D1DB4064AFB71006F2774; - }; - 00E5907D00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D2D064AFB71006F2774; - }; - 00E5907E00F4DD6A00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1DB3064AFB71006F2774; - }; -//000 -//001 -//002 -//003 -//004 -//010 -//011 -//012 -//013 -//014 - 0138E52700C5C0DD7F000001 = { - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - OPTIMIZATION_CFLAGS = "-O0"; - ZERO_LINK = YES; - }; - isa = PBXBuildStyle; - name = Development; - }; - 0138E52800C5C0DD7F000001 = { - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - ZERO_LINK = NO; - }; - isa = PBXBuildStyle; - name = Deployment; - }; - 0138E52A00C5C1787F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52B00C5C22A7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52C00C5C22A7F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52D00C5C22A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52E00C5C22A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53700C6A7E27F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53800C6A7E27F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53900C6A7E27F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53A00C6A7E27F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53B00C6A8B97F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53C00C6A8B97F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53D00C6A8B97F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53E00C6A8B97F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53F00C6A9C67F000001 = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54000C6AACF7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54100C6AACF7F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54200C6AACF7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54300C6AACF7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54400C6AC357F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54500C6AC357F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54600C6AC357F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54700C6AC357F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E56E00C6B15A7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E56F00C6B15A7F000001 = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57000C6B15A7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57100C6B15A7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57200C6B15A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57300C6B15A7F000001 = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57400C6B15A7F000001 = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57500C6B15A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57600C6B15A7F000001 = { - fileRef = 68C396AB00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57700C6B15A7F000001 = { - fileRef = 68C396AE00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57800C6B15A7F000001 = { - fileRef = 68C3969F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57A00C6B15A7F000001 = { - fileRef = 68C396A200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57C00C6B15A7F000001 = { - fileRef = 68C396A100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57D00C6B15A7F000001 = { - fileRef = 68C396A900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E57F00C6B15A7F000001 = { - fileRef = 68C396A000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E58200C6B3A57F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D2F064AFB71006F2774; - }; - 0138E58300C6B3A57F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//010 -//011 -//012 -//013 -//014 -//280 -//281 -//282 -//283 -//284 - 287CBF2800D174BE11DD2B4C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//280 -//281 -//282 -//283 -//284 -//480 -//481 -//482 -//483 -//484 - 482C16F104CF5700003E91E5 = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = DSS_Generic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 482C16F204CF575A003E91E5, - 482C16F304CF5773003E91E5, - ); - isa = PBXAggregateTarget; - name = DSS; - productName = DSS_Generic; - }; - 482C16F204CF575A003E91E5 = { - isa = PBXTargetDependency; - target = 008788DE026B412B00DD2B4C; - targetProxy = FB0D1D67064AFB71006F2774; - }; - 482C16F304CF5773003E91E5 = { - isa = PBXTargetDependency; - target = E98FD95B02F5BC3309DD2838; - targetProxy = FB0D1D55064AFB71006F2774; - }; - 484082A003D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - 484082AF03D78E3600DD2838, - 484082B203D78E3600DD2838, - 484082B303D78E4A00DD2838, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A103D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - 484082B003D78E3600DD2838, - 484082B103D78E3600DD2838, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A203D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - 484082B403D78E5D00DD2838, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A303D78E0900DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 484082A403D78E0900DD2838 = { - buildPhases = ( - 484082A003D78E0900DD2838, - 484082A103D78E0900DD2838, - 484082A203D78E0900DD2838, - 484082A303D78E0900DD2838, - 484082B503D78E6B00DD2838, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = broadcasterctl; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXToolTarget; - name = broadcasterctl; - productInstallPath = /usr/bin; - productName = broadcasterctl; - productReference = 484082A503D78E0900DD2838; - }; - 484082A503D78E0900DD2838 = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = broadcasterctl; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 484082A803D78E3600DD2838 = { - children = ( - 484082AA03D78E3600DD2838, - 484082AB03D78E3600DD2838, - 484082AC03D78E3600DD2838, - 484082AD03D78E3600DD2838, - 484082AE03D78E3600DD2838, - ); - isa = PBXGroup; - path = broadcasterctl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 484082AA03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcasterAdminController.h; - refType = 4; - sourceTree = ""; - }; - 484082AB03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = BroadcasterAdminController.m; - refType = 4; - sourceTree = ""; - }; - 484082AC03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - path = broadcasterctl.1; - refType = 4; - sourceTree = ""; - }; - 484082AD03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = broadcasterctl_main.m; - refType = 4; - sourceTree = ""; - }; - 484082AE03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcasterRemoteAdmin.h; - refType = 4; - sourceTree = ""; - }; - 484082AF03D78E3600DD2838 = { - fileRef = 484082AA03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B003D78E3600DD2838 = { - fileRef = 484082AB03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B103D78E3600DD2838 = { - fileRef = 484082AD03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B203D78E3600DD2838 = { - fileRef = 484082AE03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B303D78E4A00DD2838 = { - fileRef = 68C3920C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B403D78E5D00DD2838 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B503D78E6B00DD2838 = { - buildActionMask = 8; - dstPath = /usr/share/man/man1/; - dstSubfolderSpec = 0; - files = ( - 484082B603D78E9F00DD2838, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 484082B603D78E9F00DD2838 = { - fileRef = 484082AC03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; -//480 -//481 -//482 -//483 -//484 -//520 -//521 -//522 -//523 -//524 - 520F71F2070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = qtpasswd; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F4070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSFilePrivsModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F5070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = RTPFileGen; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F7070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTFileTest; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F9070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSampleLister; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FB070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSDemoSMILModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FC070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSSpamDefenseModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FD070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTRTPGen; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FF070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = StreamingProxy; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7201070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QuickTimeStreamingServer; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7203070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTBroadcaster; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7205070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTTrackInfo; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7207070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTRTPFileTest; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7209070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSDPGen; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F720B070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = PlaylistBroadcaster; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F720D070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTFileInfo; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F720F070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSDemoAuthorizationModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7210070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSRawFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F723B070B8F7600B604C1 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B62C45C6012B21880BDD2A6C; - remoteInfo = "QTSSMP3StreamingModule (Library)"; - }; - 520F723C070B8F7600B604C1 = { - isa = PBXTargetDependency; - target = B62C45C6012B21880BDD2A6C; - targetProxy = 520F723B070B8F7600B604C1; - }; - 522ACD4F041CC4220062FFCE = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - name = SSLeay.c; - path = WebAdmin/NetSSLeay/SSLeay.c; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 522ACD55041CC52B0062FFCE = { - isa = PBXFileReference; - lastKnownFileType = file; - name = libperl.dylib; - path = /System/Library/Perl/darwin/CORE/libperl.dylib; - refType = 0; - sourceTree = ""; - }; - 522ACD57041CC5700062FFCE = { - isa = PBXFileReference; - lastKnownFileType = "compiled.mach-o.dylib"; - name = libcrypto.dylib; - path = /usr/lib/libcrypto.dylib; - refType = 0; - sourceTree = ""; - }; - 522ACD59041CC5E90062FFCE = { - isa = PBXFileReference; - lastKnownFileType = "compiled.mach-o.dylib"; - name = libssl.0.9.dylib; - path = /usr/lib/libssl.0.9.dylib; - refType = 0; - sourceTree = ""; - }; - 522B6D3804E1708000244363 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - 52335F2D04EA47CC0003CA12 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingadminserver_autostart.conf"; - }; - 52335F2E04EA47D60003CA12 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingloadtool.conf"; - }; - 5264A2C0041FD10500B9CAA7 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - 5269CD670429FFC400DD2EDD = { - isa = PBXTargetDependency; - target = 484082A403D78E0900DD2838; - targetProxy = FB0D1D85064AFB71006F2774; - }; - 5273046504303F0B000ECF53 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chown 76:80 ${DSTROOT}/Library/QuickTimeStreaming\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Movies\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Playlists\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - 52E30B0A041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0B041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0C041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - 52E30B11041DD21600FFB433, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0D041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - 52E30B15041DD22700FFB433, - 52E30B18041DD22B00FFB433, - 52E30B19041DD23100FFB433, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0E041DD13500FFB433 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 52E30B0F041DD13500FFB433 = { - buildPhases = ( - 52E30B0A041DD13500FFB433, - 52E30B0B041DD13500FFB433, - 52E30B0C041DD13500FFB433, - 52E30B0D041DD13500FFB433, - 52E30B0E041DD13500FFB433, - 52E30B1A041DD25100FFB433, - ); - buildSettings = { - HEADER_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; - LIBRARY_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; - OTHER_CFLAGS = "-g -pipe -pipe -fno-common -no-cpp-precomp -flat_namespace -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing"; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = SSLeay.bundle; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - ); - isa = PBXBundleTarget; - name = SSLeay.bundle; - productInstallPath = "$(USER_LIBRARY_DIR)/Bundles"; - productName = SSLeay.bundle; - productReference = 52E30B10041DD13500FFB433; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - - CFBundleGetInfoString - - CFBundleIconFile - - CFBundleIdentifier - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - - CFBundlePackageType - BNDL - CFBundleShortVersionString - - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 52E30B10041DD13500FFB433 = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = SSLeay.bundle.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 52E30B11041DD21600FFB433 = { - fileRef = 522ACD4F041CC4220062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B15041DD22700FFB433 = { - fileRef = 522ACD55041CC52B0062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B18041DD22B00FFB433 = { - fileRef = 522ACD57041CC5700062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B19041DD23100FFB433 = { - fileRef = 522ACD59041CC5E90062FFCE; - isa = PBXBuildFile; - settings = { - }; - }; - 52E30B1A041DD25100FFB433 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${TARGET_BUILD_DIR}/SSLeay.bundle.bundle/Contents/MacOS/SSLeay.bundle ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.bundle"; - }; -//520 -//521 -//522 -//523 -//524 -//610 -//611 -//612 -//613 -//614 - 61B89716017F4FDD0EDD2AFC = { - isa = PBXFileReference; - lastKnownFileType = video.quicktime; - path = sample_300kbit.mov; - refType = 4; - sourceTree = ""; - }; - 61B89717017F4FDD0EDD2AFC = { - isa = PBXFileReference; - lastKnownFileType = video.quicktime; - path = sample_100kbit.mov; - refType = 4; - sourceTree = ""; - }; - 61B89719017F4FDD0EDD2AFC = { - fileRef = 61B89716017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 61B8971A017F4FDD0EDD2AFC = { - fileRef = 61B89717017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 61E7BB7F01A1D4AB0EDD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Docs; - dstSubfolderSpec = 0; - files = ( - 0082672701A1D6A400DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; -//610 -//611 -//612 -//613 -//614 -//680 -//681 -//682 -//683 -//684 - 68C3920500C567B67F000001 = { - buildSettings = { - }; - buildStyles = ( - 0138E52700C5C0DD7F000001, - 0138E52800C5C0DD7F000001, - ); - hasScannedForEncodings = 1; - isa = PBXProject; - mainGroup = 68C3920600C567B67F000001; - productRefGroup = 68C3967800C567B77F000001; - projectDirPath = ""; - targets = ( - 68C396B800C567B77F000001, - 482C16F104CF5700003E91E5, - 008788DE026B412B00DD2B4C, - F5E91E2302786F1501DD2AFC, - 00A90E28029EC2E700DD2B4C, - 00A90E1B029EBB6300DD2B4C, - 68C398DE00C567B77F000001, - F51C62E30279D3BC01DD2AFC, - 68C396BA00C567B77F000001, - 68C3972C00C567B77F000001, - F56B5A610278ADD701DD2AFC, - B649D5CB02B97F170BDD2A6C, - F533DA97011744B701DD292F, - 68C3978800C567B77F000001, - 68C397B700C567B77F000001, - 00E5906700F4DD0500DD2B4C, - 68C397C000C567B77F000001, - 68C396F900C567B77F000001, - 68C3970300C567B77F000001, - 68C396D100C567B77F000001, - 68C396DB00C567B77F000001, - 68C396BC00C567B77F000001, - 68C396E500C567B77F000001, - 68C396EF00C567B77F000001, - 68C3970D00C567B77F000001, - 68C3971700C567B77F000001, - 68C3987300C567B77F000001, - 68C39A3600C567B77F000001, - 68C399EA00C567B77F000001, - 68C3987F00C567B77F000001, - 68C399F500C567B77F000001, - 68C399C100C567B77F000001, - 68C398E000C567B77F000001, - 68C399D800C567B77F000001, - F6A48AF002390D0401000103, - 68C39A0900C567B77F000001, - 68C399C900C567B77F000001, - 68C39A0000C567B77F000001, - 68C39A4700C567B77F000001, - 68C396C600C567B77F000001, - 68C399AF00C567B77F000001, - 68C398E800C567B77F000001, - 68C3998A00C567B77F000001, - 68C398F100C567B77F000001, - 68C3991900C567B77F000001, - B62C45C6012B21880BDD2A6C, - 68C398FA00C567B77F000001, - 68C3997200C567B77F000001, - 68C3992200C567B77F000001, - F5E91D0E027758E801DD2AFC, - F5E91D3102775C5601DD2AFC, - F5E91DB90277603301DD2AFC, - 68C3996200C567B77F000001, - 68C3997B00C567B77F000001, - F5E91D2002775B5E01DD2AFC, - 68C3995200C567B77F000001, - F5E91D6902775D2501DD2AFC, - 004E288A025B787100DD2B50, - F5E91DCD0277603301DD2AFC, - B6DC97FB02FB2EAB0BDD2A6C, - F5E91D9E02775EEC01DD2AFC, - 68C3994300C567B77F000001, - F5E91D4002775C5601DD2AFC, - B6494F960279F7500BDD2A6C, - F5E91DDD0277603301DD2AFC, - 68C3993400C567B77F000001, - F5E91D7802775D2501DD2AFC, - F5E91D8702775D2501DD2AFC, - 000DA9E40135948600DD2B4F, - F57EED24027E9E1201FF7AB9, - F57EED29027E9E1201FF7AB9, - E98FD95B02F5BC3309DD2838, - 484082A403D78E0900DD2838, - 52E30B0F041DD13500FFB433, - ); - }; - 68C3920600C567B67F000001 = { - children = ( - 68C3920700C567B67F000001, - 00E58F9000F4D95A00DD2B4C, - 68C3921300C567B67F000001, - 68C3927300C567B67F000001, - 68C392BC00C567B67F000001, - F533DA8B011744B601DD292F, - 68C392F200C567B67F000001, - 68C392E900C567B67F000001, - 68C394D900C567B67F000001, - 68C3963A00C567B77F000001, - 68C395E600C567B77F000001, - 68C3946D00C567B67F000001, - 68C3947900C567B67F000001, - 68C395B700C567B77F000001, - 68C395D100C567B77F000001, - 68C3960B00C567B77F000001, - 68C395C000C567B77F000001, - 68C3960000C567B77F000001, - 68C3964D00C567B77F000001, - 68C395F300C567B77F000001, - F57EED2F027E9EDD01FF7AB9, - 68C3930600C567B67F000001, - 484082A803D78E3600DD2838, - 68C3965C00C567B77F000001, - 68C3967800C567B77F000001, - DB5FB48607C42A3D00A894EA, - DB5FB4F907C433BC00A894EA, - ); - isa = PBXGroup; - name = StreamingServer; - refType = 4; - sourceTree = ""; - }; - 68C3920700C567B67F000001 = { - children = ( - 68C3920B00C567B67F000001, - 68C3920C00C567B67F000001, - B66082C20337F1DF0BDD2A6C, - 68C3920E00C567B67F000001, - 0082672B01A2F39A00DD2AFC, - FB776F0007DD002400C0B6CE, - FB776EE607DCFD4C00C0B6CE, - FB776EE707DCFD4C00C0B6CE, - FB776EE907DCFD4C00C0B6CE, - 61B89716017F4FDD0EDD2AFC, - 61B89717017F4FDD0EDD2AFC, - 0075360D02EE064000DD2B4C, - 0075360E02EE064000DD2B4C, - 005B0878013B079200DD292F, - 0082672501A1D6A300DD2AFC, - ); - isa = PBXGroup; - name = "Supporting Files"; - refType = 4; - sourceTree = ""; - }; - 68C3920B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PlatformHeader.h; - refType = 4; - sourceTree = ""; - }; - 68C3920C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = revision.h; - refType = 4; - sourceTree = ""; - }; - 68C3920E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = streamingserver.xml; - refType = 4; - sourceTree = ""; - }; - 68C3921300C567B67F000001 = { - children = ( - 68C3922900C567B67F000001, - 68C3921900C567B67F000001, - 68C3923200C567B67F000001, - 68C3923B00C567B67F000001, - 68C3924400C567B67F000001, - 68C3924D00C567B67F000001, - 68C3925600C567B67F000001, - 68C3925F00C567B67F000001, - 68C3926800C567B67F000001, - ); - isa = PBXGroup; - path = QTFileTools; - refType = 4; - sourceTree = ""; - }; - 68C3921900C567B67F000001 = { - children = ( - 68C3921B00C567B67F000001, - ); - isa = PBXGroup; - name = QTSDPGen; - path = QTSDPGen.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3921B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSDPGen.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3922900C567B67F000001 = { - children = ( - 68C3922B00C567B67F000001, - ); - isa = PBXGroup; - name = QTRTPGen; - path = QTRTPGen.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3922B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTRTPGen.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3923200C567B67F000001 = { - children = ( - 68C3923400C567B67F000001, - ); - isa = PBXGroup; - name = QTRTPFileTest; - path = QTRTPFileTest.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3923400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTRTPFileTest.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3923B00C567B67F000001 = { - children = ( - 68C3923D00C567B67F000001, - ); - isa = PBXGroup; - name = QTSampleLister; - path = QTSampleLister.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3923D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSampleLister.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3924400C567B67F000001 = { - children = ( - 68C3924600C567B67F000001, - ); - isa = PBXGroup; - name = QTTrackInfo; - path = QTTrackInfo.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3924600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTTrackInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3924D00C567B67F000001 = { - children = ( - 68C3924F00C567B67F000001, - ); - isa = PBXGroup; - name = QTFileInfo; - path = QTFileInfo.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3924F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFileInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3925600C567B67F000001 = { - children = ( - 68C3925800C567B67F000001, - ); - isa = PBXGroup; - name = QTFileTest; - path = QTFileTest.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3925800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFileTest.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3925F00C567B67F000001 = { - children = ( - 68C3926100C567B67F000001, - ); - isa = PBXGroup; - name = QTBroadcaster; - path = QTBroadcaster.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3926100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTBroadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3926800C567B67F000001 = { - children = ( - 68C3926A00C567B67F000001, - 68C3926C00C567B67F000001, - ); - isa = PBXGroup; - name = RTPFileGen; - path = RTPFileGen.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3926A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPFileGen.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3926C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPFileDefs.h; - refType = 4; - sourceTree = ""; - }; - 68C3927300C567B67F000001 = { - children = ( - 68C3927600C567B67F000001, - 68C3927500C567B67F000001, - 68C3929600C567B67F000001, - 68C3927700C567B67F000001, - 68C3929700C567B67F000001, - 68C3927800C567B67F000001, - 68C3929800C567B67F000001, - 68C3927900C567B67F000001, - 68C3929900C567B67F000001, - 68C3927A00C567B67F000001, - 68C3929A00C567B67F000001, - 68C3927B00C567B67F000001, - 68C3929B00C567B67F000001, - 68C3927C00C567B67F000001, - 68C3929C00C567B67F000001, - 68C3927D00C567B67F000001, - 68C3929D00C567B67F000001, - 68C3927E00C567B67F000001, - 68C3929E00C567B67F000001, - 68C3927F00C567B67F000001, - 68C3929F00C567B67F000001, - 68C3928000C567B67F000001, - 68C392A000C567B67F000001, - 68C3928100C567B67F000001, - 68C392A100C567B67F000001, - 68C3928200C567B67F000001, - 68C392A200C567B67F000001, - 68C3928300C567B67F000001, - 68C392A300C567B67F000001, - 68C392A400C567B67F000001, - 68C3928400C567B67F000001, - 68C392A500C567B67F000001, - 68C3928500C567B67F000001, - 68C392A600C567B67F000001, - 68C3928600C567B67F000001, - 68C392A700C567B67F000001, - 68C3928700C567B67F000001, - 68C392A800C567B67F000001, - 68C3928800C567B67F000001, - 68C392A900C567B67F000001, - 68C3928900C567B67F000001, - 68C392AA00C567B67F000001, - 68C3928A00C567B67F000001, - 68C392AB00C567B67F000001, - 68C3928B00C567B67F000001, - 68C392AC00C567B67F000001, - 68C3928C00C567B67F000001, - 68C392AD00C567B67F000001, - 68C3928D00C567B67F000001, - 68C392AE00C567B67F000001, - 68C3928E00C567B67F000001, - 68C392AF00C567B67F000001, - 68C3928F00C567B67F000001, - 68C392B000C567B67F000001, - 68C3929000C567B67F000001, - 68C392B100C567B67F000001, - 68C3929100C567B67F000001, - 68C392B200C567B67F000001, - 68C3929200C567B67F000001, - 68C392B300C567B67F000001, - 68C3929300C567B67F000001, - 68C392B400C567B67F000001, - ); - isa = PBXGroup; - name = QuickTimeStreamingServer; - path = Server.tproj; - refType = 4; - sourceTree = ""; - }; - 68C3927500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = GenerateXMLPrefs.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = main.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSCallbacks.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDataConverter.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDictionary.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSErrorLogModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSServer.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSServerInterface.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSServerPrefs.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSExpirationDate.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSMessages.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSPrefs.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSSocket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSUserProfile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPTask.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPBandwidthTracker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPOverbufferWindow.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPPacketResender.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPSessionInterface.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPStream.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPProtocol.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPRequest.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPRequestInterface.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3928F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPRequestStream.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3929000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPResponseStream.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3929100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3929200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPSessionInterface.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3929300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RunServer.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3929600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = GenerateXMLPrefs.h; - refType = 4; - sourceTree = ""; - }; - 68C3929700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSCallbacks.h; - refType = 4; - sourceTree = ""; - }; - 68C3929800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDataConverter.h; - refType = 4; - sourceTree = ""; - }; - 68C3929900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDictionary.h; - refType = 4; - sourceTree = ""; - }; - 68C3929A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSErrorLogModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3929B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSServer.h; - refType = 4; - sourceTree = ""; - }; - 68C3929C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSServerInterface.h; - refType = 4; - sourceTree = ""; - }; - 68C3929D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSServerPrefs.h; - refType = 4; - sourceTree = ""; - }; - 68C3929E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSExpirationDate.h; - refType = 4; - sourceTree = ""; - }; - 68C3929F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFile.h; - refType = 4; - sourceTree = ""; - }; - 68C392A000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSMessages.h; - refType = 4; - sourceTree = ""; - }; - 68C392A100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSModule.h; - refType = 4; - sourceTree = ""; - }; - 68C392A200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSPrefs.h; - refType = 4; - sourceTree = ""; - }; - 68C392A300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSSocket.h; - refType = 4; - sourceTree = ""; - }; - 68C392A400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSStream.h; - refType = 4; - sourceTree = ""; - }; - 68C392A500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSUserProfile.h; - refType = 4; - sourceTree = ""; - }; - 68C392A600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPTask.h; - refType = 4; - sourceTree = ""; - }; - 68C392A700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPBandwidthTracker.h; - refType = 4; - sourceTree = ""; - }; - 68C392A800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPOverbufferWindow.h; - refType = 4; - sourceTree = ""; - }; - 68C392A900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPPacketResender.h; - refType = 4; - sourceTree = ""; - }; - 68C392AA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPSession.h; - refType = 4; - sourceTree = ""; - }; - 68C392AB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPSessionInterface.h; - refType = 4; - sourceTree = ""; - }; - 68C392AC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPStream.h; - refType = 4; - sourceTree = ""; - }; - 68C392AD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPProtocol.h; - refType = 4; - sourceTree = ""; - }; - 68C392AE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPRequest.h; - refType = 4; - sourceTree = ""; - }; - 68C392AF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPRequestInterface.h; - refType = 4; - sourceTree = ""; - }; - 68C392B000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPRequestStream.h; - refType = 4; - sourceTree = ""; - }; - 68C392B100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPResponseStream.h; - refType = 4; - sourceTree = ""; - }; - 68C392B200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPSession.h; - refType = 4; - sourceTree = ""; - }; - 68C392B300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPSessionInterface.h; - refType = 4; - sourceTree = ""; - }; - 68C392B400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RunServer.h; - refType = 4; - sourceTree = ""; - }; - 68C392BC00C567B67F000001 = { - children = ( - 68C392C200C567B67F000001, - 68C392CD00C567B67F000001, - 68C392E200C567B67F000001, - 68C392BE00C567B67F000001, - 68C392CF00C567B67F000001, - 68C392BF00C567B67F000001, - 68C392D000C567B67F000001, - 68C392C000C567B67F000001, - 68C392D100C567B67F000001, - 68C392C700C567B67F000001, - 68C392D700C567B67F000001, - 68C392C100C567B67F000001, - 68C392D200C567B67F000001, - 68C392CC00C567B67F000001, - 68C392DC00C567B67F000001, - 68C392C300C567B67F000001, - 68C392D300C567B67F000001, - 68C392C400C567B67F000001, - 68C392D400C567B67F000001, - 68C392C500C567B67F000001, - 68C392D500C567B67F000001, - 68C392C600C567B67F000001, - 68C392D600C567B67F000001, - 68C392C800C567B67F000001, - 68C392D800C567B67F000001, - 68C392C900C567B67F000001, - 68C392D900C567B67F000001, - 68C392CA00C567B67F000001, - 68C392DA00C567B67F000001, - 68C392CB00C567B67F000001, - 68C392DB00C567B67F000001, - 68C392DD00C567B67F000001, - 68C392DE00C567B67F000001, - 68C392DF00C567B67F000001, - 68C392E000C567B67F000001, - 68C392E100C567B67F000001, - ); - isa = PBXGroup; - name = PlaylistBroadcaster; - path = PlaylistBroadcaster.tproj; - refType = 4; - sourceTree = ""; - }; - 68C392BE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BCasterTracker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392BF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BroadcastLog.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = NoRepeat.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PickerFromFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PlaylistBroadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_broadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_elements.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_lists.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_parsers.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PlaylistPicker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_QTRTPBroadcastFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_SDPGen.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_SimpleParse.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_utils.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PLBroadcastDef.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BroadcasterSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BCasterTracker.h; - refType = 4; - sourceTree = ""; - }; - 68C392D000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcastLog.h; - refType = 4; - sourceTree = ""; - }; - 68C392D100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = NoRepeat.h; - refType = 4; - sourceTree = ""; - }; - 68C392D200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PickerFromFile.h; - refType = 4; - sourceTree = ""; - }; - 68C392D300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_broadcaster.h; - refType = 4; - sourceTree = ""; - }; - 68C392D400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_elements.h; - refType = 4; - sourceTree = ""; - }; - 68C392D500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_lists.h; - refType = 4; - sourceTree = ""; - }; - 68C392D600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_parsers.h; - refType = 4; - sourceTree = ""; - }; - 68C392D700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PlaylistPicker.h; - refType = 4; - sourceTree = ""; - }; - 68C392D800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_QTRTPBroadcastFile.h; - refType = 4; - sourceTree = ""; - }; - 68C392D900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_SDPGen.h; - refType = 4; - sourceTree = ""; - }; - 68C392DA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_SimpleParse.h; - refType = 4; - sourceTree = ""; - }; - 68C392DB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_utils.h; - refType = 4; - sourceTree = ""; - }; - 68C392DC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PLBroadcastDef.h; - refType = 4; - sourceTree = ""; - }; - 68C392DD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_array.h; - refType = 4; - sourceTree = ""; - }; - 68C392DE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SimplePlayListElement.h; - refType = 4; - sourceTree = ""; - }; - 68C392DF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StSmartArrayPointer.h; - refType = 4; - sourceTree = ""; - }; - 68C392E000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TrackingElement.h; - refType = 4; - sourceTree = ""; - }; - 68C392E100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = tailor.h; - refType = 4; - sourceTree = ""; - }; - 68C392E200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcasterSession.h; - refType = 4; - sourceTree = ""; - }; - 68C392E900C567B67F000001 = { - children = ( - 68C392EB00C567B67F000001, - ); - isa = PBXGroup; - name = qtpasswd; - path = qtpasswd.tproj; - refType = 4; - sourceTree = ""; - }; - 68C392EB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - lineEnding = 0; - path = QTSSPasswd.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392F200C567B67F000001 = { - children = ( - 68C392FA00C567B67F000001, - 68C392F400C567B67F000001, - 68C392F500C567B67F000001, - 68C392FB00C567B67F000001, - 68C392FC00C567B67F000001, - 68C392F600C567B67F000001, - 68C392FD00C567B67F000001, - 68C392F700C567B67F000001, - 68C39AE000C5A41F7F000001, - 68C39ADF00C5A41F7F000001, - 68C392FE00C567B67F000001, - ); - isa = PBXGroup; - name = StreamingProxy; - path = StreamingProxy.tproj; - refType = 4; - sourceTree = ""; - }; - 68C392F400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = proxy.h; - refType = 4; - sourceTree = ""; - }; - 68C392F500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = proxy_plat.h; - refType = 4; - sourceTree = ""; - }; - 68C392F600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = shared_udp.h; - refType = 4; - sourceTree = ""; - }; - 68C392F700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = util.h; - refType = 4; - sourceTree = ""; - }; - 68C392FA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = proxy.c; - refType = 4; - sourceTree = ""; - }; - 68C392FB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = proxy_unix.c; - refType = 4; - sourceTree = ""; - }; - 68C392FC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = shared_udp.c; - refType = 4; - sourceTree = ""; - }; - 68C392FD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = util.c; - refType = 4; - sourceTree = ""; - }; - 68C392FE00C567B67F000001 = { - children = ( - 68C3930400C567B67F000001, - 68C3930500C567B67F000001, - ); - isa = PBXGroup; - name = "Supporting Files"; - refType = 4; - sourceTree = ""; - }; - 68C3930400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - path = streamingproxy.conf; - refType = 4; - sourceTree = ""; - }; - 68C3930500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = StreamingProxy.html; - refType = 4; - sourceTree = ""; - }; - 68C3930600C567B67F000001 = { - children = ( - E98FD95E02F5BCA109DD2838, - 00A7A0B30135DF8700DD2B4F, - 00A7A0D00135DF8700DD2B4F, - 00A7A0D20135DF8700DD2B4F, - 00A7A0D80135DF8700DD2B4F, - 00A7A0D90135DF8700DD2B4F, - 00A7A0DA0135DF8700DD2B4F, - 00A7A0DB0135DF8700DD2B4F, - 00A7A0DC0135DF8700DD2B4F, - 00A7A0DD0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = WebAdmin; - refType = 4; - sourceTree = ""; - }; - 68C3946D00C567B67F000001 = { - children = ( - 68C3947200C567B67F000001, - 68C3947300C567B67F000001, - 68C3947000C567B67F000001, - 68C3947400C567B67F000001, - F5EF9AEF01235DC301DD292F, - 68C3946F00C567B67F000001, - ); - isa = PBXGroup; - path = AtomicLib; - refType = 4; - sourceTree = ""; - }; - 68C3946F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = atomic.h; - refType = 4; - sourceTree = ""; - }; - 68C3947000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = timestamp.h; - refType = 4; - sourceTree = ""; - }; - 68C3947200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.asm; - path = atomic_subr.s; - refType = 4; - sourceTree = ""; - }; - 68C3947300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = timescale.c; - refType = 4; - sourceTree = ""; - }; - 68C3947400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.asm; - path = timestamp.s; - refType = 4; - sourceTree = ""; - }; - 68C3947900C567B67F000001 = { - children = ( - F57EED2E027E9EDD01FF7AB9, - 68C3947B00C567B67F000001, - 68C3949E00C567B67F000001, - 68C3947C00C567B67F000001, - 68C3949F00C567B67F000001, - 68C394A000C567B67F000001, - 68C3947D00C567B67F000001, - 68C394A200C567B67F000001, - 68C394A300C567B67F000001, - 68C3947E00C567B67F000001, - 68C394A600C567B67F000001, - 68C3947F00C567B67F000001, - 68C394A800C567B67F000001, - 68C3948000C567B67F000001, - 68C394A900C567B67F000001, - 68C3948100C567B67F000001, - 68C394AA00C567B67F000001, - 68C394AB00C567B67F000001, - 68C3948200C567B67F000001, - 68C394AC00C567B67F000001, - 68C3948300C567B67F000001, - 68C394AD00C567B67F000001, - 68C3948400C567B67F000001, - 68C394AE00C567B67F000001, - 68C3948500C567B67F000001, - 68C394AF00C567B67F000001, - 68C394B000C567B67F000001, - 68C394B100C567B67F000001, - 68C3948600C567B67F000001, - 68C394B200C567B67F000001, - 68C394B300C567B67F000001, - 68C3948700C567B67F000001, - 68C394B400C567B67F000001, - 68C3948800C567B67F000001, - 68C394B500C567B67F000001, - 68C3948900C567B67F000001, - 68C394B600C567B67F000001, - 68C3948A00C567B67F000001, - 68C394B700C567B67F000001, - 68C3948B00C567B67F000001, - 68C394B800C567B67F000001, - 68C394B900C567B67F000001, - 68C3948C00C567B67F000001, - 68C394BA00C567B67F000001, - 68C3948D00C567B67F000001, - 68C394BB00C567B67F000001, - 68C3948E00C567B67F000001, - 68C394BC00C567B67F000001, - 68C3948F00C567B67F000001, - 68C394BD00C567B67F000001, - 68C394BE00C567B67F000001, - 68C3949000C567B67F000001, - 68C394BF00C567B67F000001, - 68C3949100C567B67F000001, - 68C394C000C567B67F000001, - 68C3949200C567B67F000001, - 68C394C100C567B67F000001, - 68C3949300C567B67F000001, - 68C394C200C567B67F000001, - 68C3949400C567B67F000001, - 68C394C300C567B67F000001, - 68C3949500C567B67F000001, - 68C394C400C567B67F000001, - 68C3949600C567B67F000001, - 68C394C500C567B67F000001, - 68C3949700C567B67F000001, - 68C394C700C567B67F000001, - 68C3949800C567B67F000001, - 68C394C900C567B67F000001, - 68C3949900C567B67F000001, - 68C394CA00C567B67F000001, - 68C3949A00C567B67F000001, - 68C394CB00C567B67F000001, - 68C3949B00C567B67F000001, - 68C394CC00C567B67F000001, - 68C394CE00C567B67F000001, - 68C3949D00C567B67F000001, - 68C394A100C567B67F000001, - 68C394CF00C567B67F000001, - 68C394A400C567B67F000001, - 68C394D000C567B67F000001, - 68C394A500C567B67F000001, - 68C394D100C567B67F000001, - 68C394A700C567B67F000001, - 68C394D200C567B67F000001, - 68C394C800C567B67F000001, - 68C394C600C567B67F000001, - F50DFC10025357EB01F41924, - F50DFC11025357EB01F41924, - ); - isa = PBXGroup; - path = CommonUtilitiesLib; - refType = 4; - sourceTree = ""; - }; - 68C3947B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ConfParser.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3947C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = DateTranslator.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3947D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = EventContext.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3947E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = IdleTask.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3947F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = md5digest.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MyAssert.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OS.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSBufferPool.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSCodeFragment.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSCond.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSFileSource.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSHeap.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMutex.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMutexRW.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSQueue.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSRef.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSThread.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QueryParamList.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ResizeableStringFormatter.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = Socket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3948F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SocketUtils.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StringFormatter.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StringParser.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StringTranslator.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StrPtrLen.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = Task.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = TCPListenerSocket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = TCPSocket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = TimeoutTask.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UDPDemuxer.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UDPSocket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UDPSocketPool.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UserAgentParser.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3949D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = base64.h; - refType = 4; - sourceTree = ""; - }; - 68C3949E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ConfParser.h; - refType = 4; - sourceTree = ""; - }; - 68C3949F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = DateTranslator.h; - refType = 4; - sourceTree = ""; - }; - 68C394A000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = DssStopwatch.h; - refType = 4; - sourceTree = ""; - }; - 68C394A100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ev.h; - refType = 4; - sourceTree = ""; - }; - 68C394A200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = EventContext.h; - refType = 4; - sourceTree = ""; - }; - 68C394A300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = FastCopyMacros.h; - refType = 4; - sourceTree = ""; - }; - 68C394A400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = getopt.h; - refType = 4; - sourceTree = ""; - }; - 68C394A500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = GetWord.h; - refType = 4; - sourceTree = ""; - }; - 68C394A600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = IdleTask.h; - refType = 4; - sourceTree = ""; - }; - 68C394A700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = md5.h; - refType = 4; - sourceTree = ""; - }; - 68C394A800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = md5digest.h; - refType = 4; - sourceTree = ""; - }; - 68C394A900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MyAssert.h; - refType = 4; - sourceTree = ""; - }; - 68C394AA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OS.h; - refType = 4; - sourceTree = ""; - }; - 68C394AB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSArrayObjectDeleter.h; - refType = 4; - sourceTree = ""; - }; - 68C394AC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSBufferPool.h; - refType = 4; - sourceTree = ""; - }; - 68C394AD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSCodeFragment.h; - refType = 4; - sourceTree = ""; - }; - 68C394AE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSCond.h; - refType = 4; - sourceTree = ""; - }; - 68C394AF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSFileSource.h; - refType = 4; - sourceTree = ""; - }; - 68C394B000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSHashTable.h; - refType = 4; - sourceTree = ""; - }; - 68C394B100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSHeaders.h; - refType = 4; - sourceTree = ""; - }; - 68C394B200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSHeap.h; - refType = 4; - sourceTree = ""; - }; - 68C394B300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSMemory.h; - refType = 4; - sourceTree = ""; - }; - 68C394B400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSMutex.h; - refType = 4; - sourceTree = ""; - }; - 68C394B500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSMutexRW.h; - refType = 4; - sourceTree = ""; - }; - 68C394B600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSQueue.h; - refType = 4; - sourceTree = ""; - }; - 68C394B700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSRef.h; - refType = 4; - sourceTree = ""; - }; - 68C394B800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSThread.h; - refType = 4; - sourceTree = ""; - }; - 68C394B900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PLDoubleLinkedList.h; - refType = 4; - sourceTree = ""; - }; - 68C394BA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QueryParamList.h; - refType = 4; - sourceTree = ""; - }; - 68C394BB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ResizeableStringFormatter.h; - refType = 4; - sourceTree = ""; - }; - 68C394BC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = Socket.h; - refType = 4; - sourceTree = ""; - }; - 68C394BD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SocketUtils.h; - refType = 4; - sourceTree = ""; - }; - 68C394BE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StopWatch.h; - refType = 4; - sourceTree = ""; - }; - 68C394BF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StringFormatter.h; - refType = 4; - sourceTree = ""; - }; - 68C394C000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StringParser.h; - refType = 4; - sourceTree = ""; - }; - 68C394C100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StringTranslator.h; - refType = 4; - sourceTree = ""; - }; - 68C394C200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StrPtrLen.h; - refType = 4; - sourceTree = ""; - }; - 68C394C300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = Task.h; - refType = 4; - sourceTree = ""; - }; - 68C394C400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TCPListenerSocket.h; - refType = 4; - sourceTree = ""; - }; - 68C394C500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TCPSocket.h; - refType = 4; - sourceTree = ""; - }; - 68C394C600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = tempcalls.h; - refType = 4; - sourceTree = ""; - }; - 68C394C700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TimeoutTask.h; - refType = 4; - sourceTree = ""; - }; - 68C394C800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = Trim.h; - refType = 4; - sourceTree = ""; - }; - 68C394C900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UDPDemuxer.h; - refType = 4; - sourceTree = ""; - }; - 68C394CA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UDPSocket.h; - refType = 4; - sourceTree = ""; - }; - 68C394CB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UDPSocketPool.h; - refType = 4; - sourceTree = ""; - }; - 68C394CC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UserAgentParser.h; - refType = 4; - sourceTree = ""; - }; - 68C394CE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = base64.c; - refType = 4; - sourceTree = ""; - }; - 68C394CF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = getopt.c; - refType = 4; - sourceTree = ""; - }; - 68C394D000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = GetWord.c; - refType = 4; - sourceTree = ""; - }; - 68C394D100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = md5.c; - refType = 4; - sourceTree = ""; - }; - 68C394D200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = Trim.c; - refType = 4; - sourceTree = ""; - }; - 68C394D900C567B67F000001 = { - children = ( - B6494F9D0279F88D0BDD2A6C, - 68C394DF00C567B67F000001, - 68C394E800C567B67F000001, - 68C394F300C567B67F000001, - 68C394FE00C567B67F000001, - 68C3951E00C567B67F000001, - 68C3952900C567B67F000001, - 68C3953400C567B67F000001, - 68C3953F00C567B67F000001, - 68C3954A00C567B67F000001, - 68C3955500C567B67F000001, - 68C3956000C567B67F000001, - 68C3956D00C567B67F000001, - 68C3957800C567B67F000001, - 68C3958300C567B67F000001, - 68C3959200C567B77F000001, - 68C3959D00C567B77F000001, - 68C395AA00C567B77F000001, - B62C45CD012B253B0BDD2A6C, - 004E2890025B798400DD2B50, - B6DC97FD02FB30350BDD2A6C, - ); - isa = PBXGroup; - path = APIModules; - refType = 4; - sourceTree = ""; - }; - 68C394DF00C567B67F000001 = { - children = ( - 68C394E100C567B67F000001, - ); - isa = PBXGroup; - path = OSMemory_Modules; - refType = 4; - sourceTree = ""; - }; - 68C394E100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMemory_Modules.cpp; - refType = 4; - sourceTree = ""; - }; - 68C394E800C567B67F000001 = { - children = ( - 68C394EA00C567B67F000001, - 68C394EC00C567B67F000001, - ); - isa = PBXGroup; - path = QTSSAccessLogModule; - refType = 4; - sourceTree = ""; - }; - 68C394EA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSAccessLogModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C394EC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSAccessLogModule.h; - refType = 4; - sourceTree = ""; - }; - 68C394F300C567B67F000001 = { - children = ( - 68C394F500C567B67F000001, - 68C394F700C567B67F000001, - ); - isa = PBXGroup; - path = QTSSFileModule; - refType = 4; - sourceTree = ""; - }; - 68C394F500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFileModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C394F700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFileModule.h; - refType = 4; - sourceTree = ""; - }; - 68C394FE00C567B67F000001 = { - children = ( - 68C3950000C567B67F000001, - 68C3950C00C567B67F000001, - 68C3950100C567B67F000001, - 68C3950D00C567B67F000001, - 68C3950200C567B67F000001, - 68C3950E00C567B67F000001, - 68C3950300C567B67F000001, - 68C3950F00C567B67F000001, - 68C3950400C567B67F000001, - 68C3951100C567B67F000001, - 68C3950500C567B67F000001, - 68C3951200C567B67F000001, - 68C3951000C567B67F000001, - 68C3950600C567B67F000001, - 68C3951300C567B67F000001, - 68C3950700C567B67F000001, - 68C3951400C567B67F000001, - 68C3950800C567B67F000001, - 68C3951500C567B67F000001, - 68C3950900C567B67F000001, - 68C3951600C567B67F000001, - 68C3950A00C567B67F000001, - 68C3951700C567B67F000001, - 0066F5CE016E6AD000DD2B4C, - 0066F5CF016E6AD000DD2B4C, - ); - isa = PBXGroup; - path = QTSSReflectorModule; - refType = 4; - sourceTree = ""; - }; - 68C3950000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSReflectorModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRelayModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSSplitterModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RCFSourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ReflectorSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ReflectorStream.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RelayOutput.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RelaySDPSourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPSessionOutput.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPSourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SequenceNumberMap.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3950C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSReflectorModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3950D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRelayModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3950E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSSplitterModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3950F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RCFSourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3951000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ReflectorOutput.h; - refType = 4; - sourceTree = ""; - }; - 68C3951100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ReflectorSession.h; - refType = 4; - sourceTree = ""; - }; - 68C3951200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ReflectorStream.h; - refType = 4; - sourceTree = ""; - }; - 68C3951300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RelayOutput.h; - refType = 4; - sourceTree = ""; - }; - 68C3951400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RelaySDPSourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3951500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPSessionOutput.h; - refType = 4; - sourceTree = ""; - }; - 68C3951600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPSourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3951700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SequenceNumberMap.h; - refType = 4; - sourceTree = ""; - }; - 68C3951E00C567B67F000001 = { - children = ( - 68C3952000C567B67F000001, - 68C3952200C567B67F000001, - ); - isa = PBXGroup; - path = QTSSFlowControlModule; - refType = 4; - sourceTree = ""; - }; - 68C3952000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFlowControlModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3952200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFlowControlModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3952900C567B67F000001 = { - children = ( - 68C3952B00C567B67F000001, - 68C3952D00C567B67F000001, - ); - isa = PBXGroup; - path = QTSSWebDebugModule; - refType = 4; - sourceTree = ""; - }; - 68C3952B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSWebDebugModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3952D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSWebDebugModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3953400C567B67F000001 = { - children = ( - 68C3953600C567B67F000001, - 68C3953800C567B67F000001, - ); - isa = PBXGroup; - path = QTSSWebStatsModule; - refType = 4; - sourceTree = ""; - }; - 68C3953600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSWebStatsModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3953800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSWebStatsModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3953F00C567B67F000001 = { - children = ( - 68C3954100C567B67F000001, - 68C3954300C567B67F000001, - ); - isa = PBXGroup; - name = QTSSSpamDefenseModule; - path = QTSSSpamDefenseModule.bproj; - refType = 4; - sourceTree = ""; - }; - 68C3954100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSSpamDefenseModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3954300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSSpamDefenseModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3954A00C567B67F000001 = { - children = ( - 68C3954C00C567B67F000001, - 68C3954E00C567B67F000001, - ); - isa = PBXGroup; - name = QTSSRawFileModule; - path = QTSSRawFileModule.bproj; - refType = 4; - sourceTree = ""; - }; - 68C3954C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRawFileModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3954E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRawFileModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3955500C567B67F000001 = { - children = ( - 68C3955700C567B67F000001, - 68C3955900C567B67F000001, - ); - isa = PBXGroup; - name = QTSSFilePrivsModule; - path = QTSSFilePrivsModule.bproj; - refType = 4; - sourceTree = ""; - }; - 68C3955700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFilePrivsModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3955900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFilePrivsModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3956000C567B67F000001 = { - children = ( - 68C3956300C567B67F000001, - 68C3956600C567B67F000001, - 68C3956200C567B67F000001, - 68C3956500C567B67F000001, - ); - isa = PBXGroup; - name = QTSSDemoAuthorizationModule; - path = QTSSDemoAuthorizationModule.bproj; - refType = 4; - sourceTree = ""; - }; - 68C3956200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AccessCheck.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3956300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDemoModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3956500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AccessCheck.h; - refType = 4; - sourceTree = ""; - }; - 68C3956600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDemoModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3956D00C567B67F000001 = { - children = ( - 68C3956F00C567B67F000001, - 68C3957100C567B67F000001, - ); - isa = PBXGroup; - path = QTSSPOSIXFileSysModule; - refType = 4; - sourceTree = ""; - }; - 68C3956F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSPosixFileSysModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3957100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSPosixFileSysModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3957800C567B67F000001 = { - children = ( - 68C3957A00C567B67F000001, - 68C3957C00C567B67F000001, - ); - isa = PBXGroup; - name = QTSSDemoSMILModule; - path = QTSSDemoSMILModule.bproj; - refType = 4; - sourceTree = ""; - }; - 68C3957A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDemoSMILModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3957C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDemoSMILModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3958300C567B67F000001 = { - children = ( - 68C3958700C567B67F000001, - 68C3958B00C567B67F000001, - 68C3958600C567B67F000001, - 68C3958A00C567B67F000001, - 68C3958500C567B67F000001, - 68C3958900C567B67F000001, - ); - isa = PBXGroup; - path = QTSSAdminModule; - refType = 4; - sourceTree = ""; - }; - 68C3958500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AdminElementNode.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3958600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AdminQuery.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3958700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSAdminModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3958900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AdminElementNode.h; - refType = 4; - sourceTree = ""; - }; - 68C3958A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AdminQuery.h; - refType = 4; - sourceTree = ""; - }; - 68C3958B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSAdminModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3959200C567B77F000001 = { - children = ( - 68C3959400C567B77F000001, - 68C3959600C567B77F000001, - ); - isa = PBXGroup; - path = QTSSHttpFileModule; - refType = 4; - sourceTree = ""; - }; - 68C3959400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSHttpFileModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3959600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSHttpFileModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3959D00C567B77F000001 = { - children = ( - 68C3959F00C567B77F000001, - 68C395A200C567B77F000001, - 68C395A000C567B77F000001, - 68C395A300C567B77F000001, - ); - isa = PBXGroup; - path = QTSSRTPFileModule; - refType = 4; - sourceTree = ""; - }; - 68C3959F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRTPFileModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395A000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPFileSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395A200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRTPFileModule.h; - refType = 4; - sourceTree = ""; - }; - 68C395A300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPFileSession.h; - refType = 4; - sourceTree = ""; - }; - 68C395AA00C567B77F000001 = { - children = ( - 68C395AD00C567B77F000001, - 68C395B000C567B77F000001, - 68C395AC00C567B77F000001, - 68C395AF00C567B77F000001, - ); - isa = PBXGroup; - path = QTSSAccessModule; - refType = 4; - sourceTree = ""; - }; - 68C395AC00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AccessChecker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395AD00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSAccessModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395AF00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AccessChecker.h; - refType = 4; - sourceTree = ""; - }; - 68C395B000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSAccessModule.h; - refType = 4; - sourceTree = ""; - }; - 68C395B700C567B77F000001 = { - children = ( - 68C395B900C567B77F000001, - ); - isa = PBXGroup; - path = OSMemoryLib; - refType = 4; - sourceTree = ""; - }; - 68C395B900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMemory.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395C000C567B77F000001 = { - children = ( - 68C395C200C567B77F000001, - 68C395C700C567B77F000001, - 68C395C300C567B77F000001, - 68C395C800C567B77F000001, - 68C395C400C567B77F000001, - 68C395C900C567B77F000001, - 68C395C500C567B77F000001, - 68C395CA00C567B77F000001, - ); - isa = PBXGroup; - path = RTCPUtilitiesLib; - refType = 4; - sourceTree = ""; - }; - 68C395C200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPAckPacket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395C300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPAPPPacket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395C400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPPacket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395C500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPSRPacket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395C700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPAckPacket.h; - refType = 4; - sourceTree = ""; - }; - 68C395C800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPAPPPacket.h; - refType = 4; - sourceTree = ""; - }; - 68C395C900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPPacket.h; - refType = 4; - sourceTree = ""; - }; - 68C395CA00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPSRPacket.h; - refType = 4; - sourceTree = ""; - }; - 68C395D100C567B77F000001 = { - children = ( - 68C395D300C567B77F000001, - 68C395D800C567B77F000001, - 68C395D600C567B77F000001, - 68C395DD00C567B77F000001, - 003D3EDC0132F64000DD292F, - 003D3EDD0132F64000DD292F, - 68C395DB00C567B77F000001, - ); - isa = PBXGroup; - path = PrefsSourceLib; - refType = 4; - sourceTree = ""; - }; - 68C395D300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = FilePrefsSource.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395D600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = XMLPrefsParser.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395D800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = FilePrefsSource.h; - refType = 4; - sourceTree = ""; - }; - 68C395DB00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PrefsSource.h; - refType = 4; - sourceTree = ""; - }; - 68C395DD00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = XMLPrefsParser.h; - refType = 4; - sourceTree = ""; - }; - 68C395E600C567B77F000001 = { - children = ( - 68C395EA00C567B77F000001, - 68C395E800C567B77F000001, - 68C395EC00C567B77F000001, - 68C395EB00C567B77F000001, - ); - isa = PBXGroup; - path = APIStubLib; - refType = 4; - sourceTree = ""; - }; - 68C395E800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSS_Private.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395EA00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSS.h; - refType = 4; - sourceTree = ""; - }; - 68C395EB00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRTSPProtocol.h; - refType = 4; - sourceTree = ""; - }; - 68C395EC00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSS_Private.h; - refType = 4; - sourceTree = ""; - }; - 68C395F300C567B77F000001 = { - children = ( - 68C395F500C567B77F000001, - 68C395F800C567B77F000001, - 68C395F600C567B77F000001, - 68C395F900C567B77F000001, - ); - isa = PBXGroup; - path = HTTPUtilitiesLib; - refType = 4; - sourceTree = ""; - }; - 68C395F500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = HTTPProtocol.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395F600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = HTTPRequest.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395F800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = HTTPProtocol.h; - refType = 4; - sourceTree = ""; - }; - 68C395F900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = HTTPRequest.h; - refType = 4; - sourceTree = ""; - }; - 68C3960000C567B77F000001 = { - children = ( - 68C3960200C567B77F000001, - 68C3960400C567B77F000001, - ); - isa = PBXGroup; - path = RTPMetaInfoLib; - refType = 4; - sourceTree = ""; - }; - 68C3960200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPMetaInfoPacket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3960400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPMetaInfoPacket.h; - refType = 4; - sourceTree = ""; - }; - 68C3960B00C567B77F000001 = { - children = ( - 68C3960D00C567B77F000001, - 68C3962100C567B77F000001, - 68C3960E00C567B77F000001, - 68C3962200C567B77F000001, - 68C3960F00C567B77F000001, - 68C3962300C567B77F000001, - 68C3961000C567B77F000001, - 68C3962400C567B77F000001, - 68C3961100C567B77F000001, - 68C3962500C567B77F000001, - 68C3961200C567B77F000001, - 68C3962600C567B77F000001, - 68C3961300C567B77F000001, - 68C3962700C567B77F000001, - 68C3961400C567B77F000001, - 68C3962800C567B77F000001, - 68C3961500C567B77F000001, - 68C3962900C567B77F000001, - 68C3961600C567B77F000001, - 68C3962A00C567B77F000001, - 68C3961700C567B77F000001, - 68C3962B00C567B77F000001, - 68C3961800C567B77F000001, - 68C3962C00C567B77F000001, - 68C3961900C567B77F000001, - 68C3962D00C567B77F000001, - 68C3961A00C567B77F000001, - 68C3962E00C567B77F000001, - 68C3961B00C567B77F000001, - 68C3962F00C567B77F000001, - 68C3961C00C567B77F000001, - 68C3963000C567B77F000001, - 68C3961D00C567B77F000001, - 68C3963100C567B77F000001, - 68C3961E00C567B77F000001, - 68C3963200C567B77F000001, - 68C3961F00C567B77F000001, - 68C3963300C567B77F000001, - ); - isa = PBXGroup; - path = QTFileLib; - refType = 4; - sourceTree = ""; - }; - 68C3960D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3960E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_dref.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3960F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_elst.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_hinf.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_mdhd.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_mvhd.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stco.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stsc.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stsd.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stss.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stsz.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stts.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_tkhd.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961A00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_tref.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961B00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFile_FileControlBlock.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTHintTrack.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTRTPFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3961F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTTrack.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3962100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom.h; - refType = 4; - sourceTree = ""; - }; - 68C3962200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_dref.h; - refType = 4; - sourceTree = ""; - }; - 68C3962300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_elst.h; - refType = 4; - sourceTree = ""; - }; - 68C3962400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_hinf.h; - refType = 4; - sourceTree = ""; - }; - 68C3962500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_mdhd.h; - refType = 4; - sourceTree = ""; - }; - 68C3962600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_mvhd.h; - refType = 4; - sourceTree = ""; - }; - 68C3962700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stco.h; - refType = 4; - sourceTree = ""; - }; - 68C3962800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stsc.h; - refType = 4; - sourceTree = ""; - }; - 68C3962900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stsd.h; - refType = 4; - sourceTree = ""; - }; - 68C3962A00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stss.h; - refType = 4; - sourceTree = ""; - }; - 68C3962B00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stsz.h; - refType = 4; - sourceTree = ""; - }; - 68C3962C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stts.h; - refType = 4; - sourceTree = ""; - }; - 68C3962D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_tkhd.h; - refType = 4; - sourceTree = ""; - }; - 68C3962E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_tref.h; - refType = 4; - sourceTree = ""; - }; - 68C3962F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTFile.h; - refType = 4; - sourceTree = ""; - }; - 68C3963000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTFile_FileControlBlock.h; - refType = 4; - sourceTree = ""; - }; - 68C3963100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTHintTrack.h; - refType = 4; - sourceTree = ""; - }; - 68C3963200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTRTPFile.h; - refType = 4; - sourceTree = ""; - }; - 68C3963300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTTrack.h; - refType = 4; - sourceTree = ""; - }; - 68C3963A00C567B77F000001 = { - children = ( - 68C3963C00C567B77F000001, - 68C3964200C567B77F000001, - 68C3963D00C567B77F000001, - 68C3964300C567B77F000001, - 68C3963E00C567B77F000001, - 68C3964400C567B77F000001, - 68C3963F00C567B77F000001, - 68C3964500C567B77F000001, - 68C3964000C567B77F000001, - 68C3964600C567B77F000001, - F532558B0288434401DD2B50, - ); - isa = PBXGroup; - path = APICommonCode; - refType = 4; - sourceTree = ""; - }; - 68C3963C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAccessFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3963D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSModuleUtils.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3963E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRollingLog.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3963F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SDPSourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3964000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3964200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAccessFile.h; - refType = 4; - sourceTree = ""; - }; - 68C3964300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSModuleUtils.h; - refType = 4; - sourceTree = ""; - }; - 68C3964400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRollingLog.h; - refType = 4; - sourceTree = ""; - }; - 68C3964500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SDPSourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3964600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3964D00C567B77F000001 = { - children = ( - 68C3964F00C567B77F000001, - 68C3965300C567B77F000001, - 68C3965000C567B77F000001, - 68C3965400C567B77F000001, - 68C3965100C567B77F000001, - 68C3965500C567B77F000001, - ); - isa = PBXGroup; - path = RTSPClientLib; - refType = 4; - sourceTree = ""; - }; - 68C3964F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ClientSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3965000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ClientSocket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3965100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPClient.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3965300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ClientSession.h; - refType = 4; - sourceTree = ""; - }; - 68C3965400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ClientSocket.h; - refType = 4; - sourceTree = ""; - }; - 68C3965500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPClient.h; - refType = 4; - sourceTree = ""; - }; - 68C3965C00C567B77F000001 = { - children = ( - 68C3965E00C567B77F000001, - E98FD96A02F5BD6309DD2838, - F5C07FA60415973001DD2E7A, - 522ACD55041CC52B0062FFCE, - 522ACD57041CC5700062FFCE, - 522ACD59041CC5E90062FFCE, - ); - isa = PBXGroup; - name = "External Frameworks and Libraries"; - refType = 4; - sourceTree = ""; - }; - 68C3965E00C567B77F000001 = { - isa = PBXFileReference; - lastKnownFileType = wrapper.framework; - name = Foundation.framework; - path = /System/Library/Frameworks/Foundation.framework; - refType = 0; - sourceTree = ""; - }; - 68C3967800C567B77F000001 = { - children = ( - 68C3967A00C567B77F000001, - 68C3969C00C567B77F000001, - 68C3969D00C567B77F000001, - 68C3969E00C567B77F000001, - 68C3969F00C567B77F000001, - 68C396A000C567B77F000001, - 68C396A100C567B77F000001, - 68C396A200C567B77F000001, - 68C396A300C567B77F000001, - 68C396A900C567B77F000001, - 68C396AB00C567B77F000001, - 68C396AE00C567B77F000001, - 68C396B000C567B77F000001, - 68C396AF00C567B77F000001, - 68C396B100C567B77F000001, - 68C396B200C567B77F000001, - 68C396B300C567B77F000001, - 68C396B400C567B77F000001, - 68C396B500C567B77F000001, - 68C396B600C567B77F000001, - 68C396B700C567B77F000001, - B62C45C5012B21870BDD2A6C, - 00E5906600F4DD0400DD2B4C, - F533DA95011744B601DD292F, - 000DA9E30135948500DD2B4F, - F6A48AED02390D0401000103, - 004E2889025B787000DD2B50, - F5E91D0D027758E801DD2AFC, - F5E91D1F02775B5D01DD2AFC, - F5E91D2F02775C5601DD2AFC, - F5E91D3002775C5601DD2AFC, - F5E91D6602775D2501DD2AFC, - F5E91D6702775D2501DD2AFC, - F5E91D6802775D2501DD2AFC, - F5E91D9D02775EEB01DD2AFC, - F5E91DA60277603301DD2AFC, - F5E91DA70277603301DD2AFC, - F5E91DA80277603301DD2AFC, - F56B5A600278ADD701DD2AFC, - B6494F950279F74E0BDD2A6C, - F57EED22027E9E1101FF7AB9, - F57EED23027E9E1101FF7AB9, - B649D5CA02B97F160BDD2A6C, - E98FD95C02F5BC3309DD2838, - B6DC97FC02FB2EAB0BDD2A6C, - 484082A503D78E0900DD2838, - 52E30B10041DD13500FFB433, - 520F71F2070B767800B604C1, - 520F71F4070B767800B604C1, - 520F71F5070B767800B604C1, - 520F71F7070B767800B604C1, - 520F71F9070B767800B604C1, - 520F71FB070B767800B604C1, - 520F71FC070B767800B604C1, - 520F71FD070B767800B604C1, - 520F71FF070B767800B604C1, - 520F7201070B767800B604C1, - 520F7203070B767800B604C1, - 520F7205070B767800B604C1, - 520F7207070B767800B604C1, - 520F7209070B767800B604C1, - 520F720B070B767800B604C1, - 520F720D070B767800B604C1, - 520F720F070B767800B604C1, - 520F7210070B767800B604C1, - ); - isa = PBXGroup; - name = Products; - path = ""; - refType = 4; - sourceTree = ""; - }; - 68C3967A00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libTestQTFileLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969C00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libAtomicLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969D00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libCommonUtilitiesLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969E00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libOSMemory_Modules.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969F00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSAccessLogModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A000C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSFileModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A100C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSReflectorModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A200C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSFlowControlModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A300C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSWebDebugModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A900C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSPOSIXFileSysModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396AB00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSAdminModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396AE00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSAccessModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396AF00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libOSMemoryLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B000C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libRTCPUtilitiesLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B100C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libPrefsSourceLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B200C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libAPIStubLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B300C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libHTTPUtilitiesLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B400C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libRTPMetaInfoLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B500C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTFileLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B600C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libAPICommonCode.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B700C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libRTSPClientLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B800C567B77F000001 = { - buildPhases = ( - DB5FB4DC07C433A600A894EA, - DB5FB50507C433EA00A894EA, - ); - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = s; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = StreamingServer; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F50ACCCF037E597A017C358E, - 007870EC00F4E38300DD2B4C, - ); - isa = PBXAggregateTarget; - name = QTSS; - productName = "StreamingServer (Aggregate)"; - }; - 68C396BA00C567B77F000001 = { - buildPhases = ( - 68C3972100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = QTFileTools; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F54D303D027FCAD101000102, - F54D303E027FCAD101000102, - 68C396BB00C567B77F000001, - 68C396C500C567B77F000001, - 68C396D000C567B77F000001, - 68C396DA00C567B77F000001, - 68C396E400C567B77F000001, - 68C396EE00C567B77F000001, - 68C396F800C567B77F000001, - 68C3970200C567B77F000001, - 68C3970C00C567B77F000001, - 68C3971600C567B77F000001, - ); - isa = PBXAggregateTarget; - name = QTFileTools; - productName = "QTFileTools (Aggregate)"; - }; - 68C396BB00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396BC00C567B77F000001; - targetProxy = FB0D1DA3064AFB71006F2774; - }; - 68C396BC00C567B77F000001 = { - buildPhases = ( - 68C396BD00C567B77F000001, - 68C396BE00C567B77F000001, - 68C396C000C567B77F000001, - 68C396C400C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ../..; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSDPGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B6E0239282F01000103, - 68C39A8D00C59BD47F000001, - 68C39A8C00C59BD47F000001, - 68C39A8A00C59BD47F000001, - ); - isa = PBXToolTarget; - name = QTSDPGen; - productName = "QTSDPGen (Tool)"; - productReference = 520F7209070B767800B604C1; - }; - 68C396BD00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396BE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396BF00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396BF00C567B77F000001 = { - fileRef = 68C3921B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396C000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396C200C567B77F000001, - 68C39A8600C59A9E7F000001, - 68C39A8700C59A9E7F000001, - 68C39A8800C59A9E7F000001, - F57EED53027EA94401FF7AB9, - 522B6D3804E1708000244363, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C200C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396C400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C500C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396C600C567B77F000001; - targetProxy = FB0D1D37064AFB71006F2774; - }; - 68C396C600C567B77F000001 = { - buildPhases = ( - 68C396C700C567B77F000001, - 68C396C800C567B77F000001, - 68C396C900C567B77F000001, - 68C396CF00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libTestQTFileLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39A8000C598377F000001, - F6999B6F0239282F01000103, - 68C39A8100C598B27F000001, - 68C39A8300C598B27F000001, - ); - isa = PBXLibraryTarget; - name = "TestQTFileLib (Library)"; - productName = "TestQTFileLib (Library)"; - productReference = 68C3967A00C567B77F000001; - }; - 68C396C700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396C900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396CA00C567B77F000001, - 68C39A7B00C597AB7F000001, - 68C39A7C00C597AB7F000001, - 68C39A7D00C597AB7F000001, - 68C39A7E00C597AB7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396CA00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396CF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D000C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396D100C567B77F000001; - targetProxy = FB0D1D4D064AFB71006F2774; - }; - 68C396D100C567B77F000001 = { - buildPhases = ( - 68C396D200C567B77F000001, - 68C396D300C567B77F000001, - 68C396D500C567B77F000001, - 68C396D900C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTRTPGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B700239282F01000103, - 68C39A9200C59C3C7F000001, - 68C39A9300C59C3C7F000001, - 68C39A9400C59C3C7F000001, - 68C39A9500C59C3C7F000001, - ); - isa = PBXToolTarget; - name = QTRTPGen; - productName = "QTRTPGen (Tool)"; - productReference = 520F71FD070B767800B604C1; - }; - 68C396D200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396D400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D400C567B77F000001 = { - fileRef = 68C3922B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396D500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396D700C567B77F000001, - F57EED54027EA94401FF7AB9, - 68C39A8E00C59BD47F000001, - F6A3A53102392A2801000103, - 68C39A9000C59BD47F000001, - 68C39A9100C59BD47F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396D700C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396D900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396DA00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396DB00C567B77F000001; - targetProxy = FB0D1D96064AFB71006F2774; - }; - 68C396DB00C567B77F000001 = { - buildPhases = ( - 68C396DC00C567B77F000001, - 68C396DD00C567B77F000001, - 68C396DF00C567B77F000001, - 68C396E300C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTRTPFileTest; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B68023927CE01000103, - 68C39A9700C59D627F000001, - 68C39A9800C59D627F000001, - 68C39A9A00C59D627F000001, - ); - isa = PBXToolTarget; - name = QTRTPFileTest; - productName = "QTRTPFileTest (Tool)"; - productReference = 520F7207070B767800B604C1; - }; - 68C396DC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396DD00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396DE00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396DE00C567B77F000001 = { - fileRef = 68C3923400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396DF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396E100C567B77F000001, - 68C39A9B00C59D627F000001, - 68C39A9C00C59D627F000001, - 68C39A9E00C59D627F000001, - 5264A2C0041FD10500B9CAA7, - F6A3A53202392AE101000103, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396E300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E400C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396E500C567B77F000001; - targetProxy = FB0D1D31064AFB71006F2774; - }; - 68C396E500C567B77F000001 = { - buildPhases = ( - 68C396E600C567B77F000001, - 68C396E700C567B77F000001, - 68C396E900C567B77F000001, - 68C396ED00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSampleLister; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6A48AEF02390D0401000103, - 68C39A9F00C59DC47F000001, - 68C39AA000C59DC47F000001, - 68C39AA200C59DC47F000001, - ); - isa = PBXToolTarget; - name = QTSampleLister; - productName = "QTSampleLister (Tool)"; - productReference = 520F71F9070B767800B604C1; - }; - 68C396E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396E800C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396E800C567B77F000001 = { - fileRef = 68C3923D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396E900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396EB00C567B77F000001, - F57EED56027EA94401FF7AB9, - 68C39AA300C59DC47F000001, - F6A3A53302392AE101000103, - 68C39AA400C59DC47F000001, - 68C39AA600C59DC47F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396EB00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396ED00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396EE00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396EF00C567B77F000001; - targetProxy = FB0D1D77064AFB71006F2774; - }; - 68C396EF00C567B77F000001 = { - buildPhases = ( - 68C396F000C567B77F000001, - 68C396F100C567B77F000001, - 68C396F300C567B77F000001, - 68C396F700C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTTrackInfo; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AB100C59ED87F000001, - F6999B69023927CE01000103, - 68C39AB200C59ED87F000001, - 68C39AB400C59ED87F000001, - ); - isa = PBXToolTarget; - name = QTTrackInfo; - productName = "QTTrackInfo (Tool)"; - productReference = 520F7205070B767800B604C1; - }; - 68C396F000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396F200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F200C567B77F000001 = { - fileRef = 68C3924600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396F300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396F500C567B77F000001, - F57EED57027EA94401FF7AB9, - 68C39AA700C59E2F7F000001, - 68C39AA800C59E2F7F000001, - 68C39AAA00C59E2F7F000001, - F6A3A53402392AE101000103, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F500C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396F700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396F800C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396F900C567B77F000001; - targetProxy = FB0D1D25064AFB71006F2774; - }; - 68C396F900C567B77F000001 = { - buildPhases = ( - 68C396FA00C567B77F000001, - 68C396FB00C567B77F000001, - 68C396FD00C567B77F000001, - 68C3970100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTFileInfo; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39ABF00C59F0F7F000001, - 68C39AC000C59F0F7F000001, - F6999B6A023927CE01000103, - 68C39AC200C59F0F7F000001, - ); - isa = PBXToolTarget; - name = QTFileInfo; - productName = "QTFileInfo (Tool)"; - productReference = 520F720D070B767800B604C1; - }; - 68C396FA00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396FB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396FC00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396FC00C567B77F000001 = { - fileRef = 68C3924F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396FD00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C396FF00C567B77F000001, - F57EED58027EA94401FF7AB9, - 68C39AAB00C59E2F7F000001, - 68C39AAC00C59E2F7F000001, - F6A3A53502392AE101000103, - 68C39AAE00C59E2F7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C396FF00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3970100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970200C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3970300C567B77F000001; - targetProxy = FB0D1D28064AFB71006F2774; - }; - 68C3970300C567B77F000001 = { - buildPhases = ( - 68C3970400C567B77F000001, - 68C3970500C567B77F000001, - 68C3970700C567B77F000001, - 68C3970B00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTFileTest; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AC300C59F417F000001, - 68C39AC500C59F417F000001, - F6999B6B023927CE01000103, - 68C39AC600C59F417F000001, - ); - isa = PBXToolTarget; - name = QTFileTest; - productName = "QTFileTest (Tool)"; - productReference = 520F71F7070B767800B604C1; - }; - 68C3970400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3970600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970600C567B77F000001 = { - fileRef = 68C3925800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3970700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3970900C567B77F000001, - F57EED59027EA94401FF7AB9, - 68C39AAF00C59E2F7F000001, - 68C39AB000C59E2F7F000001, - 68C39AB600C59ED87F000001, - F6A3A53602392AE101000103, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970900C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3970B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970C00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3970D00C567B77F000001; - targetProxy = FB0D1D6A064AFB71006F2774; - }; - 68C3970D00C567B77F000001 = { - buildPhases = ( - 68C3970E00C567B77F000001, - 68C3970F00C567B77F000001, - 68C3971100C567B77F000001, - 68C3971500C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTBroadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AC700C59F6D7F000001, - F6999B6C023927CE01000103, - 68C39AC800C59F6D7F000001, - 68C39ACA00C59F6D7F000001, - ); - isa = PBXToolTarget; - name = QTBroadcaster; - productName = "QTBroadcaster (Tool)"; - productReference = 520F7203070B767800B604C1; - }; - 68C3970E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3970F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971000C567B77F000001 = { - fileRef = 68C3926100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3971100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971300C567B77F000001, - F57EED5A027EA94401FF7AB9, - 68C39AB700C59ED87F000001, - 68C39AB800C59ED87F000001, - F6A3A53702392AE101000103, - 68C39ABA00C59ED87F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971300C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3971500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971600C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3971700C567B77F000001; - targetProxy = FB0D1D1B064AFB71006F2774; - }; - 68C3971700C567B77F000001 = { - buildPhases = ( - 68C3971800C567B77F000001, - 68C3971A00C567B77F000001, - 68C3971C00C567B77F000001, - 68C3972000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = RTPFileGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39ACB00C59F927F000001, - 68C39ACC00C59F927F000001, - F6999B6D023927CE01000103, - 68C39ACE00C59F927F000001, - ); - isa = PBXToolTarget; - name = RTPFileGen; - productName = "RTPFileGen (Tool)"; - productReference = 520F71F5070B767800B604C1; - }; - 68C3971800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971900C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971900C567B77F000001 = { - fileRef = 68C3926C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3971A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971B00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971B00C567B77F000001 = { - fileRef = 68C3926A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3971C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3971E00C567B77F000001, - F57EED5B027EA94401FF7AB9, - 68C39ABB00C59ED87F000001, - 68C39ABC00C59ED87F000001, - F6A3A53802392AE101000103, - 68C39ABE00C59ED87F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3971E00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3972100C567B77F000001 = { - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3972C00C567B77F000001 = { - buildPhases = ( - 68C3972D00C567B77F000001, - 68C3974E00C567B77F000001, - 68C3976F00C567B77F000001, - 68C3978600C567B77F000001, - 00759B2B00F2586E00DD2B4C, - 00759B2E00F2593E00DD2B4C, - 61E7BB7F01A1D4AB0EDD2AFC, - FBCB7F4C0507F23500A273B4, - 00759B3400F259D500DD2B4C, - 00759B3500F25A0A00DD2B4C, - 00759B3600F25A0A00DD2B4C, - 00759B3700F25A8000DD2B4C, - 00759B3800F25A8000DD2B4C, - 00759B3900F25AF700DD2B4C, - 00759B3A00F25AF700DD2B4C, - 5273046504303F0B000ECF53, - FBCB7F5C0507F30000A273B4, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/sbin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QuickTimeStreamingServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E388B0279D59101DD2AFC, - 00A90E33029EC2E700DD2B4C, - ); - isa = PBXToolTarget; - name = Server; - productInstallPath = /usr/sbin; - productName = "QuickTimeStreamingServer (Tool)"; - productReference = 520F7201070B767800B604C1; - }; - 68C3972D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3972E00C567B77F000001, - 68C3972F00C567B77F000001, - 68C3973000C567B77F000001, - 68C3973100C567B77F000001, - 68C3973200C567B77F000001, - 68C3973300C567B77F000001, - 68C3973400C567B77F000001, - 68C3973500C567B77F000001, - 68C3973600C567B77F000001, - 68C3973700C567B77F000001, - 68C3973800C567B77F000001, - 68C3973900C567B77F000001, - 68C3973A00C567B77F000001, - 68C3973B00C567B77F000001, - 68C3973C00C567B77F000001, - 68C3973D00C567B77F000001, - 68C3973E00C567B77F000001, - 68C3973F00C567B77F000001, - 68C3974000C567B77F000001, - 68C3974100C567B77F000001, - 68C3974200C567B77F000001, - 68C3974300C567B77F000001, - 68C3974400C567B77F000001, - 68C3974500C567B77F000001, - 68C3974600C567B77F000001, - 68C3974700C567B77F000001, - 68C3974800C567B77F000001, - 68C3974900C567B77F000001, - 68C3974A00C567B77F000001, - 68C3974B00C567B77F000001, - 68C3974C00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3972E00C567B77F000001 = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972F00C567B77F000001 = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973000C567B77F000001 = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973100C567B77F000001 = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973200C567B77F000001 = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973300C567B77F000001 = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973400C567B77F000001 = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973500C567B77F000001 = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973600C567B77F000001 = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973700C567B77F000001 = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973800C567B77F000001 = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973900C567B77F000001 = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973A00C567B77F000001 = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973B00C567B77F000001 = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973C00C567B77F000001 = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973D00C567B77F000001 = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973E00C567B77F000001 = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3973F00C567B77F000001 = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974000C567B77F000001 = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974100C567B77F000001 = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974200C567B77F000001 = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974300C567B77F000001 = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974400C567B77F000001 = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974500C567B77F000001 = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974600C567B77F000001 = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974700C567B77F000001 = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974800C567B77F000001 = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974900C567B77F000001 = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974A00C567B77F000001 = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974B00C567B77F000001 = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974C00C567B77F000001 = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3974E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3974F00C567B77F000001, - 68C3975000C567B77F000001, - 68C3975100C567B77F000001, - 68C3975200C567B77F000001, - 68C3975300C567B77F000001, - 68C3975400C567B77F000001, - 68C3975500C567B77F000001, - 68C3975600C567B77F000001, - 68C3975700C567B77F000001, - 68C3975800C567B77F000001, - 68C3975900C567B77F000001, - 68C3975A00C567B77F000001, - 68C3975B00C567B77F000001, - 68C3975C00C567B77F000001, - 68C3975D00C567B77F000001, - 68C3975E00C567B77F000001, - 68C3975F00C567B77F000001, - 68C3976000C567B77F000001, - 68C3976100C567B77F000001, - 68C3976200C567B77F000001, - 68C3976300C567B77F000001, - 68C3976400C567B77F000001, - 68C3976500C567B77F000001, - 68C3976600C567B77F000001, - 68C3976700C567B77F000001, - 68C3976800C567B77F000001, - 68C3976900C567B77F000001, - 68C3976A00C567B77F000001, - 68C3976B00C567B77F000001, - 68C3976C00C567B77F000001, - 68C3976D00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3974F00C567B77F000001 = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975000C567B77F000001 = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975100C567B77F000001 = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975200C567B77F000001 = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975300C567B77F000001 = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975400C567B77F000001 = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975500C567B77F000001 = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975600C567B77F000001 = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975700C567B77F000001 = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975800C567B77F000001 = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975900C567B77F000001 = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975A00C567B77F000001 = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975B00C567B77F000001 = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975C00C567B77F000001 = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975D00C567B77F000001 = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975E00C567B77F000001 = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3975F00C567B77F000001 = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976000C567B77F000001 = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976100C567B77F000001 = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976200C567B77F000001 = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976300C567B77F000001 = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976400C567B77F000001 = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976500C567B77F000001 = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976600C567B77F000001 = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976700C567B77F000001 = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976800C567B77F000001 = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976900C567B77F000001 = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976A00C567B77F000001 = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976B00C567B77F000001 = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976C00C567B77F000001 = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976D00C567B77F000001 = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3976F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3977100C567B77F000001, - F5C080B70415983101DD2E7A, - F57EED5E027EA94401FF7AB9, - 0138E56E00C6B15A7F000001, - 0138E56F00C6B15A7F000001, - 0138E57000C6B15A7F000001, - 68C39AE300C5A5217F000001, - 0138E57100C6B15A7F000001, - 0138E57200C6B15A7F000001, - 0138E57300C6B15A7F000001, - 0138E57400C6B15A7F000001, - 0138E57500C6B15A7F000001, - 0138E57600C6B15A7F000001, - 0138E57700C6B15A7F000001, - 0138E57800C6B15A7F000001, - 0138E57A00C6B15A7F000001, - 0138E57C00C6B15A7F000001, - 0138E57D00C6B15A7F000001, - 68C39AE400C5A5217F000001, - 0138E57F00C6B15A7F000001, - 287CBF2800D174BE11DD2B4C, - F5EB63B1011F467801DD292F, - B62F395E012B34C40BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3977100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3978800C567B77F000001 = { - buildPhases = ( - 68C3978900C567B77F000001, - 68C3979E00C567B77F000001, - 68C397AF00C567B77F000001, - 68C397B500C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/bin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -D__USE_MAX_PRINTF__ -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = PlaylistBroadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F57EED61027EBA8101FF7AB9, - ); - isa = PBXToolTarget; - name = PlaylistBroadcaster; - productInstallPath = /usr/bin; - productName = "PlaylistBroadcaster (Tool)"; - productReference = 520F720B070B767800B604C1; - }; - 68C3978900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3978A00C567B77F000001, - 68C3978B00C567B77F000001, - 68C3978C00C567B77F000001, - 68C3978D00C567B77F000001, - 68C3978E00C567B77F000001, - 68C3978F00C567B77F000001, - 68C3979000C567B77F000001, - 68C3979100C567B77F000001, - 68C3979200C567B77F000001, - 68C3979300C567B77F000001, - 68C3979400C567B77F000001, - 68C3979500C567B77F000001, - 68C3979600C567B77F000001, - 68C3979700C567B77F000001, - 68C3979800C567B77F000001, - 68C3979900C567B77F000001, - 68C3979A00C567B77F000001, - 68C3979B00C567B77F000001, - 68C3979C00C567B77F000001, - 68C3979D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3978A00C567B77F000001 = { - fileRef = 68C392CF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978B00C567B77F000001 = { - fileRef = 68C392D000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978C00C567B77F000001 = { - fileRef = 68C392D100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978D00C567B77F000001 = { - fileRef = 68C392D200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978E00C567B77F000001 = { - fileRef = 68C392D300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3978F00C567B77F000001 = { - fileRef = 68C392D400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979000C567B77F000001 = { - fileRef = 68C392D500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979100C567B77F000001 = { - fileRef = 68C392D600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979200C567B77F000001 = { - fileRef = 68C392D700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979300C567B77F000001 = { - fileRef = 68C392D800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979400C567B77F000001 = { - fileRef = 68C392D900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979500C567B77F000001 = { - fileRef = 68C392DA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979600C567B77F000001 = { - fileRef = 68C392DB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979700C567B77F000001 = { - fileRef = 68C392DC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979800C567B77F000001 = { - fileRef = 68C392DD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979900C567B77F000001 = { - fileRef = 68C392DE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979A00C567B77F000001 = { - fileRef = 68C392DF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979B00C567B77F000001 = { - fileRef = 68C392E000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979C00C567B77F000001 = { - fileRef = 68C392E100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979D00C567B77F000001 = { - fileRef = 68C392E200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3979E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3979F00C567B77F000001, - 68C397A000C567B77F000001, - 68C397A100C567B77F000001, - 68C397A200C567B77F000001, - 68C397A300C567B77F000001, - 68C397A400C567B77F000001, - 68C397A500C567B77F000001, - 68C397A600C567B77F000001, - 68C397A700C567B77F000001, - 68C397A800C567B77F000001, - 68C397A900C567B77F000001, - 68C397AA00C567B77F000001, - 68C397AB00C567B77F000001, - 68C397AC00C567B77F000001, - 68C397AD00C567B77F000001, - 68C397AE00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3979F00C567B77F000001 = { - fileRef = 68C392BE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A000C567B77F000001 = { - fileRef = 68C392BF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A100C567B77F000001 = { - fileRef = 68C392C000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A200C567B77F000001 = { - fileRef = 68C392C100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A300C567B77F000001 = { - fileRef = 68C392C200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A400C567B77F000001 = { - fileRef = 68C392C300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A500C567B77F000001 = { - fileRef = 68C392C400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A600C567B77F000001 = { - fileRef = 68C392C500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A700C567B77F000001 = { - fileRef = 68C392C600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A800C567B77F000001 = { - fileRef = 68C392C700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397A900C567B77F000001 = { - fileRef = 68C392C800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AA00C567B77F000001 = { - fileRef = 68C392C900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AB00C567B77F000001 = { - fileRef = 68C392CA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AC00C567B77F000001 = { - fileRef = 68C392CB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AD00C567B77F000001 = { - fileRef = 68C392CC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AE00C567B77F000001 = { - fileRef = 68C392CD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397AF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397B100C567B77F000001, - F57EED5C027EA94401FF7AB9, - 68C39AD500C5A04A7F000001, - 68C39ADC00C5A1257F000001, - 68C39AD600C5A04A7F000001, - 68C39AD700C5A04A7F000001, - 68C39AD900C5A04A7F000001, - F6999B67023926FC01000103, - 68C39ADA00C5A04A7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397B100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397B500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397B700C567B77F000001 = { - buildPhases = ( - 68C397B800C567B77F000001, - 68C397B900C567B77F000001, - 68C397BB00C567B77F000001, - 68C397BE00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/bin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -DUSE_DEFAULT_STD_LIB -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fno-exceptions -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = revision.h; - PRODUCT_NAME = qtpasswd; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 0138E58200C6B3A57F000001, - ); - isa = PBXToolTarget; - name = qtpasswd; - productInstallPath = /usr/bin; - productName = "qtpasswd (Tool)"; - productReference = 520F71F2070B767800B604C1; - }; - 68C397B800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397B900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397BA00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397BA00C567B77F000001 = { - fileRef = 68C392EB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397BB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397BC00C567B77F000001, - F57EED5D027EA94401FF7AB9, - 0138E58300C6B3A57F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397BC00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397BE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397C000C567B77F000001 = { - buildPhases = ( - 68C397C100C567B77F000001, - 68C397C600C567B77F000001, - 68C397CC00C567B77F000001, - 68C397CE00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = revision.h; - PRODUCT_NAME = StreamingProxy; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXToolTarget; - name = StreamingProxy; - productName = "StreamingProxy (Tool)"; - productReference = 520F71FF070B767800B604C1; - }; - 68C397C100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397C200C567B77F000001, - 68C397C300C567B77F000001, - 68C397C400C567B77F000001, - 68C397C500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397C200C567B77F000001 = { - fileRef = 68C392F400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C300C567B77F000001 = { - fileRef = 68C392F500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C400C567B77F000001 = { - fileRef = 68C392F600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C500C567B77F000001 = { - fileRef = 68C392F700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397C600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397C800C567B77F000001, - 68C397C900C567B77F000001, - 68C397CA00C567B77F000001, - 68C397CB00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397C800C567B77F000001 = { - fileRef = 68C392FA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397C900C567B77F000001 = { - fileRef = 68C392FB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397CA00C567B77F000001 = { - fileRef = 68C392FC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397CB00C567B77F000001 = { - fileRef = 68C392FD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C397CC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397CD00C567B77F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C397CD00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C397CE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987300C567B77F000001 = { - buildPhases = ( - 68C3987400C567B77F000001, - 68C3987700C567B77F000001, - 68C3987B00C567B77F000001, - 68C3987D00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAtomicLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "AtomicLib (Library)"; - productName = "AtomicLib (Library)"; - productReference = 68C3969C00C567B77F000001; - }; - 68C3987400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3987500C567B77F000001, - 68C3987600C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987500C567B77F000001 = { - fileRef = 68C3946F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3987600C567B77F000001 = { - fileRef = 68C3947000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3987700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3987900C567B77F000001, - F5EF9AF001235DC301DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987900C567B77F000001 = { - fileRef = 68C3947300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3987B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3987F00C567B77F000001 = { - buildPhases = ( - 68C3988000C567B77F000001, - 68C398B100C567B77F000001, - 68C398D800C567B77F000001, - 68C398DC00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ". .. ../.."; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libCommonUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39A9600C59CF27F000001, - ); - isa = PBXLibraryTarget; - name = "CommonUtilitiesLib (Library)"; - productName = "CommonUtilitiesLib (Library)"; - productReference = 68C3969D00C567B77F000001; - }; - 68C3988000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3988100C567B77F000001, - 68C3988200C567B77F000001, - 68C3988300C567B77F000001, - 68C3988400C567B77F000001, - 68C3988500C567B77F000001, - 68C3988600C567B77F000001, - 68C3988700C567B77F000001, - 68C3988800C567B77F000001, - 68C3988900C567B77F000001, - 68C3988A00C567B77F000001, - 68C3988B00C567B77F000001, - 68C3988C00C567B77F000001, - 68C3988D00C567B77F000001, - 68C3988E00C567B77F000001, - 68C3988F00C567B77F000001, - 68C3989000C567B77F000001, - 68C3989100C567B77F000001, - 68C3989200C567B77F000001, - 68C3989300C567B77F000001, - 68C3989400C567B77F000001, - 68C3989500C567B77F000001, - 68C3989600C567B77F000001, - 68C3989700C567B77F000001, - 68C3989800C567B77F000001, - 68C3989900C567B77F000001, - 68C3989A00C567B77F000001, - 68C3989B00C567B77F000001, - 68C3989C00C567B77F000001, - 68C3989D00C567B77F000001, - 68C3989E00C567B77F000001, - 68C3989F00C567B77F000001, - 68C398A000C567B77F000001, - 68C398A100C567B77F000001, - 68C398A200C567B77F000001, - 68C398A300C567B77F000001, - 68C398A400C567B77F000001, - 68C398A500C567B77F000001, - 68C398A600C567B77F000001, - 68C398A700C567B77F000001, - 68C398A800C567B77F000001, - 68C398A900C567B77F000001, - 68C398AA00C567B77F000001, - 68C398AB00C567B77F000001, - 68C398AC00C567B77F000001, - 68C398AD00C567B77F000001, - 68C398AE00C567B77F000001, - 68C398AF00C567B77F000001, - 68C398B000C567B77F000001, - F50DFC12025357EB01F41924, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3988100C567B77F000001 = { - fileRef = 68C3949D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988200C567B77F000001 = { - fileRef = 68C3949E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988300C567B77F000001 = { - fileRef = 68C3949F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988400C567B77F000001 = { - fileRef = 68C394A000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988500C567B77F000001 = { - fileRef = 68C394A100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988600C567B77F000001 = { - fileRef = 68C394A200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988700C567B77F000001 = { - fileRef = 68C394A300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988800C567B77F000001 = { - fileRef = 68C394A400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988900C567B77F000001 = { - fileRef = 68C394A500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988A00C567B77F000001 = { - fileRef = 68C394A600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988B00C567B77F000001 = { - fileRef = 68C394A700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988C00C567B77F000001 = { - fileRef = 68C394A800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988D00C567B77F000001 = { - fileRef = 68C394A900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988E00C567B77F000001 = { - fileRef = 68C394AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988F00C567B77F000001 = { - fileRef = 68C394AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989000C567B77F000001 = { - fileRef = 68C394AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989100C567B77F000001 = { - fileRef = 68C394AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989200C567B77F000001 = { - fileRef = 68C394AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989300C567B77F000001 = { - fileRef = 68C394AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989400C567B77F000001 = { - fileRef = 68C394B000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989500C567B77F000001 = { - fileRef = 68C394B100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989600C567B77F000001 = { - fileRef = 68C394B200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989700C567B77F000001 = { - fileRef = 68C394B300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989800C567B77F000001 = { - fileRef = 68C394B400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989900C567B77F000001 = { - fileRef = 68C394B500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3989A00C567B77F000001 = { - fileRef = 68C394B600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989B00C567B77F000001 = { - fileRef = 68C394B700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989C00C567B77F000001 = { - fileRef = 68C394B800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989D00C567B77F000001 = { - fileRef = 68C394B900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3989E00C567B77F000001 = { - fileRef = 68C394BA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3989F00C567B77F000001 = { - fileRef = 68C394BB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A000C567B77F000001 = { - fileRef = 68C394BC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A100C567B77F000001 = { - fileRef = 68C394BD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A200C567B77F000001 = { - fileRef = 68C394BE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A300C567B77F000001 = { - fileRef = 68C394BF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A400C567B77F000001 = { - fileRef = 68C394C000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A500C567B77F000001 = { - fileRef = 68C394C100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A600C567B77F000001 = { - fileRef = 68C394C200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A700C567B77F000001 = { - fileRef = 68C394C300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A800C567B77F000001 = { - fileRef = 68C394C400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398A900C567B77F000001 = { - fileRef = 68C394C500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AA00C567B77F000001 = { - fileRef = 68C394C600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AB00C567B77F000001 = { - fileRef = 68C394C700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AC00C567B77F000001 = { - fileRef = 68C394C800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AD00C567B77F000001 = { - fileRef = 68C394C900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AE00C567B77F000001 = { - fileRef = 68C394CA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398AF00C567B77F000001 = { - fileRef = 68C394CB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398B000C567B77F000001 = { - fileRef = 68C394CC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398B100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398B200C567B77F000001, - 68C398B300C567B77F000001, - 68C398B400C567B77F000001, - 68C398B500C567B77F000001, - 68C398B600C567B77F000001, - 68C398B700C567B77F000001, - 68C398B800C567B77F000001, - 68C398B900C567B77F000001, - 68C398BA00C567B77F000001, - 68C398BB00C567B77F000001, - 68C398BC00C567B77F000001, - 68C398BD00C567B77F000001, - 68C398BE00C567B77F000001, - 68C398BF00C567B77F000001, - 68C398C000C567B77F000001, - 68C398C100C567B77F000001, - 68C398C200C567B77F000001, - 68C398C300C567B77F000001, - 68C398C400C567B77F000001, - 68C398C500C567B77F000001, - 68C398C600C567B77F000001, - 68C398C700C567B77F000001, - 68C398C800C567B77F000001, - 68C398C900C567B77F000001, - 68C398CA00C567B77F000001, - 68C398CB00C567B77F000001, - 68C398CC00C567B77F000001, - 68C398CD00C567B77F000001, - 68C398CE00C567B77F000001, - 68C398CF00C567B77F000001, - 68C398D000C567B77F000001, - 68C398D100C567B77F000001, - 68C398D200C567B77F000001, - 68C398D300C567B77F000001, - 68C398D400C567B77F000001, - 68C398D500C567B77F000001, - 68C398D600C567B77F000001, - 68C398D700C567B77F000001, - F50DFC13025357EB01F41924, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398B200C567B77F000001 = { - fileRef = 68C3947B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B300C567B77F000001 = { - fileRef = 68C3947C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B400C567B77F000001 = { - fileRef = 68C3947D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B500C567B77F000001 = { - fileRef = 68C3947E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B600C567B77F000001 = { - fileRef = 68C3947F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B700C567B77F000001 = { - fileRef = 68C3948000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B800C567B77F000001 = { - fileRef = 68C3948100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398B900C567B77F000001 = { - fileRef = 68C3948200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BA00C567B77F000001 = { - fileRef = 68C3948300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BB00C567B77F000001 = { - fileRef = 68C3948400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BC00C567B77F000001 = { - fileRef = 68C3948500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BD00C567B77F000001 = { - fileRef = 68C3948600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BE00C567B77F000001 = { - fileRef = 68C3948700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398BF00C567B77F000001 = { - fileRef = 68C3948800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C000C567B77F000001 = { - fileRef = 68C3948900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C100C567B77F000001 = { - fileRef = 68C3948A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C200C567B77F000001 = { - fileRef = 68C3948B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C300C567B77F000001 = { - fileRef = 68C3948C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C400C567B77F000001 = { - fileRef = 68C3948D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C500C567B77F000001 = { - fileRef = 68C3948E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C600C567B77F000001 = { - fileRef = 68C3948F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C700C567B77F000001 = { - fileRef = 68C3949000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C800C567B77F000001 = { - fileRef = 68C3949100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398C900C567B77F000001 = { - fileRef = 68C3949200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CA00C567B77F000001 = { - fileRef = 68C3949300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CB00C567B77F000001 = { - fileRef = 68C3949400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CC00C567B77F000001 = { - fileRef = 68C3949500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CD00C567B77F000001 = { - fileRef = 68C3949600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CE00C567B77F000001 = { - fileRef = 68C3949700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398CF00C567B77F000001 = { - fileRef = 68C3949800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D000C567B77F000001 = { - fileRef = 68C3949900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D100C567B77F000001 = { - fileRef = 68C3949A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D200C567B77F000001 = { - fileRef = 68C3949B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D300C567B77F000001 = { - fileRef = 68C394CE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D400C567B77F000001 = { - fileRef = 68C394CF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D500C567B77F000001 = { - fileRef = 68C394D000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D600C567B77F000001 = { - fileRef = 68C394D100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D700C567B77F000001 = { - fileRef = 68C394D200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398D800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7600C597627F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398DC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398DE00C567B77F000001 = { - buildPhases = ( - 68C399BA00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E27029EC2E700DD2B4C, - 00A90E1F029EBCC600DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules; - productName = "APIModules (Aggregate)"; - }; - 68C398E000C567B77F000001 = { - buildPhases = ( - 68C398E100C567B77F000001, - 68C398E200C567B77F000001, - 68C398E400C567B77F000001, - 68C398E600C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libOSMemory_Modules.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "OSMemory_Modules (Library)"; - productName = "OSMemory_Modules (Library)"; - productReference = 68C3969E00C567B77F000001; - }; - 68C398E100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398E300C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E300C567B77F000001 = { - fileRef = 68C394E100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398E400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E800C567B77F000001 = { - buildPhases = ( - 68C398E900C567B77F000001, - 68C398EB00C567B77F000001, - 68C398ED00C567B77F000001, - 68C398EF00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAccessLogModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387D0279D53D01DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAccessLogModule (Library)"; - productName = "QTSSAccessLogModule (Library)"; - productReference = 68C3969F00C567B77F000001; - }; - 68C398E900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398EA00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EA00C567B77F000001 = { - fileRef = 68C394EC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398EB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398EC00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EC00C567B77F000001 = { - fileRef = 68C394EA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398ED00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F100C567B77F000001 = { - buildPhases = ( - 68C398F200C567B77F000001, - 68C398F400C567B77F000001, - 68C398F600C567B77F000001, - 68C398F800C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSFileModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387F0279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSFileModule (Library)"; - productName = "QTSSFileModule (Library)"; - productReference = 68C396A000C567B77F000001; - }; - 68C398F200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398F300C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F300C567B77F000001 = { - fileRef = 68C394F700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398F400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398F500C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F500C567B77F000001 = { - fileRef = 68C394F500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398F600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398FA00C567B77F000001 = { - buildPhases = ( - 68C398FB00C567B77F000001, - 68C3990800C567B77F000001, - 68C3991400C567B77F000001, - 68C3991700C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSReflectorModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38800279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSReflectorModule (Library)"; - productName = "QTSSReflectorModule (Library)"; - productReference = 68C396A100C567B77F000001; - }; - 68C398FB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398FC00C567B77F000001, - 68C398FD00C567B77F000001, - 68C398FF00C567B77F000001, - 68C3990000C567B77F000001, - 68C3990100C567B77F000001, - 68C3990200C567B77F000001, - 68C3990300C567B77F000001, - 68C3990400C567B77F000001, - 68C3990500C567B77F000001, - 68C3990600C567B77F000001, - 68C3990700C567B77F000001, - 0066F5D0016E6AD000DD2B4C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398FC00C567B77F000001 = { - fileRef = 68C3950C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398FD00C567B77F000001 = { - fileRef = 68C3950D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398FF00C567B77F000001 = { - fileRef = 68C3950F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990000C567B77F000001 = { - fileRef = 68C3951000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990100C567B77F000001 = { - fileRef = 68C3951100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990200C567B77F000001 = { - fileRef = 68C3951200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990300C567B77F000001 = { - fileRef = 68C3951300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990400C567B77F000001 = { - fileRef = 68C3951400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990500C567B77F000001 = { - fileRef = 68C3951500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990600C567B77F000001 = { - fileRef = 68C3951600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990700C567B77F000001 = { - fileRef = 68C3951700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3990900C567B77F000001, - 68C3990A00C567B77F000001, - 68C3990C00C567B77F000001, - 68C3990D00C567B77F000001, - 68C3990E00C567B77F000001, - 68C3990F00C567B77F000001, - 68C3991000C567B77F000001, - 68C3991100C567B77F000001, - 68C3991200C567B77F000001, - 68C3991300C567B77F000001, - 0066F5D1016E6AD000DD2B4C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3990900C567B77F000001 = { - fileRef = 68C3950000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990A00C567B77F000001 = { - fileRef = 68C3950100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990C00C567B77F000001 = { - fileRef = 68C3950300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990D00C567B77F000001 = { - fileRef = 68C3950400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990E00C567B77F000001 = { - fileRef = 68C3950500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990F00C567B77F000001 = { - fileRef = 68C3950600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991000C567B77F000001 = { - fileRef = 68C3950700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991100C567B77F000001 = { - fileRef = 68C3950800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991200C567B77F000001 = { - fileRef = 68C3950900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991300C567B77F000001 = { - fileRef = 68C3950A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991900C567B77F000001 = { - buildPhases = ( - 68C3991A00C567B77F000001, - 68C3991C00C567B77F000001, - 68C3991E00C567B77F000001, - 68C3992000C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSFlowControlModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38810279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSFlowControlModule (Library)"; - productName = "QTSSFlowControlModule (Library)"; - productReference = 68C396A200C567B77F000001; - }; - 68C3991A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3991B00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991B00C567B77F000001 = { - fileRef = 68C3952200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3991C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3991D00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991D00C567B77F000001 = { - fileRef = 68C3952000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3991E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992200C567B77F000001 = { - buildPhases = ( - 68C3992300C567B77F000001, - 68C3992500C567B77F000001, - 68C3992700C567B77F000001, - 68C3992900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSWebDebugModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38820279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSWebDebugModule (Library)"; - productName = "QTSSWebDebugModule (Library)"; - productReference = 68C396A300C567B77F000001; - }; - 68C3992300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3992400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992400C567B77F000001 = { - fileRef = 68C3952D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3992500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3992600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992600C567B77F000001 = { - fileRef = 68C3952B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3992700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 0138E52A00C5C1787F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993400C567B77F000001 = { - buildPhases = ( - 68C3993500C567B77F000001, - 68C3993700C567B77F000001, - 68C3993800C567B77F000001, - 68C3993A00C567B77F000001, - 68C3994100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wshadow -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSSpamDefenseModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386D0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSSpamDefenseModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSSpamDefenseModule (Bundle)"; - productReference = 520F71FC070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSSpamDefenseModule - CFBundleGetInfoString - Protects against apple load tools - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.spamdefensemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSSpamDefenseModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3993500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993600C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993600C567B77F000001 = { - fileRef = 68C3954300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3993700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993900C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993900C567B77F000001 = { - fileRef = 68C3954100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3993A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993C00C567B77F000001, - F57EED3F027EA24601FF7AB9, - 0138E52B00C5C22A7F000001, - 0138E52C00C5C22A7F000001, - 0138E52D00C5C22A7F000001, - 0138E52E00C5C22A7F000001, - 70A648BC01162DA102DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993C00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3994100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994300C567B77F000001 = { - buildPhases = ( - 68C3994400C567B77F000001, - 68C3994600C567B77F000001, - 68C3994700C567B77F000001, - 68C3994900C567B77F000001, - 68C3995000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRawFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386E0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSRawFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSRawFileModule (Bundle)"; - productReference = 520F7210070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRawFileModule - CFBundleGetInfoString - returns a file as the rtsp response. - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.rawfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRawFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3994400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994500C567B77F000001 = { - fileRef = 68C3954E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3994600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994800C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994800C567B77F000001 = { - fileRef = 68C3954C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3994900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994B00C567B77F000001, - 0138E53700C6A7E27F000001, - 0138E53800C6A7E27F000001, - 0138E53900C6A7E27F000001, - 0138E53A00C6A7E27F000001, - F57EED45027EA3AB01FF7AB9, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994B00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3995000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995200C567B77F000001 = { - buildPhases = ( - 68C3995300C567B77F000001, - 68C3995500C567B77F000001, - 68C3995600C567B77F000001, - 68C3995800C567B77F000001, - 68C3996000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFilePrivsModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386F0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSFilePrivsModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSFilePrivsModule (Bundle)"; - productReference = 520F71F4070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFilePrivsModule - CFBundleGetInfoString - QTSSFilePrivsModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.fileprivsmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFilePrivsModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3995300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995400C567B77F000001 = { - fileRef = 68C3955900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3995500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995700C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995700C567B77F000001 = { - fileRef = 68C3955700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3995800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995A00C567B77F000001, - F57EED46027EA3AB01FF7AB9, - 0138E53B00C6A8B97F000001, - 0138E53C00C6A8B97F000001, - 0138E53F00C6A9C67F000001, - 0138E53D00C6A8B97F000001, - 0138E53E00C6A8B97F000001, - 70A6496701162F4E02DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995A00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996200C567B77F000001 = { - buildPhases = ( - 68C3996300C567B77F000001, - 68C3996600C567B77F000001, - 68C3996700C567B77F000001, - 68C3996A00C567B77F000001, - 68C3997000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSDemoAuthorizationModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38700279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSDemoAuthorizationModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSDemoAuthorizationModule (Bundle)"; - productReference = 520F720F070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSDemoAuthorizationModule - CFBundleGetInfoString - QTSSDemoAuthorizationModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.demoauthorizationmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSDemoAuthorizationModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3996300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996400C567B77F000001, - 68C3996500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996400C567B77F000001 = { - fileRef = 68C3956500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996500C567B77F000001 = { - fileRef = 68C3956600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996800C567B77F000001, - 68C3996900C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996800C567B77F000001 = { - fileRef = 68C3956200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3996900C567B77F000001 = { - fileRef = 68C3956300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3996A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996B00C567B77F000001, - F57EED47027EA3AB01FF7AB9, - 0138E54000C6AACF7F000001, - 0138E54100C6AACF7F000001, - 0138E54200C6AACF7F000001, - 0138E54300C6AACF7F000001, - 70A6496C01162FAC02DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996B00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3997000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997200C567B77F000001 = { - buildPhases = ( - 68C3997300C567B77F000001, - 68C3997500C567B77F000001, - 68C3997700C567B77F000001, - 68C3997900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSPOSIXFileSysModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38840279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSPOSIXFileSysModule (Library)"; - productName = "QTSSPOSIXFileSysModule (Library)"; - productReference = 68C396A900C567B77F000001; - }; - 68C3997300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997400C567B77F000001 = { - fileRef = 68C3957100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3997500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997600C567B77F000001 = { - fileRef = 68C3956F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3997700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997B00C567B77F000001 = { - buildPhases = ( - 68C3997C00C567B77F000001, - 68C3997E00C567B77F000001, - 68C3997F00C567B77F000001, - 68C3998100C567B77F000001, - 68C3998800C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSDemoSMILModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38710279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSDemoSMILModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSDemoSMILModule (Bundle)"; - productReference = 520F71FB070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSDemoSMILModule - CFBundleGetInfoString - QTSSDemoSMILModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.demosmilmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSDemoSMILModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3997C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997D00C567B77F000001 = { - fileRef = 68C3957C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3997E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998000C567B77F000001 = { - fileRef = 68C3957A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3998100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998300C567B77F000001, - F57EED48027EA3AB01FF7AB9, - 0138E54400C6AC357F000001, - 0138E54500C6AC357F000001, - 0138E54600C6AC357F000001, - 0138E54700C6AC357F000001, - 70A649750116302502DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998300C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998A00C567B77F000001 = { - buildPhases = ( - 68C3998B00C567B77F000001, - 68C3998F00C567B77F000001, - 68C3999300C567B77F000001, - 68C3999900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAdminModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38850279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAdminModule (Library)"; - productName = "QTSSAdminModule (Library)"; - productReference = 68C396AB00C567B77F000001; - }; - 68C3998B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998C00C567B77F000001, - 68C3998D00C567B77F000001, - 68C3998E00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998C00C567B77F000001 = { - fileRef = 68C3958900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998D00C567B77F000001 = { - fileRef = 68C3958A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998E00C567B77F000001 = { - fileRef = 68C3958B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3998F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3999000C567B77F000001, - 68C3999100C567B77F000001, - 68C3999200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3999000C567B77F000001 = { - fileRef = 68C3958500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3999100C567B77F000001 = { - fileRef = 68C3958600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3999200C567B77F000001 = { - fileRef = 68C3958700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3999300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7700C597627F000001, - 68C39A7800C597627F000001, - 68C39A7900C597627F000001, - 68C39A7A00C597627F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3999900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399AF00C567B77F000001 = { - buildPhases = ( - 68C399B000C567B77F000001, - 68C399B300C567B77F000001, - 68C399B600C567B77F000001, - 68C399B900C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAccessModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387E0279D53D01DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAccessModule (Library)"; - productName = "QTSSAccessModule (Library)"; - productReference = 68C396AE00C567B77F000001; - }; - 68C399B000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399B100C567B77F000001, - 68C399B200C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B100C567B77F000001 = { - fileRef = 68C395AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399B200C567B77F000001 = { - fileRef = 68C395B000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399B300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399B400C567B77F000001, - 68C399B500C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B400C567B77F000001 = { - fileRef = 68C395AC00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399B500C567B77F000001 = { - fileRef = 68C395AD00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399B600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7500C597067F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399BA00C567B77F000001 = { - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C100C567B77F000001 = { - buildPhases = ( - 68C399C200C567B77F000001, - 68C399C300C567B77F000001, - 68C399C500C567B77F000001, - 68C399C700C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libOSMemoryLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "OSMemoryLib (Library)"; - productName = "OSMemoryLib (Library)"; - productReference = 68C396AF00C567B77F000001; - }; - 68C399C200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399C400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C400C567B77F000001 = { - fileRef = 68C395B900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399C500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C900C567B77F000001 = { - buildPhases = ( - 68C399CA00C567B77F000001, - 68C399CF00C567B77F000001, - 68C399D400C567B77F000001, - 68C399D600C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTCPUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTCPUtilitiesLib (Library)"; - productName = "RTCPUtilitiesLib (Library)"; - productReference = 68C396B000C567B77F000001; - }; - 68C399CA00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399CB00C567B77F000001, - 68C399CC00C567B77F000001, - 68C399CD00C567B77F000001, - 68C399CE00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399CB00C567B77F000001 = { - fileRef = 68C395C700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CC00C567B77F000001 = { - fileRef = 68C395C800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CD00C567B77F000001 = { - fileRef = 68C395C900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CE00C567B77F000001 = { - fileRef = 68C395CA00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399D000C567B77F000001, - 68C399D100C567B77F000001, - 68C399D200C567B77F000001, - 68C399D300C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D000C567B77F000001 = { - fileRef = 68C395C200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D100C567B77F000001 = { - fileRef = 68C395C300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D200C567B77F000001 = { - fileRef = 68C395C400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D300C567B77F000001 = { - fileRef = 68C395C500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D800C567B77F000001 = { - buildPhases = ( - 68C399D900C567B77F000001, - 68C399E000C567B77F000001, - 68C399E600C567B77F000001, - 68C399E800C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libPrefsSourceLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "PrefsSourceLib (Library)"; - productName = "PrefsSourceLib (Library)"; - productReference = 68C396B100C567B77F000001; - }; - 68C399D900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399DA00C567B77F000001, - 68C399DD00C567B77F000001, - 68C399DF00C567B77F000001, - 003D3EDF0132F64100DD292F, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399DA00C567B77F000001 = { - fileRef = 68C395D800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399DD00C567B77F000001 = { - fileRef = 68C395DB00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399DF00C567B77F000001 = { - fileRef = 68C395DD00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399E000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399E100C567B77F000001, - 68C399E400C567B77F000001, - 003D3EE00132F64100DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399E100C567B77F000001 = { - fileRef = 68C395D300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399E400C567B77F000001 = { - fileRef = 68C395D600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399E800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399EA00C567B77F000001 = { - buildPhases = ( - 68C399EB00C567B77F000001, - 68C399EF00C567B77F000001, - 68C399F100C567B77F000001, - 68C399F300C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAPIStubLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "APIStubLib (Library)"; - productName = "APIStubLib (Library)"; - productReference = 68C396B200C567B77F000001; - }; - 68C399EB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399EC00C567B77F000001, - 68C399ED00C567B77F000001, - 68C399EE00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399EC00C567B77F000001 = { - fileRef = 68C395EA00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399ED00C567B77F000001 = { - fileRef = 68C395EB00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399EE00C567B77F000001 = { - fileRef = 68C395EC00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399EF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399F000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F000C567B77F000001 = { - fileRef = 68C395E800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399F100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F500C567B77F000001 = { - buildPhases = ( - 68C399F600C567B77F000001, - 68C399F900C567B77F000001, - 68C399FC00C567B77F000001, - 68C399FE00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libHTTPUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "HTTPUtilitiesLib (Library)"; - productName = "HTTPUtilitiesLib (Library)"; - productReference = 68C396B300C567B77F000001; - }; - 68C399F600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399F700C567B77F000001, - 68C399F800C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F700C567B77F000001 = { - fileRef = 68C395F800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399F800C567B77F000001 = { - fileRef = 68C395F900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399F900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399FA00C567B77F000001, - 68C399FB00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399FA00C567B77F000001 = { - fileRef = 68C395F500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399FB00C567B77F000001 = { - fileRef = 68C395F600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399FC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399FE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0000C567B77F000001 = { - buildPhases = ( - 68C39A0100C567B77F000001, - 68C39A0300C567B77F000001, - 68C39A0500C567B77F000001, - 68C39A0700C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTPMetaInfoLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTPMetaInfoLib (Library)"; - productName = "RTPMetaInfoLib (Library)"; - productReference = 68C396B400C567B77F000001; - }; - 68C39A0100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0200C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0200C567B77F000001 = { - fileRef = 68C3960400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0400C567B77F000001 = { - fileRef = 68C3960200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A0500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0900C567B77F000001 = { - buildPhases = ( - 68C39A0A00C567B77F000001, - 68C39A1E00C567B77F000001, - 68C39A3200C567B77F000001, - 68C39A3400C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -DDSS_USE_API_CALLBACKS -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTFileLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTFileLib (Library)"; - productName = "QTFileLib (Library)"; - productReference = 68C396B500C567B77F000001; - }; - 68C39A0A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0B00C567B77F000001, - 68C39A0C00C567B77F000001, - 68C39A0D00C567B77F000001, - 68C39A0E00C567B77F000001, - 68C39A0F00C567B77F000001, - 68C39A1000C567B77F000001, - 68C39A1100C567B77F000001, - 68C39A1200C567B77F000001, - 68C39A1300C567B77F000001, - 68C39A1400C567B77F000001, - 68C39A1500C567B77F000001, - 68C39A1600C567B77F000001, - 68C39A1700C567B77F000001, - 68C39A1800C567B77F000001, - 68C39A1900C567B77F000001, - 68C39A1A00C567B77F000001, - 68C39A1B00C567B77F000001, - 68C39A1C00C567B77F000001, - 68C39A1D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0B00C567B77F000001 = { - fileRef = 68C3962100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0C00C567B77F000001 = { - fileRef = 68C3962200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0D00C567B77F000001 = { - fileRef = 68C3962300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0E00C567B77F000001 = { - fileRef = 68C3962400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0F00C567B77F000001 = { - fileRef = 68C3962500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1000C567B77F000001 = { - fileRef = 68C3962600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1100C567B77F000001 = { - fileRef = 68C3962700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1200C567B77F000001 = { - fileRef = 68C3962800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1300C567B77F000001 = { - fileRef = 68C3962900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1400C567B77F000001 = { - fileRef = 68C3962A00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1500C567B77F000001 = { - fileRef = 68C3962B00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1600C567B77F000001 = { - fileRef = 68C3962C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1700C567B77F000001 = { - fileRef = 68C3962D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1800C567B77F000001 = { - fileRef = 68C3962E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1900C567B77F000001 = { - fileRef = 68C3962F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1A00C567B77F000001 = { - fileRef = 68C3963000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1B00C567B77F000001 = { - fileRef = 68C3963100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1C00C567B77F000001 = { - fileRef = 68C3963200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1D00C567B77F000001 = { - fileRef = 68C3963300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A1E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A1F00C567B77F000001, - 68C39A2000C567B77F000001, - 68C39A2100C567B77F000001, - 68C39A2200C567B77F000001, - 68C39A2300C567B77F000001, - 68C39A2400C567B77F000001, - 68C39A2500C567B77F000001, - 68C39A2600C567B77F000001, - 68C39A2700C567B77F000001, - 68C39A2800C567B77F000001, - 68C39A2900C567B77F000001, - 68C39A2A00C567B77F000001, - 68C39A2B00C567B77F000001, - 68C39A2C00C567B77F000001, - 68C39A2D00C567B77F000001, - 68C39A2E00C567B77F000001, - 68C39A2F00C567B77F000001, - 68C39A3000C567B77F000001, - 68C39A3100C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A1F00C567B77F000001 = { - fileRef = 68C3960D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2000C567B77F000001 = { - fileRef = 68C3960E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2100C567B77F000001 = { - fileRef = 68C3960F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2200C567B77F000001 = { - fileRef = 68C3961000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2300C567B77F000001 = { - fileRef = 68C3961100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2400C567B77F000001 = { - fileRef = 68C3961200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2500C567B77F000001 = { - fileRef = 68C3961300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2600C567B77F000001 = { - fileRef = 68C3961400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2700C567B77F000001 = { - fileRef = 68C3961500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2800C567B77F000001 = { - fileRef = 68C3961600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2900C567B77F000001 = { - fileRef = 68C3961700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2A00C567B77F000001 = { - fileRef = 68C3961800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2B00C567B77F000001 = { - fileRef = 68C3961900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2C00C567B77F000001 = { - fileRef = 68C3961A00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2D00C567B77F000001 = { - fileRef = 68C3961B00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2E00C567B77F000001 = { - fileRef = 68C3961C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2F00C567B77F000001 = { - fileRef = 68C3961D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3000C567B77F000001 = { - fileRef = 68C3961E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3100C567B77F000001 = { - fileRef = 68C3961F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3600C567B77F000001 = { - buildPhases = ( - 68C39A3700C567B77F000001, - 68C39A3D00C567B77F000001, - 68C39A4300C567B77F000001, - 68C39A4500C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAPICommonCode.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "APICommonCode (Library)"; - productName = "APICommonCode (Library)"; - productReference = 68C396B600C567B77F000001; - }; - 68C39A3700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A3800C567B77F000001, - 68C39A3900C567B77F000001, - 68C39A3A00C567B77F000001, - 68C39A3B00C567B77F000001, - 68C39A3C00C567B77F000001, - F532558C0288434401DD2B50, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3800C567B77F000001 = { - fileRef = 68C3964200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3900C567B77F000001 = { - fileRef = 68C3964300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3A00C567B77F000001 = { - fileRef = 68C3964400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3B00C567B77F000001 = { - fileRef = 68C3964500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3C00C567B77F000001 = { - fileRef = 68C3964600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A3D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A3E00C567B77F000001, - 68C39A3F00C567B77F000001, - 68C39A4000C567B77F000001, - 68C39A4100C567B77F000001, - 68C39A4200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3E00C567B77F000001 = { - fileRef = 68C3963C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A3F00C567B77F000001 = { - fileRef = 68C3963D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4000C567B77F000001 = { - fileRef = 68C3963E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4100C567B77F000001 = { - fileRef = 68C3963F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4200C567B77F000001 = { - fileRef = 68C3964000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4700C567B77F000001 = { - buildPhases = ( - 68C39A4800C567B77F000001, - 68C39A4C00C567B77F000001, - 68C39A5000C567B77F000001, - 68C39A5200C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTSPClientLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTSPClientLib (Library)"; - productName = "RTSPClientLib (Library)"; - productReference = 68C396B700C567B77F000001; - }; - 68C39A4800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A4900C567B77F000001, - 68C39A4A00C567B77F000001, - 68C39A4B00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4900C567B77F000001 = { - fileRef = 68C3965300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A4A00C567B77F000001 = { - fileRef = 68C3965400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A4B00C567B77F000001 = { - fileRef = 68C3965500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A4C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A4D00C567B77F000001, - 68C39A4E00C567B77F000001, - 68C39A4F00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4D00C567B77F000001 = { - fileRef = 68C3964F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4E00C567B77F000001 = { - fileRef = 68C3965000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A4F00C567B77F000001 = { - fileRef = 68C3965100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A5000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A5200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A7500C597067F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7600C597627F000001 = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7700C597627F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7800C597627F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7900C597627F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7A00C597627F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7B00C597AB7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7C00C597AB7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7D00C597AB7F000001 = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A7E00C597AB7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8000C598377F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D78064AFB71006F2774; - }; - 68C39A8100C598B27F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D5F064AFB71006F2774; - }; - 68C39A8300C598B27F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D1E064AFB71006F2774; - }; - 68C39A8600C59A9E7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8700C59A9E7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8800C59A9E7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8A00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D69064AFB71006F2774; - }; - 68C39A8C00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D22064AFB71006F2774; - }; - 68C39A8D00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D5C064AFB71006F2774; - }; - 68C39A8E00C59BD47F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9000C59BD47F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9100C59BD47F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9200C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D81064AFB71006F2774; - }; - 68C39A9300C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D80064AFB71006F2774; - }; - 68C39A9400C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - targetProxy = FB0D1D7F064AFB71006F2774; - }; - 68C39A9500C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D7E064AFB71006F2774; - }; - 68C39A9600C59CF27F000001 = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1DDD064AFB71006F2774; - }; - 68C39A9700C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DBE064AFB71006F2774; - }; - 68C39A9800C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DBF064AFB71006F2774; - }; - 68C39A9A00C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D23064AFB71006F2774; - }; - 68C39A9B00C59D627F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9C00C59D627F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9E00C59D627F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9F00C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D71064AFB71006F2774; - }; - 68C39AA000C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D70064AFB71006F2774; - }; - 68C39AA200C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D6F064AFB71006F2774; - }; - 68C39AA300C59DC47F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA400C59DC47F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA600C59DC47F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA700C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AA800C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAA00C59E2F7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAB00C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAC00C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAE00C59E2F7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AAF00C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB000C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB100C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DAA064AFB71006F2774; - }; - 68C39AB200C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DB9064AFB71006F2774; - }; - 68C39AB400C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1DA5064AFB71006F2774; - }; - 68C39AB600C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB700C59ED87F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB800C59ED87F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABA00C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABB00C59ED87F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABC00C59ED87F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABE00C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABF00C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D1F064AFB71006F2774; - }; - 68C39AC000C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DB0064AFB71006F2774; - }; - 68C39AC200C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D5D064AFB71006F2774; - }; - 68C39AC300C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D65064AFB71006F2774; - }; - 68C39AC500C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D64064AFB71006F2774; - }; - 68C39AC600C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D62064AFB71006F2774; - }; - 68C39AC700C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DAE064AFB71006F2774; - }; - 68C39AC800C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DAC064AFB71006F2774; - }; - 68C39ACA00C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D2A064AFB71006F2774; - }; - 68C39ACB00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D53064AFB71006F2774; - }; - 68C39ACC00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D52064AFB71006F2774; - }; - 68C39ACE00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D51064AFB71006F2774; - }; - 68C39AD500C5A04A7F000001 = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD600C5A04A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD700C5A04A7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD900C5A04A7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADA00C5A04A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADC00C5A1257F000001 = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADF00C5A41F7F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = get_opt.h; - refType = 4; - sourceTree = ""; - }; - 68C39AE000C5A41F7F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = get_opt.c; - refType = 4; - sourceTree = ""; - }; - 68C39AE300C5A5217F000001 = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AE400C5A5217F000001 = { - fileRef = 68C396A300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//680 -//681 -//682 -//683 -//684 -//700 -//701 -//702 -//703 -//704 - 70A648BC01162DA102DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 70A6496701162F4E02DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 70A6496C01162FAC02DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 70A649750116302502DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//700 -//701 -//702 -//703 -//704 -//840 -//841 -//842 -//843 -//844 - 846E9B7D0728600F00E7A587 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_broadcast_password.html; - path = WebAdmin/WebAdminHtml/change_broadcast_password.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 846E9B7E0728602900E7A587 = { - fileRef = 846E9B7D0728600F00E7A587; - isa = PBXBuildFile; - settings = { - }; - }; -//840 -//841 -//842 -//843 -//844 -//B60 -//B61 -//B62 -//B63 -//B64 - B62C45C5012B21870BDD2A6C = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSMP3StreamingModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B62C45C6012B21880BDD2A6C = { - buildPhases = ( - B62C45C7012B21880BDD2A6C, - B62C45C8012B21880BDD2A6C, - B62C45C9012B21880BDD2A6C, - B62C45CA012B21880BDD2A6C, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSMP3StreamingModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 520F723C070B8F7600B604C1, - F52E38880279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSMP3StreamingModule (Library)"; - productName = QTSSMP3StreamingModule; - productReference = B62C45C5012B21870BDD2A6C; - }; - B62C45C7012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B62C45CF012B253C0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45C8012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B62C45CC012B24BF0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45C9012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45CA012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45CB012B24BD0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = QTSSMP3StreamingModule.cpp; - path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp; - refType = 4; - sourceTree = ""; - }; - B62C45CC012B24BF0BDD2A6C = { - fileRef = B62C45CB012B24BD0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B62C45CD012B253B0BDD2A6C = { - children = ( - B62C45CB012B24BD0BDD2A6C, - B62C45CE012B253B0BDD2A6C, - ); - isa = PBXGroup; - name = QTSSMP3StreamingModule; - path = ""; - refType = 4; - sourceTree = ""; - }; - B62C45CE012B253B0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = QTSSMP3StreamingModule.h; - path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.h; - refType = 4; - sourceTree = ""; - }; - B62C45CF012B253C0BDD2A6C = { - fileRef = B62C45CE012B253B0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B62F395E012B34C40BDD2A6C = { - fileRef = B62C45C5012B21870BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494F950279F74E0BDD2A6C = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSRefMovieModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B6494F960279F7500BDD2A6C = { - buildPhases = ( - B6494F970279F7500BDD2A6C, - B6494F980279F7500BDD2A6C, - B6494F990279F7500BDD2A6C, - B6494F9A0279F7500BDD2A6C, - B6494F9B0279F7500BDD2A6C, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRefMovieModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - ); - isa = PBXBundleTarget; - name = "QTSSRefMovieModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSRefMovieModule; - productReference = B6494F950279F74E0BDD2A6C; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRefMovieModule - CFBundleGetInfoString - Generate RTSP ref movies - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.refmoviemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRefMovieModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - B6494F970279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA10279F88F0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F980279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F990279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA20279F88F0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9A0279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA40279F98A0BDD2A6C, - F57EED44027EA28201FF7AB9, - B6494FA50279F9B10BDD2A6C, - B6494FA60279FA6F0BDD2A6C, - B6494FA70279FAB80BDD2A6C, - B6494FA80279FB8D0BDD2A6C, - B69647D8027A41EC0BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9B0279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9C0279F7A90BDD2A6C = { - isa = PBXTargetDependency; - target = B6494F960279F7500BDD2A6C; - targetProxy = FB0D1D9D064AFB71006F2774; - }; - B6494F9D0279F88D0BDD2A6C = { - children = ( - B6494F9E0279F88D0BDD2A6C, - B6494F9F0279F88D0BDD2A6C, - ); - isa = PBXGroup; - name = QTSSRefMovieModule; - refType = 4; - sourceTree = ""; - }; - B6494F9E0279F88D0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = QTSSRefMovieModule.cpp; - path = QTSSRefMovieModule/QTSSRefMovieModule.cpp; - refType = 4; - sourceTree = ""; - }; - B6494F9F0279F88D0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = QTSSRefMovieModule.h; - path = QTSSRefMovieModule/QTSSRefMovieModule.h; - refType = 4; - sourceTree = ""; - }; - B6494FA10279F88F0BDD2A6C = { - fileRef = B6494F9F0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA20279F88F0BDD2A6C = { - fileRef = B6494F9E0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA40279F98A0BDD2A6C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA50279F9B10BDD2A6C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA60279FA6F0BDD2A6C = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA70279FAB80BDD2A6C = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA80279FB8D0BDD2A6C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5CA02B97F160BDD2A6C = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = StreamingProxyServer; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B649D5CB02B97F170BDD2A6C = { - buildPhases = ( - B649D5CC02B97F170BDD2A6C, - B649D5CD02B97F170BDD2A6C, - B649D5CE02B97F170BDD2A6C, - B649D5CF02B97F170BDD2A6C, - ); - buildSettings = { - INSTALL_PATH = /usr/sbin; - OTHER_CFLAGS = "-DDSS_DYNAMIC_MODULES_ONLY -DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = StreamingProxyServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - B649D5D002B9813B0BDD2A6C, - ); - isa = PBXToolTarget; - name = StreamingProxyServer; - productInstallPath = /usr/sbin; - productName = StreamingProxyServer; - productReference = B649D5CA02B97F160BDD2A6C; - }; - B649D5CC02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D5D302B9813B0BDD2A6C, - B649D5D402B9813B0BDD2A6C, - B649D5D502B9813B0BDD2A6C, - B649D5D602B9813B0BDD2A6C, - B649D5D702B9813C0BDD2A6C, - B649D5D802B9813C0BDD2A6C, - B649D5D902B9813C0BDD2A6C, - B649D5DA02B9813C0BDD2A6C, - B649D5DB02B9813C0BDD2A6C, - B649D5DC02B9813C0BDD2A6C, - B649D5DD02B9813C0BDD2A6C, - B649D5DE02B9813C0BDD2A6C, - B649D5DF02B9813C0BDD2A6C, - B649D5E002B9813C0BDD2A6C, - B649D5E102B9813C0BDD2A6C, - B649D5E202B9813C0BDD2A6C, - B649D5E302B9813C0BDD2A6C, - B649D5E402B9813C0BDD2A6C, - B649D5E502B9813C0BDD2A6C, - B649D5E602B9813C0BDD2A6C, - B649D5E702B9813C0BDD2A6C, - B649D5E802B9813C0BDD2A6C, - B649D5E902B9813C0BDD2A6C, - B649D5EA02B9813C0BDD2A6C, - B649D5EB02B9813C0BDD2A6C, - B649D5EC02B9813C0BDD2A6C, - B649D5ED02B9813C0BDD2A6C, - B649D5EE02B9813C0BDD2A6C, - B649D5EF02B9813C0BDD2A6C, - B649D5F002B9813C0BDD2A6C, - B649D5F102B9813C0BDD2A6C, - B649D5F902B9813C0BDD2A6C, - B649D5FA02B9813C0BDD2A6C, - B649D5FB02B9813C0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CD02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D63802B9813C0BDD2A6C, - B649D63902B9813C0BDD2A6C, - B649D63A02B9813C0BDD2A6C, - B649D63B02B9813C0BDD2A6C, - B649D63C02B9813C0BDD2A6C, - B649D63D02B9813C0BDD2A6C, - B649D63E02B9813C0BDD2A6C, - B649D63F02B9813C0BDD2A6C, - B649D64002B9813C0BDD2A6C, - B649D64102B9813C0BDD2A6C, - B649D64202B9813C0BDD2A6C, - B649D64302B9813C0BDD2A6C, - B649D64402B9813C0BDD2A6C, - B649D64502B9813C0BDD2A6C, - B649D64602B9813C0BDD2A6C, - B649D64702B9813C0BDD2A6C, - B649D64802B9813C0BDD2A6C, - B649D64902B9813C0BDD2A6C, - B649D64A02B9813C0BDD2A6C, - B649D64B02B9813C0BDD2A6C, - B649D64C02B9813C0BDD2A6C, - B649D64D02B9813C0BDD2A6C, - B649D64E02B9813C0BDD2A6C, - B649D64F02B9813C0BDD2A6C, - B649D65002B9813C0BDD2A6C, - B649D65102B9813C0BDD2A6C, - B649D65202B9813C0BDD2A6C, - B649D65302B9813C0BDD2A6C, - B649D65402B9813C0BDD2A6C, - B649D65502B9813C0BDD2A6C, - B649D65602B9813C0BDD2A6C, - B649D65D02B9813C0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CE02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D69302B983380BDD2A6C, - B649D69402B983380BDD2A6C, - B649D69502B983380BDD2A6C, - B649D69602B983380BDD2A6C, - B649D69702B983380BDD2A6C, - B649D69802B983380BDD2A6C, - B649D69902B983380BDD2A6C, - B649D69A02B983380BDD2A6C, - B649D69B02B983380BDD2A6C, - B649D69C02B983380BDD2A6C, - B649D69D02B983380BDD2A6C, - B649D69E02B983380BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CF02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5D002B9813B0BDD2A6C = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D56064AFB71006F2774; - }; - B649D5D302B9813B0BDD2A6C = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D402B9813B0BDD2A6C = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D502B9813B0BDD2A6C = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D602B9813B0BDD2A6C = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D702B9813C0BDD2A6C = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D802B9813C0BDD2A6C = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D902B9813C0BDD2A6C = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DA02B9813C0BDD2A6C = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DB02B9813C0BDD2A6C = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DC02B9813C0BDD2A6C = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DD02B9813C0BDD2A6C = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DE02B9813C0BDD2A6C = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5DF02B9813C0BDD2A6C = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E002B9813C0BDD2A6C = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E102B9813C0BDD2A6C = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E202B9813C0BDD2A6C = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E302B9813C0BDD2A6C = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E402B9813C0BDD2A6C = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E502B9813C0BDD2A6C = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E602B9813C0BDD2A6C = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E702B9813C0BDD2A6C = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E802B9813C0BDD2A6C = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5E902B9813C0BDD2A6C = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EA02B9813C0BDD2A6C = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EB02B9813C0BDD2A6C = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EC02B9813C0BDD2A6C = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5ED02B9813C0BDD2A6C = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EE02B9813C0BDD2A6C = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5EF02B9813C0BDD2A6C = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5F002B9813C0BDD2A6C = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5F102B9813C0BDD2A6C = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5F902B9813C0BDD2A6C = { - fileRef = 68C395EA00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5FA02B9813C0BDD2A6C = { - fileRef = 68C395EC00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5FB02B9813C0BDD2A6C = { - fileRef = 68C395EB00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63802B9813C0BDD2A6C = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63902B9813C0BDD2A6C = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63A02B9813C0BDD2A6C = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63B02B9813C0BDD2A6C = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63C02B9813C0BDD2A6C = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63D02B9813C0BDD2A6C = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63E02B9813C0BDD2A6C = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D63F02B9813C0BDD2A6C = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64002B9813C0BDD2A6C = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64102B9813C0BDD2A6C = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64202B9813C0BDD2A6C = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64302B9813C0BDD2A6C = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64402B9813C0BDD2A6C = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64502B9813C0BDD2A6C = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64602B9813C0BDD2A6C = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64702B9813C0BDD2A6C = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64802B9813C0BDD2A6C = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64902B9813C0BDD2A6C = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64A02B9813C0BDD2A6C = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64B02B9813C0BDD2A6C = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64C02B9813C0BDD2A6C = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64D02B9813C0BDD2A6C = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64E02B9813C0BDD2A6C = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64F02B9813C0BDD2A6C = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65002B9813C0BDD2A6C = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65102B9813C0BDD2A6C = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65202B9813C0BDD2A6C = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65302B9813C0BDD2A6C = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65402B9813C0BDD2A6C = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65502B9813C0BDD2A6C = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65602B9813C0BDD2A6C = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D65D02B9813C0BDD2A6C = { - fileRef = 68C395E800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69302B983380BDD2A6C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69402B983380BDD2A6C = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69502B983380BDD2A6C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69602B983380BDD2A6C = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69702B983380BDD2A6C = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69802B983380BDD2A6C = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69902B983380BDD2A6C = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69A02B983380BDD2A6C = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69B02B983380BDD2A6C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69C02B983380BDD2A6C = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69D02B983380BDD2A6C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69E02B983380BDD2A6C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B66082C20337F1DF0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = defaultPaths.h; - refType = 4; - sourceTree = ""; - }; - B69647D8027A41EC0BDD2A6C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B6DC97F702FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6DC980102FB30350BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97F802FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6DC980002FB30350BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97F902FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97FA02FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97FB02FB2EAB0BDD2A6C = { - buildPhases = ( - B6DC97F702FB2EAB0BDD2A6C, - B6DC97F802FB2EAB0BDD2A6C, - B6DC97F902FB2EAB0BDD2A6C, - B6DC97FA02FB2EAB0BDD2A6C, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSProxyModule.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTSSProxyModule (Library)"; - productInstallPath = /usr/local/lib; - productName = QTSSProxyModule; - productReference = B6DC97FC02FB2EAB0BDD2A6C; - }; - B6DC97FC02FB2EAB0BDD2A6C = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSProxyModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B6DC97FD02FB30350BDD2A6C = { - children = ( - B6DC97FE02FB30350BDD2A6C, - B6DC97FF02FB30350BDD2A6C, - ); - isa = PBXGroup; - path = QTSSProxyModule; - refType = 4; - sourceTree = ""; - }; - B6DC97FE02FB30350BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSProxyModule.cpp; - refType = 4; - sourceTree = ""; - }; - B6DC97FF02FB30350BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSProxyModule.h; - refType = 4; - sourceTree = ""; - }; - B6DC980002FB30350BDD2A6C = { - fileRef = B6DC97FE02FB30350BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6DC980102FB30350BDD2A6C = { - fileRef = B6DC97FF02FB30350BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6DC980302FB313E0BDD2A6C = { - isa = PBXTargetDependency; - target = B6DC97FB02FB2EAB0BDD2A6C; - targetProxy = FB0D1D4C064AFB71006F2774; - }; -//B60 -//B61 -//B62 -//B63 -//B64 -//DB0 -//DB1 -//DB2 -//DB3 -//DB4 - DB5FB48607C42A3D00A894EA = { - children = ( - DB5FB4CE07C4336500A894EA, - DB5FB4CF07C4336500A894EA, - DB5FB4D007C4336500A894EA, - ); - isa = PBXGroup; - name = man1; - refType = 4; - sourceTree = ""; - }; - DB5FB4CD07C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = createuserstreamingdir.8; - path = Documentation/man/qtss/createuserstreamingdir.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4CE07C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - name = MP3Broadcaster.1; - path = Documentation/man/qtss/MP3Broadcaster.1; - refType = 4; - sourceTree = ""; - }; - DB5FB4CF07C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - name = PlaylistBroadcaster.1; - path = Documentation/man/qtss/PlaylistBroadcaster.1; - refType = 4; - sourceTree = ""; - }; - DB5FB4D007C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - name = qtpasswd.1; - path = Documentation/man/qtss/qtpasswd.1; - refType = 4; - sourceTree = ""; - }; - DB5FB4D107C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = QuickTimeStreamingServer.8; - path = Documentation/man/qtss/QuickTimeStreamingServer.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4D207C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = streamingadminserver.pl.8; - path = Documentation/man/qtss/streamingadminserver.pl.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4D307C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = StreamingLoadTool.8; - path = Documentation/man/qtss/StreamingLoadTool.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4DC07C433A600A894EA = { - buildActionMask = 8; - comments = man1; - dstPath = /usr/share/man/man1; - dstSubfolderSpec = 0; - files = ( - DBDEE63C07C435A1007A0296, - DBDEE63D07C435A1007A0296, - DBDEE63E07C435A1007A0296, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - DB5FB4F907C433BC00A894EA = { - children = ( - DB5FB4CD07C4336500A894EA, - DB5FB4D107C4336500A894EA, - DB5FB4D207C4336500A894EA, - DB5FB4D307C4336500A894EA, - ); - isa = PBXGroup; - name = man8; - refType = 4; - sourceTree = ""; - }; - DB5FB50507C433EA00A894EA = { - buildActionMask = 8; - comments = man8; - dstPath = /usr/share/man/man8; - dstSubfolderSpec = 0; - files = ( - DBDEE64707C435A6007A0296, - DBDEE64807C435A6007A0296, - DBDEE64907C435A6007A0296, - DBDEE64A07C435A6007A0296, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - DBDEE63C07C435A1007A0296 = { - fileRef = DB5FB4CE07C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE63D07C435A1007A0296 = { - fileRef = DB5FB4CF07C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE63E07C435A1007A0296 = { - fileRef = DB5FB4D007C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE64707C435A6007A0296 = { - fileRef = DB5FB4CD07C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE64807C435A6007A0296 = { - fileRef = DB5FB4D107C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE64907C435A6007A0296 = { - fileRef = DB5FB4D207C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE64A07C435A6007A0296 = { - fileRef = DB5FB4D307C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; -//DB0 -//DB1 -//DB2 -//DB3 -//DB4 -//E90 -//E91 -//E92 -//E93 -//E94 - E9013524018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_arrow_down.gif; - path = WebAdmin/WebAdminHtml/images/scroll_arrow_down.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013525018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_arrow_up.gif; - path = WebAdmin/WebAdminHtml/images/scroll_arrow_up.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013526018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_bg.gif; - path = WebAdmin/WebAdminHtml/images/scroll_bg.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013527018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_bg_inactive.gif; - path = WebAdmin/WebAdminHtml/images/scroll_bg_inactive.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013528018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_thumb.gif; - path = WebAdmin/WebAdminHtml/images/scroll_thumb.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013529018645DF09DD2838 = { - fileRef = E9013524018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352A018645DF09DD2838 = { - fileRef = E9013525018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352B018645DF09DD2838 = { - fileRef = E9013526018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352C018645DF09DD2838 = { - fileRef = E9013527018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E901352D018645DF09DD2838 = { - fileRef = E9013528018645DE09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9029E240188C0DA09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_start_playlist.gif; - path = WebAdmin/WebAdminHtml/images/icon_start_playlist.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9029E250188C0DB09DD2838 = { - fileRef = E9029E240188C0DA09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9029E260188C10709DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_stop_playlist.gif; - path = WebAdmin/WebAdminHtml/images/icon_stop_playlist.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9029E270188C10809DD2838 = { - fileRef = E9029E260188C10709DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E90CD037016133D009DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = sort_arrow_desc.gif; - path = WebAdmin/WebAdminHtml/images/sort_arrow_desc.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E90CD038016133D109DD2838 = { - fileRef = E90CD037016133D009DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E90CD039016133F209DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_error.gif; - path = WebAdmin/WebAdminHtml/images/icon_error.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E90CD03A016133F309DD2838 = { - fileRef = E90CD039016133F209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E90CF1AB014FDE2709DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_mp3_password.html; - path = WebAdmin/WebAdminHtml/change_mp3_password.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E90CF1AC014FDE2809DD2838 = { - fileRef = E90CF1AB014FDE2709DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E924776E01C6CFD209DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = MapUTF.pl; - path = WebAdmin/WebAdminHtml/MapUTF.pl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E924776F01C6CFD309DD2838 = { - fileRef = E924776E01C6CFD209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E926569B0430ED4409DD2838 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; - }; - E93941050291C82409DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = "password-utils.pl"; - path = "WebAdmin/WebAdminHtml/password-utils.pl"; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E93941060291C82509DD2838 = { - fileRef = E93941050291C82409DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E93DD2F0027876B609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = users.html; - path = WebAdmin/WebAdminHtml/users.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E93DD2F1027876B709DD2838 = { - fileRef = E93DD2F0027876B609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9423B930146CCCF09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = relayxmlparser.pl; - path = WebAdmin/WebAdminHtml/relayxmlparser.pl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9423B940146CCD009DD2838 = { - fileRef = E9423B930146CCCF09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E957C41901454E2009DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = index.html; - path = WebAdmin/WebAdminHtml/index.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E957C41A01454E2109DD2838 = { - fileRef = E957C41901454E2009DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E95AB76D013AC8BF09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_password.html; - path = WebAdmin/WebAdminHtml/change_password.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E95AB76F013AC8C009DD2838 = { - fileRef = E95AB76D013AC8BF09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E961241C0432443309DD2838 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R g+w ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; - }; - E96314AC013B155309DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = log_settings.html; - path = WebAdmin/WebAdminHtml/log_settings.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E96314AD013B155309DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = ports.html; - path = WebAdmin/WebAdminHtml/ports.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E96314B0013B155409DD2838 = { - fileRef = E96314AC013B155309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E96314B1013B155409DD2838 = { - fileRef = E96314AD013B155309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9686BA401B2D0D209DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant5.html; - path = WebAdmin/WebAdminHtml/setup_assistant5.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9686BA501B2D0D309DD2838 = { - fileRef = E9686BA401B2D0D209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E978DC40017F827C09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_password_redirect.html; - path = WebAdmin/WebAdminHtml/change_password_redirect.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E978DC41017F827D09DD2838 = { - fileRef = E978DC40017F827C09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E97D18EC0150316E09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = genres; - path = WebAdmin/WebAdminHtml/html_en/genres; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E97D18ED0150316E09DD2838 = { - fileRef = E97D18EC0150316E09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E97F11EE04313E7C09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = start_broadcaster.html; - refType = 4; - sourceTree = ""; - }; - E97F11EF04313E7C09DD2838 = { - fileRef = E97F11EE04313E7C09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E97F11F004313E8A09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = restart_broadcaster.html; - refType = 4; - sourceTree = ""; - }; - E97F11F104313E8A09DD2838 = { - fileRef = E97F11F004313E8A09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98933B602F6140609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = broadcaster_lib.pl; - path = WebAdmin/WebAdminHtml/broadcaster_lib.pl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98933B702F6140609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = broadcaster_settings.html; - path = WebAdmin/WebAdminHtml/broadcaster_settings.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98933B802F6140609DD2838 = { - fileRef = E98933B602F6140609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98933B902F6140609DD2838 = { - fileRef = E98933B702F6140609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD95602F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95702F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD96102F5BCF209DD2838, - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95802F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD97202F5BD9609DD2838, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95902F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD97002F5BD6309DD2838, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95A02F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95B02F5BC3309DD2838 = { - buildPhases = ( - E98FD95602F5BC3309DD2838, - E98FD95702F5BC3309DD2838, - E98FD95802F5BC3309DD2838, - E98FD95902F5BC3309DD2838, - E98FD95A02F5BC3309DD2838, - ); - buildSettings = { - INSTALL_PATH = /Applications/Server/; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = "QTSS Web Admin"; - SECTORDER_FLAGS = ""; - USE_GCC3_PFE_SUPPORT = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = app; - }; - dependencies = ( - ); - isa = PBXApplicationTarget; - name = QTSSLinkApp; - productInstallPath = /Applications/Server/; - productName = QTSSLink; - productReference = E98FD95C02F5BC3309DD2838; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSS Web Admin - CFBundleGetInfoString - Executes the web admin on port 1220 - CFBundleIconFile - QTSS Admin app - CFBundleIdentifier - com.apple.qtss.linkapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QuickTime Streaming Server - CFBundlePackageType - APPL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - E98FD95C02F5BC3309DD2838 = { - explicitFileType = wrapper.application; - isa = PBXFileReference; - path = "QTSS Web Admin.app"; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - E98FD95E02F5BCA109DD2838 = { - children = ( - E98FD96002F5BCF209DD2838, - E98FD97102F5BD9609DD2838, - ); - isa = PBXGroup; - name = QTSSLinkApp; - refType = 4; - sourceTree = ""; - }; - E98FD96002F5BCF209DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.icns; - name = "QTSS Admin app.icns"; - path = "WebAdmin/QTSSLinkApp/QTSS Admin app.icns"; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98FD96102F5BCF209DD2838 = { - fileRef = E98FD96002F5BCF209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD96A02F5BD6309DD2838 = { - isa = PBXFileReference; - lastKnownFileType = wrapper.framework; - name = Cocoa.framework; - path = /System/Library/Frameworks/Cocoa.framework; - refType = 0; - sourceTree = ""; - }; - E98FD97002F5BD6309DD2838 = { - fileRef = E98FD96A02F5BD6309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD97102F5BD9609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - name = qtsslinkapp_main.m; - path = WebAdmin/QTSSLinkApp/qtsslinkapp_main.m; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98FD97202F5BD9609DD2838 = { - fileRef = E98FD97102F5BD9609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FF20A01860AAB09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_generic.gif; - path = WebAdmin/WebAdminHtml/images/icon_generic.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98FF20B01860AAC09DD2838 = { - fileRef = E98FF20A01860AAB09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9A7DCF2015180FB09FF1BBE = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = link.gif; - path = WebAdmin/WebAdminHtml/images/link.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9A7DCF3015180FB09FF1BBE = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = link_disabled.gif; - path = WebAdmin/WebAdminHtml/images/link_disabled.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9A7DCF4015180FC09FF1BBE = { - fileRef = E9A7DCF2015180FB09FF1BBE; - isa = PBXBuildFile; - settings = { - }; - }; - E9A7DCF5015180FC09FF1BBE = { - fileRef = E9A7DCF3015180FB09FF1BBE; - isa = PBXBuildFile; - settings = { - }; - }; - E9ACCA5C013C317B09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = error_log.html; - path = WebAdmin/WebAdminHtml/error_log.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9ACCA5D013C317C09DD2838 = { - fileRef = E9ACCA5C013C317B09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9ACCA5E013C52EB09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = access_log.html; - path = WebAdmin/WebAdminHtml/access_log.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9ACCA5F013C52EC09DD2838 = { - fileRef = E9ACCA5E013C52EB09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9BA8EEF027A14D009DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_user.gif; - path = WebAdmin/WebAdminHtml/images/icon_user.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9BA8EF0027A14D109DD2838 = { - fileRef = E9BA8EEF027A14D009DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9BA8EF1027A14D909DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_group.gif; - path = WebAdmin/WebAdminHtml/images/icon_group.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9BA8EF2027A14DA09DD2838 = { - fileRef = E9BA8EF1027A14D909DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9E2F95501C9716509DD2838 = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.javascript; - name = encode_unicode.js; - path = WebAdmin/WebAdminHtml/includes/encode_unicode.js; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9E2F95601C9716609DD2838 = { - fileRef = E9E2F95501C9716509DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9E7E9C4016BDDD509DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = start_server.html; - path = WebAdmin/WebAdminHtml/start_server.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9E7E9C5016BDDD609DD2838 = { - fileRef = E9E7E9C4016BDDD509DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9EC923C0137107609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = general_settings.html; - path = WebAdmin/WebAdminHtml/general_settings.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9EC923E0137107709DD2838 = { - fileRef = E9EC923C0137107609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; -//E90 -//E91 -//E92 -//E93 -//E94 -//F50 -//F51 -//F52 -//F53 -//F54 - F50ACCCF037E597A017C358E = { - isa = PBXTargetDependency; - target = 008788DE026B412B00DD2B4C; - targetProxy = FB0D1DD8064AFB71006F2774; - }; - F50DFC10025357EB01F41924 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SDPUtils.cpp; - refType = 4; - sourceTree = ""; - }; - F50DFC11025357EB01F41924 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SDPUtils.h; - refType = 4; - sourceTree = ""; - }; - F50DFC12025357EB01F41924 = { - fileRef = F50DFC11025357EB01F41924; - isa = PBXBuildFile; - settings = { - }; - }; - F50DFC13025357EB01F41924 = { - fileRef = F50DFC10025357EB01F41924; - isa = PBXBuildFile; - settings = { - }; - }; - F51C62E30279D3BC01DD2AFC = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = Libraries; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F51C62E40279D3BC01DD2AFC, - F51C62E50279D3BC01DD2AFC, - F51C62E60279D3BC01DD2AFC, - F51C62E70279D3BC01DD2AFC, - F51C62E80279D3BC01DD2AFC, - F51C62E90279D3BC01DD2AFC, - F51C62EA0279D3BC01DD2AFC, - F51C62EB0279D3BC01DD2AFC, - 00A90E34029ECF7E00DD2B4C, - F51C62EC0279D3BC01DD2AFC, - F51C62ED0279D3BC01DD2AFC, - F51C62EE0279D3BC01DD2AFC, - F51C62EF0279D3BC01DD2AFC, - F57EED51027EA7E001FF7AB9, - F57EED52027EA7E001FF7AB9, - ); - isa = PBXAggregateTarget; - name = Libraries; - productName = Libraries; - }; - F51C62E40279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1D49064AFB71006F2774; - }; - F51C62E50279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1D48064AFB71006F2774; - }; - F51C62E60279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - targetProxy = FB0D1D47064AFB71006F2774; - }; - F51C62E70279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D46064AFB71006F2774; - }; - F51C62E80279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399F500C567B77F000001; - targetProxy = FB0D1D45064AFB71006F2774; - }; - F51C62E90279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D44064AFB71006F2774; - }; - F51C62EA0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C398E000C567B77F000001; - targetProxy = FB0D1D43064AFB71006F2774; - }; - F51C62EB0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - targetProxy = FB0D1D42064AFB71006F2774; - }; - F51C62EC0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - targetProxy = FB0D1D40064AFB71006F2774; - }; - F51C62ED0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399C900C567B77F000001; - targetProxy = FB0D1D3F064AFB71006F2774; - }; - F51C62EE0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D3E064AFB71006F2774; - }; - F51C62EF0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - targetProxy = FB0D1D3D064AFB71006F2774; - }; - F52E386C0279D4DA01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D1C064AFB71006F2774; - }; - F52E386D0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D7A064AFB71006F2774; - }; - F52E386E0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCD064AFB71006F2774; - }; - F52E386F0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D34064AFB71006F2774; - }; - F52E38700279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCF064AFB71006F2774; - }; - F52E38710279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D75064AFB71006F2774; - }; - F52E38720279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCB064AFB71006F2774; - }; - F52E38730279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D2C064AFB71006F2774; - }; - F52E38740279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D7B064AFB71006F2774; - }; - F52E38750279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DBB064AFB71006F2774; - }; - F52E38760279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D24064AFB71006F2774; - }; - F52E38770279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D5E064AFB71006F2774; - }; - F52E38780279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DA7064AFB71006F2774; - }; - F52E38790279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D1D064AFB71006F2774; - }; - F52E387A0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D6B064AFB71006F2774; - }; - F52E387B0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D79064AFB71006F2774; - }; - F52E387C0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D33064AFB71006F2774; - }; - F52E387D0279D53D01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D59064AFB71006F2774; - }; - F52E387E0279D53D01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCC064AFB71006F2774; - }; - F52E387F0279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D50064AFB71006F2774; - }; - F52E38800279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DB8064AFB71006F2774; - }; - F52E38810279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D58064AFB71006F2774; - }; - F52E38820279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DA4064AFB71006F2774; - }; - F52E38840279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D6C064AFB71006F2774; - }; - F52E38850279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DD9064AFB71006F2774; - }; - F52E38880279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCE064AFB71006F2774; - }; - F52E38890279D57301DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D26064AFB71006F2774; - }; - F52E388B0279D59101DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DA8064AFB71006F2774; - }; - F532558B0288434401DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSMemoryDeleter.h; - refType = 4; - sourceTree = ""; - }; - F532558C0288434401DD2B50 = { - fileRef = F532558B0288434401DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA8B011744B601DD292F = { - children = ( - F533DA8C011744B601DD292F, - F533DA8D011744B601DD292F, - F533DA8E011744B601DD292F, - F533DA8F011744B601DD292F, - F533DA90011744B601DD292F, - F533DA91011744B601DD292F, - F533DA92011744B601DD292F, - F533DA93011744B601DD292F, - F533DA94011744B601DD292F, - ); - isa = PBXGroup; - path = MP3Broadcaster; - refType = 4; - sourceTree = ""; - }; - F533DA8C011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BroadcasterMain.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA8D011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3Broadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA8E011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3Broadcaster.h; - refType = 4; - sourceTree = ""; - }; - F533DA8F011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3BroadcasterLog.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA90011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3BroadcasterLog.h; - refType = 4; - sourceTree = ""; - }; - F533DA91011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3FileBroadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA92011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3FileBroadcaster.h; - refType = 4; - sourceTree = ""; - }; - F533DA93011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3MetaInfoUpdater.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA94011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3MetaInfoUpdater.h; - refType = 4; - sourceTree = ""; - }; - F533DA95011744B601DD292F = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = MP3Broadcaster; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F533DA97011744B701DD292F = { - buildPhases = ( - F533DA9C011744B701DD292F, - F533DAA1011744B701DD292F, - F533DAAA011744B701DD292F, - F533DAB1011744B701DD292F, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = "-D__MacOSX__ -D__USE_MAX_PRINTF__"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = MP3Broadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F533DAC5011745E201DD292F, - F533DA99011744B701DD292F, - F533DA9A011744B701DD292F, - F533DA9B011744B701DD292F, - ); - isa = PBXToolTarget; - name = MP3Broadcaster; - productInstallPath = /usr/bin; - productName = MP3Broadcaster; - productReference = F533DA95011744B601DD292F; - }; - F533DA99011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D60064AFB71006F2774; - }; - F533DA9A011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DBD064AFB71006F2774; - }; - F533DA9B011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - targetProxy = FB0D1DD0064AFB71006F2774; - }; - F533DA9C011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DA9D011744B701DD292F, - F533DA9E011744B701DD292F, - F533DA9F011744B701DD292F, - F533DAA0011744B701DD292F, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DA9D011744B701DD292F = { - fileRef = F533DA8E011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA9E011744B701DD292F = { - fileRef = F533DA90011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA9F011744B701DD292F = { - fileRef = F533DA92011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA0011744B701DD292F = { - fileRef = F533DA94011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA1011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DAA2011744B701DD292F, - F533DAA3011744B701DD292F, - F533DAA4011744B701DD292F, - F533DAA5011744B701DD292F, - F533DAA6011744B701DD292F, - F533DAA7011744B701DD292F, - F533DAA8011744B701DD292F, - F533DAA9011744B701DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAA2011744B701DD292F = { - fileRef = F533DA8C011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA3011744B701DD292F = { - fileRef = F533DA8D011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA4011744B701DD292F = { - fileRef = F533DA8F011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA5011744B701DD292F = { - fileRef = F533DA91011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA6011744B701DD292F = { - fileRef = F533DA93011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA7011744B701DD292F = { - fileRef = 68C392C000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA8011744B701DD292F = { - fileRef = 68C392C100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA9011744B701DD292F = { - fileRef = 68C392C700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAA011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DAAC011744B701DD292F, - F57EED5F027EA94401FF7AB9, - F533DAAD011744B701DD292F, - F533DAAE011744B701DD292F, - F533DAAF011744B701DD292F, - F5EB63B2011F4A8F01DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAAC011744B701DD292F = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAD011744B701DD292F = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAE011744B701DD292F = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAF011744B701DD292F = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAB1011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAC5011745E201DD292F = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1D97064AFB71006F2774; - }; - F54D303D027FCAD101000102 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - targetProxy = FB0D1DD4064AFB71006F2774; - }; - F54D303E027FCAD101000102 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - targetProxy = FB0D1D19064AFB71006F2774; - }; - F551E69C013818ED01000102 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = confirm.html; - path = WebAdmin/WebAdminHtml/confirm.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F551E69E0138190801000102 = { - fileRef = F551E69C013818ED01000102; - isa = PBXBuildFile; - settings = { - }; - }; - F5610DA501B5C81301DD2F6B = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = dialog_side.gif; - path = WebAdmin/WebAdminHtml/images/dialog_side.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5610DA601B5C81501DD2F6B = { - fileRef = F5610DA501B5C81301DD2F6B; - isa = PBXBuildFile; - settings = { - }; - }; - F568F9780254EE28010001C8 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = nav_logo_small.gif; - path = WebAdmin/WebAdminHtml/images/nav_logo_small.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F568F9790254EE29010001C8 = { - fileRef = F568F9780254EE28010001C8; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2D0278791501DD2AFC = { - fileRef = 68C3950C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2E0278791501DD2AFC = { - fileRef = 68C3950D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2F0278791501DD2AFC = { - fileRef = 68C3950F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A300278791501DD2AFC = { - fileRef = 68C3951000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A310278791501DD2AFC = { - fileRef = 68C3951100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A320278791501DD2AFC = { - fileRef = 68C3951200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A330278791501DD2AFC = { - fileRef = 68C3951300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A340278791501DD2AFC = { - fileRef = 68C3951400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A350278791501DD2AFC = { - fileRef = 68C3951500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A360278791501DD2AFC = { - fileRef = 68C3951600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A370278791501DD2AFC = { - fileRef = 68C3951700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A380278791501DD2AFC = { - fileRef = 0066F5CF016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A390278791501DD2AFC = { - fileRef = 68C3950000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3A0278791501DD2AFC = { - fileRef = 68C3950100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3B0278791501DD2AFC = { - fileRef = 68C3950300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3C0278791501DD2AFC = { - fileRef = 68C3950400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3D0278791501DD2AFC = { - fileRef = 68C3950500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3E0278791501DD2AFC = { - fileRef = 68C3950600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3F0278791501DD2AFC = { - fileRef = 68C3950700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A400278791501DD2AFC = { - fileRef = 68C3950800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A410278791501DD2AFC = { - fileRef = 68C3950900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A420278791501DD2AFC = { - fileRef = 68C3950A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A430278791501DD2AFC = { - fileRef = 0066F5CE016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A440278791501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A450278791501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A460278791501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A470278791501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A480278791501DD2AFC = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A490278796A01DD2AFC = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4A0278796A01DD2AFC = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4D02787A6901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4E02787A7F01DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4F02787A9501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5002787AF101DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5102787AF101DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5202787AF901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5302787B0101DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A600278ADD701DD2AFC = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = QuickTimeStreamingServer; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F56B5A610278ADD701DD2AFC = { - buildPhases = ( - F56B5A620278ADD701DD2AFC, - F56B5A630278ADD701DD2AFC, - F56B5A640278ADD701DD2AFC, - F56B5ABF0278B00A01DD2AFC, - F56B5AC20278B00A01DD2AFC, - F56B5AC70278B00A01DD2AFC, - F56B5AC80278B00A01DD2AFC, - F56B5AC90278B00A01DD2AFC, - F56B5ACA0278B00A01DD2AFC, - F56B5ACB0278B00A01DD2AFC, - F56B5ACC0278B00A01DD2AFC, - F56B5ACD0278B00A01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /usr/sbin; - OTHER_CFLAGS = "-DDSS_DYNAMIC_MODULES_ONLY -DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QuickTimeStreamingServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38890279D57301DD2AFC, - ); - isa = PBXToolTarget; - name = Server_No_Modules; - productInstallPath = /usr/sbin; - productName = Server_No_Modules; - productReference = F56B5A600278ADD701DD2AFC; - }; - F56B5A620278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A720278AF2501DD2AFC, - F56B5A730278AF2501DD2AFC, - F56B5A740278AF2501DD2AFC, - F56B5A750278AF2501DD2AFC, - F56B5A760278AF2501DD2AFC, - F56B5A770278AF2501DD2AFC, - F56B5A780278AF2501DD2AFC, - F56B5A790278AF2501DD2AFC, - F56B5A7A0278AF2501DD2AFC, - F56B5A7B0278AF2501DD2AFC, - F56B5A7C0278AF2501DD2AFC, - F56B5A7D0278AF2501DD2AFC, - F56B5A7E0278AF2501DD2AFC, - F56B5A7F0278AF2501DD2AFC, - F56B5A800278AF2501DD2AFC, - F56B5A810278AF2501DD2AFC, - F56B5A820278AF2501DD2AFC, - F56B5A830278AF2501DD2AFC, - F56B5A840278AF2501DD2AFC, - F56B5A850278AF2501DD2AFC, - F56B5A860278AF2501DD2AFC, - F56B5A870278AF2501DD2AFC, - F56B5A880278AF2501DD2AFC, - F56B5A890278AF2501DD2AFC, - F56B5A8A0278AF2501DD2AFC, - F56B5A8B0278AF2501DD2AFC, - F56B5A8C0278AF2501DD2AFC, - F56B5A8D0278AF2501DD2AFC, - F56B5A8E0278AF2501DD2AFC, - F56B5A8F0278AF2501DD2AFC, - F56B5A900278AF2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A630278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A920278AF2501DD2AFC, - F56B5A930278AF2501DD2AFC, - F56B5A940278AF2501DD2AFC, - F56B5A950278AF2501DD2AFC, - F56B5A960278AF2501DD2AFC, - F56B5A970278AF2501DD2AFC, - F56B5A980278AF2501DD2AFC, - F56B5A990278AF2501DD2AFC, - F56B5A9A0278AF2501DD2AFC, - F56B5A9B0278AF2501DD2AFC, - F56B5A9C0278AF2501DD2AFC, - F56B5A9D0278AF2501DD2AFC, - F56B5A9E0278AF2501DD2AFC, - F56B5A9F0278AF2501DD2AFC, - F56B5AA00278AF2501DD2AFC, - F56B5AA10278AF2501DD2AFC, - F56B5AA20278AF2501DD2AFC, - F56B5AA30278AF2501DD2AFC, - F56B5AA40278AF2501DD2AFC, - F56B5AA50278AF2501DD2AFC, - F56B5AA60278AF2501DD2AFC, - F56B5AA70278AF2501DD2AFC, - F56B5AA80278AF2501DD2AFC, - F56B5AA90278AF2501DD2AFC, - F56B5AAA0278AF2501DD2AFC, - F56B5AAB0278AF2501DD2AFC, - F56B5AAC0278AF2501DD2AFC, - F56B5AAD0278AF2501DD2AFC, - F56B5AAE0278AF2501DD2AFC, - F56B5AAF0278AF2501DD2AFC, - F56B5AB00278AF2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A640278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5AB30278AF2501DD2AFC, - F56B5AB40278AF2501DD2AFC, - F56B5AB50278AF2501DD2AFC, - F56B5AB60278AF2501DD2AFC, - F56B5AB70278AF2501DD2AFC, - F56B5AB80278AF2501DD2AFC, - F56B5AB90278AF2501DD2AFC, - F56B5ABA0278AF2501DD2AFC, - F56B5ABB0278AF2501DD2AFC, - F56B5ABC0278AF2501DD2AFC, - F56B5ABD0278AF2501DD2AFC, - F56B5ABE0278AF2501DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A720278AF2501DD2AFC = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A730278AF2501DD2AFC = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A740278AF2501DD2AFC = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A750278AF2501DD2AFC = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A760278AF2501DD2AFC = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A770278AF2501DD2AFC = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A780278AF2501DD2AFC = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A790278AF2501DD2AFC = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7A0278AF2501DD2AFC = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7B0278AF2501DD2AFC = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7C0278AF2501DD2AFC = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7D0278AF2501DD2AFC = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7E0278AF2501DD2AFC = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7F0278AF2501DD2AFC = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A800278AF2501DD2AFC = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A810278AF2501DD2AFC = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A820278AF2501DD2AFC = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A830278AF2501DD2AFC = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A840278AF2501DD2AFC = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A850278AF2501DD2AFC = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A860278AF2501DD2AFC = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A870278AF2501DD2AFC = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A880278AF2501DD2AFC = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A890278AF2501DD2AFC = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8A0278AF2501DD2AFC = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8B0278AF2501DD2AFC = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8C0278AF2501DD2AFC = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8D0278AF2501DD2AFC = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8E0278AF2501DD2AFC = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8F0278AF2501DD2AFC = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A900278AF2501DD2AFC = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A920278AF2501DD2AFC = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A930278AF2501DD2AFC = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A940278AF2501DD2AFC = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A950278AF2501DD2AFC = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A960278AF2501DD2AFC = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A970278AF2501DD2AFC = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A980278AF2501DD2AFC = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A990278AF2501DD2AFC = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9A0278AF2501DD2AFC = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9B0278AF2501DD2AFC = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9C0278AF2501DD2AFC = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9D0278AF2501DD2AFC = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9E0278AF2501DD2AFC = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9F0278AF2501DD2AFC = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA00278AF2501DD2AFC = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA10278AF2501DD2AFC = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA20278AF2501DD2AFC = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA30278AF2501DD2AFC = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA40278AF2501DD2AFC = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA50278AF2501DD2AFC = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA60278AF2501DD2AFC = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA70278AF2501DD2AFC = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA80278AF2501DD2AFC = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA90278AF2501DD2AFC = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAA0278AF2501DD2AFC = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAB0278AF2501DD2AFC = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAC0278AF2501DD2AFC = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAD0278AF2501DD2AFC = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAE0278AF2501DD2AFC = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAF0278AF2501DD2AFC = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB00278AF2501DD2AFC = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB30278AF2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB40278AF2501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB50278AF2501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB60278AF2501DD2AFC = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB70278AF2501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB80278AF2501DD2AFC = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB90278AF2501DD2AFC = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABA0278AF2501DD2AFC = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABB0278AF2501DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABC0278AF2501DD2AFC = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABD0278AF2501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABE0278AF2501DD2AFC = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABF0278B00A01DD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - F56B5AC00278B00A01DD2AFC, - F56B5AC10278B00A01DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - F56B5AC00278B00A01DD2AFC = { - fileRef = 68C3920E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC10278B00A01DD2AFC = { - fileRef = 005B0878013B079200DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC20278B00A01DD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Movies; - dstSubfolderSpec = 0; - files = ( - F56B5AC30278B00A01DD2AFC, - F56B5AC50278B00A01DD2AFC, - F56B5AC60278B00A01DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - F56B5AC30278B00A01DD2AFC = { - fileRef = 0082672B01A2F39A00DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC50278B00A01DD2AFC = { - fileRef = 61B89716017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC60278B00A01DD2AFC = { - fileRef = 61B89717017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC70278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - F56B5AC80278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - F56B5AC90278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - F56B5ACA0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; - }; - F56B5ACB0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; - }; - F56B5ACC0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; - }; - F56B5ACD0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R ug+w ${DSTROOT}/Library/QuickTimeStreaming\t"; - }; - F56CBE630136D97301000102 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = weight_up_arrow.gif; - path = WebAdmin/WebAdminHtml/images/weight_up_arrow.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F56CBE640136D97301000102 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = wieght_down_arrow.gif; - path = WebAdmin/WebAdminHtml/images/wieght_down_arrow.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F56CBE670136D97301000102 = { - fileRef = F56CBE630136D97301000102; - isa = PBXBuildFile; - settings = { - }; - }; - F56CBE680136D97301000102 = { - fileRef = F56CBE640136D97301000102; - isa = PBXBuildFile; - settings = { - }; - }; - F56EA4BE0199D17E0100010F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_status.html; - path = WebAdmin/WebAdminHtml/relay_status.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F56EA4BF0199D1800100010F = { - fileRef = F56EA4BE0199D17E0100010F; - isa = PBXBuildFile; - settings = { - }; - }; - F574E248015FE06F01000127 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = playlist_error_log.html; - path = WebAdmin/WebAdminHtml/playlist_error_log.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F574E249015FE07001000127 = { - fileRef = F574E248015FE06F01000127; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED22027E9E1101FF7AB9 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libSafeInternalStdLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F57EED23027E9E1101FF7AB9 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libSafeDynamicModuleStdLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F57EED24027E9E1201FF7AB9 = { - buildPhases = ( - F57EED25027E9E1201FF7AB9, - F57EED26027E9E1201FF7AB9, - F57EED27027E9E1201FF7AB9, - F57EED28027E9E1201FF7AB9, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libSafeInternalStdLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "SafeInternalStdLib (Library)"; - productInstallPath = /usr/local/lib; - productName = SafeInternalStdLib; - productReference = F57EED22027E9E1101FF7AB9; - }; - F57EED25027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED38027E9FF201FF7AB9, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED26027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED33027E9EDE01FF7AB9, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED27027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED28027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED29027E9E1201FF7AB9 = { - buildPhases = ( - F57EED2A027E9E1201FF7AB9, - F57EED2B027E9E1201FF7AB9, - F57EED2C027E9E1201FF7AB9, - F57EED2D027E9E1201FF7AB9, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libSafeDynamicModuleStdLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "SafeDynamicModuleStdLib (Library)"; - productInstallPath = /usr/local/lib; - productName = SafeDynamicModuleStdLib; - productReference = F57EED23027E9E1101FF7AB9; - }; - F57EED2A027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED37027E9FD601FF7AB9, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2B027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED34027E9EDE01FF7AB9, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2C027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2D027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2E027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SafeStdLib.h; - refType = 4; - sourceTree = ""; - }; - F57EED2F027E9EDD01FF7AB9 = { - children = ( - F57EED30027E9EDD01FF7AB9, - F57EED31027E9EDD01FF7AB9, - ); - isa = PBXGroup; - name = SafeStdLib; - path = ""; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F57EED30027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = DynamicModuleStdLib.cpp; - path = SafeStdLib/DynamicModuleStdLib.cpp; - refType = 4; - sourceTree = ""; - }; - F57EED31027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = InternalStdLib.cpp; - path = SafeStdLib/InternalStdLib.cpp; - refType = 4; - sourceTree = ""; - }; - F57EED33027E9EDE01FF7AB9 = { - fileRef = F57EED31027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED34027E9EDE01FF7AB9 = { - fileRef = F57EED30027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED37027E9FD601FF7AB9 = { - fileRef = F57EED2E027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED38027E9FF201FF7AB9 = { - fileRef = F57EED2E027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED39027EA0B001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - targetProxy = FB0D1D92064AFB71006F2774; - }; - F57EED3A027EA0B001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - targetProxy = FB0D1D91064AFB71006F2774; - }; - F57EED3F027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED40027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED41027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED42027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED43027EA28201FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED44027EA28201FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED45027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED46027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED47027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED48027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED49027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4A027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4B027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4C027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4D027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4E027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4F027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED50027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED51027EA7E001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - targetProxy = FB0D1D3C064AFB71006F2774; - }; - F57EED52027EA7E001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - targetProxy = FB0D1D3B064AFB71006F2774; - }; - F57EED53027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED54027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED56027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED57027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED58027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED59027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5A027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5B027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5C027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5D027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5E027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5F027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED60027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED61027EBA8101FF7AB9 = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DC3064AFB71006F2774; - }; - F596A33B019319300189D339 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = nav_help.gif; - path = WebAdmin/WebAdminHtml/images/nav_help.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F596A33C019319320189D339 = { - fileRef = F596A33B019319300189D339; - isa = PBXBuildFile; - settings = { - }; - }; - F59F642C01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_targets.html; - path = WebAdmin/WebAdminHtml/relay_targets.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F642D01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_details_default.html; - path = WebAdmin/WebAdminHtml/relay_details_default.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F642E01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_details.html; - path = WebAdmin/WebAdminHtml/relay_details.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F642F01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay.html; - path = WebAdmin/WebAdminHtml/relay.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F643001449BE001000104 = { - fileRef = F59F642C01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643101449BE001000104 = { - fileRef = F59F642D01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643201449BE001000104 = { - fileRef = F59F642E01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643301449BE001000104 = { - fileRef = F59F642F01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64340144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant2.html; - path = WebAdmin/WebAdminHtml/setup_assistant2.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F64350144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant3.html; - path = WebAdmin/WebAdminHtml/setup_assistant3.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F64360144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant4.html; - path = WebAdmin/WebAdminHtml/setup_assistant4.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F64370144BCEB01000104 = { - fileRef = F59F64340144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64380144BCEB01000104 = { - fileRef = F59F64350144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64390144BCEB01000104 = { - fileRef = F59F64360144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F5C07FA60415973001DD2E7A = { - isa = PBXFileReference; - lastKnownFileType = wrapper.framework; - name = Security.framework; - path = /System/Library/Frameworks/Security.framework; - refType = 0; - sourceTree = ""; - }; - F5C080B70415983101DD2E7A = { - fileRef = F5C07FA60415973001DD2E7A; - isa = PBXBuildFile; - settings = { - }; - }; - F5C3E6EB017CFE24010001C8 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_doc.gif; - path = WebAdmin/WebAdminHtml/images/icon_doc.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5C3E6EC017CFE25010001C8 = { - fileRef = F5C3E6EB017CFE24010001C8; - isa = PBXBuildFile; - settings = { - }; - }; - F5C7F02601B6CE3401DD2F6B = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = nav_logo.gif; - path = WebAdmin/WebAdminHtml/images/nav_logo.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5C7F02701B6CE3601DD2F6B = { - fileRef = F5C7F02601B6CE3401DD2F6B; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D0D027758E801DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSAccessModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D0E027758E801DD2AFC = { - buildPhases = ( - F5E91D0F027758E801DD2AFC, - F5E91D10027758E801DD2AFC, - F5E91D11027758E801DD2AFC, - F5E91D12027758E801DD2AFC, - F5E91D13027758E801DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OPTIMIZATION_CFLAGS = "-Os"; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAccessModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386C0279D4DA01DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAccessModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAccessModule.bundle; - productReference = F5E91D0D027758E801DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAccessModule - CFBundleGetInfoString - Suppors qtaccess-style authorization - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.accessmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAccessModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D0F027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1402775AB101DD2AFC, - F5E91D1502775AB101DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D10027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D11027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1602775AB101DD2AFC, - F5E91D1702775AB101DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D12027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1902775AB101DD2AFC, - F57EED4A027EA3AB01FF7AB9, - F56B5A4E02787A7F01DD2AFC, - F56B5A4F02787A9501DD2AFC, - F5E91DF0027868CE01DD2AFC, - F56B5A4D02787A6901DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D13027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D1402775AB101DD2AFC = { - fileRef = 68C395B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1502775AB101DD2AFC = { - fileRef = 68C395AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1602775AB101DD2AFC = { - fileRef = 68C395AD00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1702775AB101DD2AFC = { - fileRef = 68C395AC00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1902775AB101DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1F02775B5D01DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D2002775B5E01DD2AFC = { - buildPhases = ( - F5E91D2102775B5E01DD2AFC, - F5E91D2302775B5E01DD2AFC, - F5E91D2402775B5E01DD2AFC, - F5E91D2602775B5E01DD2AFC, - F5E91D2E02775B5E01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38730279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSFileModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSFileModule.bundle; - productReference = F5E91D1F02775B5D01DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFileModule - CFBundleGetInfoString - QTSSFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.filemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D2102775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2202775B5E01DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2202775B5E01DD2AFC = { - fileRef = 68C394F700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2302775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2402775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2502775B5E01DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2502775B5E01DD2AFC = { - fileRef = 68C394F500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2602775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2802775B5E01DD2AFC, - F57EED4B027EA3AB01FF7AB9, - F5E91DF702786AB101DD2AFC, - F5E91DFA02786B0701DD2AFC, - F5E91DF802786AF601DD2AFC, - F5E91DFB02786B0F01DD2AFC, - F5E91DF902786AFF01DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2802775B5E01DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2E02775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2F02775C5601DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSAccessLogModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D3002775C5601DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSReflectorModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D3102775C5601DD2AFC = { - buildPhases = ( - F5E91D3202775C5601DD2AFC, - F5E91D3402775C5601DD2AFC, - F5E91D3502775C5601DD2AFC, - F5E91D3702775C5601DD2AFC, - F5E91D3F02775C5601DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAccessLogModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38740279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAccessLogModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAccessLogModule.bundle; - productReference = F5E91D2F02775C5601DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAccessLogModule - CFBundleGetInfoString - QTSSAccessLogModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.accesslogmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAccessLogModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D3202775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3302775C5601DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3302775C5601DD2AFC = { - fileRef = 68C394EC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3402775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3502775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3602775C5601DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3602775C5601DD2AFC = { - fileRef = 68C394EA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3702775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3902775C5601DD2AFC, - F57EED4C027EA3AB01FF7AB9, - F56B5A5002787AF101DD2AFC, - F56B5A5202787AF901DD2AFC, - F56B5A5302787B0101DD2AFC, - F56B5A5102787AF101DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3902775C5601DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3F02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D4002775C5601DD2AFC = { - buildPhases = ( - F5E91D4102775C5601DD2AFC, - F5E91D4F02775C5601DD2AFC, - F5E91D5002775C5601DD2AFC, - F5E91D5D02775C5601DD2AFC, - F5E91D6502775C5601DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSReflectorModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38750279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSReflectorModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSReflectorModule.bundle; - productReference = F5E91D3002775C5601DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSReflectorModule - CFBundleGetInfoString - QTSSReflectorModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.reflectormodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSReflectorModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D4102775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A2D0278791501DD2AFC, - F56B5A2E0278791501DD2AFC, - F56B5A2F0278791501DD2AFC, - F56B5A300278791501DD2AFC, - F56B5A310278791501DD2AFC, - F56B5A320278791501DD2AFC, - F56B5A330278791501DD2AFC, - F56B5A340278791501DD2AFC, - F56B5A350278791501DD2AFC, - F56B5A360278791501DD2AFC, - F56B5A370278791501DD2AFC, - F56B5A380278791501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D4F02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5002775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A390278791501DD2AFC, - F56B5A3A0278791501DD2AFC, - F56B5A3B0278791501DD2AFC, - F56B5A3C0278791501DD2AFC, - F56B5A3D0278791501DD2AFC, - F56B5A3E0278791501DD2AFC, - F56B5A3F0278791501DD2AFC, - F56B5A400278791501DD2AFC, - F56B5A410278791501DD2AFC, - F56B5A420278791501DD2AFC, - F56B5A430278791501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5D02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D5F02775C5601DD2AFC, - F57EED43027EA28201FF7AB9, - F5E91DFC02786B4201DD2AFC, - F56B5A440278791501DD2AFC, - F56B5A450278791501DD2AFC, - F56B5A460278791501DD2AFC, - F56B5A470278791501DD2AFC, - F56B5A480278791501DD2AFC, - F56B5A490278796A01DD2AFC, - F56B5A4A0278796A01DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5F02775C5601DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6502775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6602775D2501DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSFlowControlModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D6702775D2501DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSWebDebugModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D6802775D2501DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSWebStatsModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D6902775D2501DD2AFC = { - buildPhases = ( - F5E91D6A02775D2501DD2AFC, - F5E91D6C02775D2501DD2AFC, - F5E91D6D02775D2501DD2AFC, - F5E91D6F02775D2501DD2AFC, - F5E91D7702775D2501DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFlowControlModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38760279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSFlowControlModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSFlowControlModule.bundle; - productReference = F5E91D6602775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFlowControlModule - CFBundleGetInfoString - QTSSFlowControlModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.flowcontrolmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFlowControlModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D6A02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D6B02775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6B02775D2501DD2AFC = { - fileRef = 68C3952200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6C02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6D02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D6E02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6E02775D2501DD2AFC = { - fileRef = 68C3952000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6F02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7102775D2501DD2AFC, - F57EED4D027EA3AB01FF7AB9, - F5E91DFD02786BD001DD2AFC, - F5E91DFF02786C9601DD2AFC, - F5E91E0002786C9F01DD2AFC, - F5E91E0102786CA701DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7102775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7702775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7802775D2501DD2AFC = { - buildPhases = ( - F5E91D7902775D2501DD2AFC, - F5E91D7B02775D2501DD2AFC, - F5E91D7C02775D2501DD2AFC, - F5E91D7E02775D2501DD2AFC, - F5E91D8602775D2501DD2AFC, - ); - buildSettings = { - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSWebDebugModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38770279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSWebDebugModule.bundle; - productName = QTSSWebDebugModule.bundle; - productReference = F5E91D6702775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSWebDebugModule - CFBundleGetInfoString - QTSSWebDebugModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.webdebugmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSWebDebugModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D7902775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7A02775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7A02775D2501DD2AFC = { - fileRef = 68C3952D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7B02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7C02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7D02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7D02775D2501DD2AFC = { - fileRef = 68C3952B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7E02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8002775D2501DD2AFC, - F57EED40027EA24601FF7AB9, - F5E91D8302775D2501DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8002775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8302775D2501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8602775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8702775D2501DD2AFC = { - buildPhases = ( - F5E91D8802775D2501DD2AFC, - F5E91D8A02775D2501DD2AFC, - F5E91D8B02775D2501DD2AFC, - F5E91D8D02775D2501DD2AFC, - F5E91D9502775D2501DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSWebStatsModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38780279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSWebStatsModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSWebStatsModule.bundle; - productReference = F5E91D6802775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSWebStatsModule - CFBundleGetInfoString - QTSSWebStatsModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.webstatsmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSWebStatsModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D8802775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8902775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8902775D2501DD2AFC = { - fileRef = 68C3953800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8A02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8B02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8C02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8C02775D2501DD2AFC = { - fileRef = 68C3953600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8D02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8F02775D2501DD2AFC, - F5E91E0202786CD501DD2AFC, - F5E91E0302786CFB01DD2AFC, - F5E91E0502786D0A01DD2AFC, - F5E91E0402786D0401DD2AFC, - F57EED41027EA24601FF7AB9, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8F02775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D9502775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D9D02775EEB01DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSPosixFileSysModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D9E02775EEC01DD2AFC = { - buildPhases = ( - F5E91D9F02775EEC01DD2AFC, - F5E91DA102775EEC01DD2AFC, - F5E91DA202775EEC01DD2AFC, - F5E91DA402775EEC01DD2AFC, - F5E91DA502775EEC01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSPosixFileSysModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38790279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSPOSIXFileSysModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSPOSIXFileSysModule.bundle; - productReference = F5E91D9D02775EEB01DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSPosixFileSysModule - CFBundleGetInfoString - QTSSPosixFileSysModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.posixfileystemmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSPosixFileSysModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D9F02775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DA002775EEC01DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA002775EEC01DD2AFC = { - fileRef = 68C3957100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DA102775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA202775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DA302775EEC01DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA302775EEC01DD2AFC = { - fileRef = 68C3956F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DA402775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DB20277603301DD2AFC, - F57EED4E027EA3AB01FF7AB9, - F5E91E0702786D4401DD2AFC, - F5E91E0802786D4401DD2AFC, - F5E91E0902786D4D01DD2AFC, - F5E91E0A02786D5301DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA502775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA60277603301DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSAdminModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91DA70277603301DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSHttpFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91DA80277603301DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSRTPFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91DB20277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DB90277603301DD2AFC = { - buildPhases = ( - F5E91DBA0277603301DD2AFC, - F5E91DBE0277603301DD2AFC, - F5E91DBF0277603301DD2AFC, - F5E91DC30277603301DD2AFC, - F5E91DCB0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAdminModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387A0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAdminModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAdminModule.bundle; - productReference = F5E91DA60277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAdminModule - CFBundleGetInfoString - QTSSAdminModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.adminmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAdminModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DBA0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DBB0277603301DD2AFC, - F5E91DBC0277603301DD2AFC, - F5E91DBD0277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DBB0277603301DD2AFC = { - fileRef = 68C3958B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBC0277603301DD2AFC = { - fileRef = 68C3958A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBD0277603301DD2AFC = { - fileRef = 68C3958900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DBF0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DC00277603301DD2AFC, - F5E91DC10277603301DD2AFC, - F5E91DC20277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DC00277603301DD2AFC = { - fileRef = 68C3958700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC10277603301DD2AFC = { - fileRef = 68C3958600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC20277603301DD2AFC = { - fileRef = 68C3958500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC30277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DF20278699501DD2AFC, - F57EED4F027EA3AB01FF7AB9, - F5E91DF30278699501DD2AFC, - F5E91DF50278699501DD2AFC, - F5E91DF60278699501DD2AFC, - F5E91E0B02786DA901DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCB0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCD0277603301DD2AFC = { - buildPhases = ( - F5E91DCE0277603301DD2AFC, - F5E91DD00277603301DD2AFC, - F5E91DD10277603301DD2AFC, - F5E91DD30277603301DD2AFC, - F5E91DDB0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSHttpFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387B0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSHttpFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSHttpFileModule.bundle; - productReference = F5E91DA70277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSHttpFileModule - CFBundleGetInfoString - QTSSHttpFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.httpfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSHttpFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DCE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DCF0277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCF0277603301DD2AFC = { - fileRef = 68C3959600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DD00277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD10277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DD20277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD20277603301DD2AFC = { - fileRef = 68C3959400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DD30277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DD50277603301DD2AFC, - F57EED50027EA3AB01FF7AB9, - F5E91E0C02786DDF01DD2AFC, - F5E91E0E02786DE701DD2AFC, - F5E91E0D02786DDF01DD2AFC, - F5E91E1102786E0601DD2AFC, - F5E91E1002786DFE01DD2AFC, - F5E91E0F02786DF601DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD50277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DDB0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DDD0277603301DD2AFC = { - buildPhases = ( - F5E91DDE0277603301DD2AFC, - F5E91DE10277603301DD2AFC, - F5E91DE20277603301DD2AFC, - F5E91DE50277603301DD2AFC, - F5E91DED0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRTPFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387C0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSRTPFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSRTPFileModule.bundle; - productReference = F5E91DA80277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRTPFileModule - CFBundleGetInfoString - QTSSRTPFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.rtpfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRTPFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DDE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DDF0277603301DD2AFC, - F5E91DE00277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DDF0277603301DD2AFC = { - fileRef = 68C395A200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE00277603301DD2AFC = { - fileRef = 68C395A300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE10277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE20277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DE30277603301DD2AFC, - F5E91DE40277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE30277603301DD2AFC = { - fileRef = 68C3959F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE40277603301DD2AFC = { - fileRef = 68C395A000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE50277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DE70277603301DD2AFC, - F57EED42027EA24601FF7AB9, - F5E91E1202786E3101DD2AFC, - F5E91E1502786E3E01DD2AFC, - F5E91E1402786E3901DD2AFC, - F5E91E1302786E3101DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE70277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DED0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DF0027868CE01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF20278699501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF30278699501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF50278699501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF60278699501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF702786AB101DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF802786AF601DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF902786AFF01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFA02786B0701DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFB02786B0F01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFC02786B4201DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFD02786BD001DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFF02786C9601DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0002786C9F01DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0102786CA701DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0202786CD501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0302786CFB01DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0402786D0401DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0502786D0A01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0702786D4401DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0802786D4401DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0902786D4D01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0A02786D5301DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0B02786DA901DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0C02786DDF01DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0D02786DDF01DD2AFC = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0E02786DE701DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0F02786DF601DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1002786DFE01DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1102786E0601DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1202786E3101DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1302786E3101DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1402786E3901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1502786E3E01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E2302786F1501DD2AFC = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_All_Dynamic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F5E91E2402786F1501DD2AFC, - F5E91E2502786F1501DD2AFC, - F5E91E2602786F1501DD2AFC, - F5E91E2702786F1501DD2AFC, - F5E91E2802786F1501DD2AFC, - F5E91E2902786F1501DD2AFC, - F5E91E2A02786F1501DD2AFC, - F5E91E2B02786F1501DD2AFC, - F5E91E2C02786F1501DD2AFC, - F5E91E2D02786F1501DD2AFC, - F5E91E2E02786F1501DD2AFC, - B6494F9C0279F7A90BDD2A6C, - F5E91E2F02786F1501DD2AFC, - F5E91E3002786F1501DD2AFC, - F5E91E3102786F1501DD2AFC, - F5E91E3202786F1501DD2AFC, - F5E91E3302786F1501DD2AFC, - F5E91E3402786F1501DD2AFC, - ); - isa = PBXAggregateTarget; - name = APIModules_All_Dynamic; - productName = APIModules_All_Dynamic; - }; - F5E91E2402786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 004E288A025B787100DD2B50; - targetProxy = FB0D1DA2064AFB71006F2774; - }; - F5E91E2502786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D0E027758E801DD2AFC; - targetProxy = FB0D1D39064AFB71006F2774; - }; - F5E91E2602786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D2002775B5E01DD2AFC; - targetProxy = FB0D1D7C064AFB71006F2774; - }; - F5E91E2702786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D3102775C5601DD2AFC; - targetProxy = FB0D1DA1064AFB71006F2774; - }; - F5E91E2802786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D4002775C5601DD2AFC; - targetProxy = FB0D1DA0064AFB71006F2774; - }; - F5E91E2902786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D6902775D2501DD2AFC; - targetProxy = FB0D1D76064AFB71006F2774; - }; - F5E91E2A02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D7802775D2501DD2AFC; - targetProxy = FB0D1D20064AFB71006F2774; - }; - F5E91E2B02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D8702775D2501DD2AFC; - targetProxy = FB0D1D5A064AFB71006F2774; - }; - F5E91E2C02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D9E02775EEC01DD2AFC; - targetProxy = FB0D1D9F064AFB71006F2774; - }; - F5E91E2D02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DB90277603301DD2AFC; - targetProxy = FB0D1D9E064AFB71006F2774; - }; - F5E91E2E02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DCD0277603301DD2AFC; - targetProxy = FB0D1D4F064AFB71006F2774; - }; - F5E91E2F02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DDD0277603301DD2AFC; - targetProxy = FB0D1D94064AFB71006F2774; - }; - F5E91E3002786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3993400C567B77F000001; - targetProxy = FB0D1D9C064AFB71006F2774; - }; - F5E91E3102786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3994300C567B77F000001; - targetProxy = FB0D1D98064AFB71006F2774; - }; - F5E91E3202786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3995200C567B77F000001; - targetProxy = FB0D1D9B064AFB71006F2774; - }; - F5E91E3302786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3996200C567B77F000001; - targetProxy = FB0D1D9A064AFB71006F2774; - }; - F5E91E3402786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3997B00C567B77F000001; - targetProxy = FB0D1D99064AFB71006F2774; - }; - F5EB63B1011F467801DD292F = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5EB63B2011F4A8F01DD292F = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5EF9AEF01235DC301DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = atomic.cpp; - path = CommonUtilitiesLib/atomic.cpp; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5EF9AF001235DC301DD292F = { - fileRef = F5EF9AEF01235DC301DD292F; - isa = PBXBuildFile; - settings = { - }; - }; -//F50 -//F51 -//F52 -//F53 -//F54 -//F60 -//F61 -//F62 -//F63 -//F64 - F6999B67023926FC01000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6999B68023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D6E064AFB71006F2774; - }; - F6999B69023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1DB7064AFB71006F2774; - }; - F6999B6A023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1DD3064AFB71006F2774; - }; - F6999B6B023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D63064AFB71006F2774; - }; - F6999B6C023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1DAD064AFB71006F2774; - }; - F6999B6D023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D38064AFB71006F2774; - }; - F6999B6E0239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D32064AFB71006F2774; - }; - F6999B6F0239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D74064AFB71006F2774; - }; - F6999B700239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D82064AFB71006F2774; - }; - F6A3A53102392A2801000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53202392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53302392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53402392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53502392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53602392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53702392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53802392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AED02390D0401000103 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTFileExternalLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F6A48AEF02390D0401000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D72064AFB71006F2774; - }; - F6A48AF002390D0401000103 = { - buildPhases = ( - F6A48AF102390D0401000103, - F6A48AF202390D0401000103, - F6A48AF302390D0401000103, - F6A48AF402390D0401000103, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTFileExternalLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTFileExternalLib (Library)"; - productInstallPath = /usr/local/lib; - productName = QTFileExternalLib; - productReference = F6A48AED02390D0401000103; - }; - F6A48AF102390D0401000103 = { - buildActionMask = 2147483647; - files = ( - F6A48AF802390D8901000103, - F6A48AF902390D8901000103, - F6A48AFA02390D8901000103, - F6A48AFB02390D8901000103, - F6A48AFC02390D8901000103, - F6A48AFD02390D8901000103, - F6A48AFE02390D8901000103, - F6A48AFF02390D8901000103, - F6A48B0002390D8901000103, - F6A48B0102390D8901000103, - F6A48B0202390D8901000103, - F6A48B0302390D8901000103, - F6A48B0402390D8901000103, - F6A48B0502390D8901000103, - F6A48B0602390D8901000103, - F6A48B0702390D8901000103, - F6A48B0802390D8901000103, - F6A48B0902390D8901000103, - F6A48B0A02390D8901000103, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF202390D0401000103 = { - buildActionMask = 2147483647; - files = ( - F6A48B0B02390E3701000103, - F6A48B0C02390E3701000103, - F6A48B0D02390E3701000103, - F6A48B0E02390E3701000103, - F6A48B0F02390E3701000103, - F6A48B1002390E3701000103, - F6A48B1102390E3701000103, - F6A48B1202390E3701000103, - F6A48B1302390E3701000103, - F6A48B1402390E3701000103, - F6A48B1502390E3701000103, - F6A48B1602390E3701000103, - F6A48B1702390E3701000103, - F6A48B1802390E3701000103, - F6A48B1902390E3701000103, - F6A48B1A02390E3701000103, - F6A48B1B02390E3701000103, - F6A48B1C02390E3701000103, - F6A48B1D02390E3701000103, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF302390D0401000103 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF402390D0401000103 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF802390D8901000103 = { - fileRef = 68C3962100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AF902390D8901000103 = { - fileRef = 68C3962200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFA02390D8901000103 = { - fileRef = 68C3962300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFB02390D8901000103 = { - fileRef = 68C3962400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFC02390D8901000103 = { - fileRef = 68C3962500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFD02390D8901000103 = { - fileRef = 68C3962600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFE02390D8901000103 = { - fileRef = 68C3962700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFF02390D8901000103 = { - fileRef = 68C3962800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0002390D8901000103 = { - fileRef = 68C3962900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0102390D8901000103 = { - fileRef = 68C3962A00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0202390D8901000103 = { - fileRef = 68C3962B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0302390D8901000103 = { - fileRef = 68C3962C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0402390D8901000103 = { - fileRef = 68C3962D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0502390D8901000103 = { - fileRef = 68C3962E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0602390D8901000103 = { - fileRef = 68C3962F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0702390D8901000103 = { - fileRef = 68C3963000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0802390D8901000103 = { - fileRef = 68C3963100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0902390D8901000103 = { - fileRef = 68C3963200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0A02390D8901000103 = { - fileRef = 68C3963300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0B02390E3701000103 = { - fileRef = 68C3960D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0C02390E3701000103 = { - fileRef = 68C3960E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0D02390E3701000103 = { - fileRef = 68C3960F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0E02390E3701000103 = { - fileRef = 68C3961000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0F02390E3701000103 = { - fileRef = 68C3961100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1002390E3701000103 = { - fileRef = 68C3961200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1102390E3701000103 = { - fileRef = 68C3961300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1202390E3701000103 = { - fileRef = 68C3961400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1302390E3701000103 = { - fileRef = 68C3961500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1402390E3701000103 = { - fileRef = 68C3961600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1502390E3701000103 = { - fileRef = 68C3961700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1602390E3701000103 = { - fileRef = 68C3961800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1702390E3701000103 = { - fileRef = 68C3961900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1802390E3701000103 = { - fileRef = 68C3961A00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1902390E3701000103 = { - fileRef = 68C3961B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1A02390E3701000103 = { - fileRef = 68C3961C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1B02390E3701000103 = { - fileRef = 68C3961D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1C02390E3701000103 = { - fileRef = 68C3961E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1D02390E3701000103 = { - fileRef = 68C3961F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//F60 -//F61 -//F62 -//F63 -//F64 -//FB0 -//FB1 -//FB2 -//FB3 -//FB4 - FB0D1D19064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED29027E9E1201FF7AB9; - remoteInfo = "SafeDynamicModuleStdLib (Library)"; - }; - FB0D1D1A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1D1B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3971700C567B77F000001; - remoteInfo = RTPFileGen; - }; - FB0D1D1C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D1D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D1E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D1F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D20064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D7802775D2501DD2AFC; - remoteInfo = QTSSWebDebugModule.bundle; - }; - FB0D1D21064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1D22064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D23064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D24064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D25064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396F900C567B77F000001; - remoteInfo = QTFileInfo; - }; - FB0D1D26064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D28064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3970300C567B77F000001; - remoteInfo = QTFileTest; - }; - FB0D1D29064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3995200C567B77F000001; - remoteInfo = "QTSSFilePrivsModule (Bundle)"; - }; - FB0D1D2A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D2B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399F500C567B77F000001; - remoteInfo = "HTTPUtilitiesLib (Library)"; - }; - FB0D1D2C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D2D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D2E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DCD0277603301DD2AFC; - remoteInfo = "QTSSHttpFileModule (Bundle)"; - }; - FB0D1D2F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D31064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396E500C567B77F000001; - remoteInfo = QTSampleLister; - }; - FB0D1D32064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D33064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D34064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D35064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D36064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; - remoteInfo = APIModules_Static; - }; - FB0D1D37064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396C600C567B77F000001; - remoteInfo = "TestQTFileLib (Library)"; - }; - FB0D1D38064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D39064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D0E027758E801DD2AFC; - remoteInfo = QTSSAccessModule.bundle; - }; - FB0D1D3A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 004E288A025B787100DD2B50; - remoteInfo = "QTSSHomeDirectoryModule (Bundle)"; - }; - FB0D1D3B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED29027E9E1201FF7AB9; - remoteInfo = "SafeDynamicModuleStdLib (Library)"; - }; - FB0D1D3C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED24027E9E1201FF7AB9; - remoteInfo = "SafeInternalStdLib (Library)"; - }; - FB0D1D3D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A4700C567B77F000001; - remoteInfo = "RTSPClientLib (Library)"; - }; - FB0D1D3E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D3F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C900C567B77F000001; - remoteInfo = "RTCPUtilitiesLib (Library)"; - }; - FB0D1D40064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0900C567B77F000001; - remoteInfo = "QTFileLib (Library)"; - }; - FB0D1D41064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D42064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399D800C567B77F000001; - remoteInfo = "PrefsSourceLib (Library)"; - }; - FB0D1D43064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398E000C567B77F000001; - remoteInfo = "OSMemory_Modules (Library)"; - }; - FB0D1D44064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D45064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399F500C567B77F000001; - remoteInfo = "HTTPUtilitiesLib (Library)"; - }; - FB0D1D46064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D47064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399EA00C567B77F000001; - remoteInfo = "APIStubLib (Library)"; - }; - FB0D1D48064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1D49064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1D4A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3997B00C567B77F000001; - remoteInfo = "QTSSDemoSMILModule (Bundle)"; - }; - FB0D1D4B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398E800C567B77F000001; - remoteInfo = "QTSSAccessLogModule (Library)"; - }; - FB0D1D4C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B6DC97FB02FB2EAB0BDD2A6C; - remoteInfo = "QTSSProxyModule (Library)"; - }; - FB0D1D4D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396D100C567B77F000001; - remoteInfo = QTRTPGen; - }; - FB0D1D4E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399D800C567B77F000001; - remoteInfo = "PrefsSourceLib (Library)"; - }; - FB0D1D4F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DCD0277603301DD2AFC; - remoteInfo = "QTSSHttpFileModule (Bundle)"; - }; - FB0D1D50064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D51064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D52064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D53064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D55064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = E98FD95B02F5BC3309DD2838; - remoteInfo = QTSSLinkApp; - }; - FB0D1D56064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D58064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D59064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D5A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D8702775D2501DD2AFC; - remoteInfo = "QTSSWebStatsModule (Bundle)"; - }; - FB0D1D5B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A4700C567B77F000001; - remoteInfo = "RTSPClientLib (Library)"; - }; - FB0D1D5C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D5D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D5E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D5F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D60064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D61064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F533DA97011744B701DD292F; - remoteInfo = MP3Broadcaster; - }; - FB0D1D62064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D63064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D64064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D65064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D67064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 008788DE026B412B00DD2B4C; - remoteInfo = DSS_Generic; - }; - FB0D1D68064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D69064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D6A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3970D00C567B77F000001; - remoteInfo = QTBroadcaster; - }; - FB0D1D6B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D6C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D6D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00E5906700F4DD0500DD2B4C; - remoteInfo = StreamingLoadTool; - }; - FB0D1D6E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D6F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D70064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D71064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D72064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D74064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D75064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D76064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D6902775D2501DD2AFC; - remoteInfo = QTSSFlowControlModule.bundle; - }; - FB0D1D77064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396EF00C567B77F000001; - remoteInfo = QTTrackInfo; - }; - FB0D1D78064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D79064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D7A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D7B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D7C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D2002775B5E01DD2AFC; - remoteInfo = QTSSFileModule.bundle; - }; - FB0D1D7D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3998A00C567B77F000001; - remoteInfo = "QTSSAdminModule (Library)"; - }; - FB0D1D7E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D7F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0900C567B77F000001; - remoteInfo = "QTFileLib (Library)"; - }; - FB0D1D80064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D81064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D82064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D84064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399EA00C567B77F000001; - remoteInfo = "APIStubLib (Library)"; - }; - FB0D1D85064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 484082A403D78E0900DD2838; - remoteInfo = broadcasterctl; - }; - FB0D1D86064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 000DA9E40135948600DD2B4F; - remoteInfo = WebAdmin; - }; - FB0D1D87064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C397B700C567B77F000001; - remoteInfo = qtpasswd; - }; - FB0D1D88064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C397C000C567B77F000001; - remoteInfo = StreamingProxy; - }; - FB0D1D89064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3978800C567B77F000001; - remoteInfo = PlaylistBroadcaster; - }; - FB0D1D8A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3972C00C567B77F000001; - remoteInfo = Server; - }; - FB0D1D8B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398DE00C567B77F000001; - remoteInfo = APIModules; - }; - FB0D1D8C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396BA00C567B77F000001; - remoteInfo = QTFileTools; - }; - FB0D1D8D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0900C567B77F000001; - remoteInfo = "QTFileLib (Library)"; - }; - FB0D1D8E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C900C567B77F000001; - remoteInfo = "RTCPUtilitiesLib (Library)"; - }; - FB0D1D8F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D90064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D91064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED29027E9E1201FF7AB9; - remoteInfo = "SafeDynamicModuleStdLib (Library)"; - }; - FB0D1D92064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED24027E9E1201FF7AB9; - remoteInfo = "SafeInternalStdLib (Library)"; - }; - FB0D1D93064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1D94064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DDD0277603301DD2AFC; - remoteInfo = "QTSSRTPFileModule (Bundle)"; - }; - FB0D1D96064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396DB00C567B77F000001; - remoteInfo = QTRTPFileTest; - }; - FB0D1D97064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1D98064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3994300C567B77F000001; - remoteInfo = "QTSSRawFileModule (Bundle)"; - }; - FB0D1D99064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3997B00C567B77F000001; - remoteInfo = "QTSSDemoSMILModule (Bundle)"; - }; - FB0D1D9A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3996200C567B77F000001; - remoteInfo = "QTSSDemoAuthorizationModule (Bundle)"; - }; - FB0D1D9B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3995200C567B77F000001; - remoteInfo = "QTSSFilePrivsModule (Bundle)"; - }; - FB0D1D9C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3993400C567B77F000001; - remoteInfo = "QTSSSpamDefenseModule (Bundle)"; - }; - FB0D1D9D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B6494F960279F7500BDD2A6C; - remoteInfo = "QTSSRefMovieModule (Bundle)"; - }; - FB0D1D9E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DB90277603301DD2AFC; - remoteInfo = QTSSAdminModule.bundle; - }; - FB0D1D9F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D9E02775EEC01DD2AFC; - remoteInfo = QTSSPOSIXFileSysModule.bundle; - }; - FB0D1DA0064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D4002775C5601DD2AFC; - remoteInfo = QTSSReflectorModule.bundle; - }; - FB0D1DA1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D3102775C5601DD2AFC; - remoteInfo = QTSSAccessLogModule.bundle; - }; - FB0D1DA2064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 004E288A025B787100DD2B50; - remoteInfo = "QTSSHomeDirectoryModule (Bundle)"; - }; - FB0D1DA3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396BC00C567B77F000001; - remoteInfo = QTSDPGen; - }; - FB0D1DA4064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DA5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1DA6064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DA7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DA8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DAA064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DAC064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DAD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1DAE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DB0064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DB1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00A90E1B029EBB6300DD2B4C; - remoteInfo = APIModules_Dynamic; - }; - FB0D1DB2064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; - remoteInfo = APIModules_Static; - }; - FB0D1DB3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1DB4064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A4700C567B77F000001; - remoteInfo = "RTSPClientLib (Library)"; - }; - FB0D1DB5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399D800C567B77F000001; - remoteInfo = "PrefsSourceLib (Library)"; - }; - FB0D1DB7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1DB8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DB9064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DBB064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DBC064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398F100C567B77F000001; - remoteInfo = "QTSSFileModule (Library)"; - }; - FB0D1DBD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DBE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DBF064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DC1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399AF00C567B77F000001; - remoteInfo = "QTSSAccessModule (Library)"; - }; - FB0D1DC3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DC5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3992200C567B77F000001; - remoteInfo = "QTSSWebDebugModule (Library)"; - }; - FB0D1DC6064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398FA00C567B77F000001; - remoteInfo = "QTSSReflectorModule (Library)"; - }; - FB0D1DC7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3997200C567B77F000001; - remoteInfo = "QTSSPOSIXFileSysModule (Library)"; - }; - FB0D1DC8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B62C45C6012B21880BDD2A6C; - remoteInfo = "QTSSMP3StreamingModule (Library)"; - }; - FB0D1DC9064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3991900C567B77F000001; - remoteInfo = "QTSSFlowControlModule (Library)"; - }; - FB0D1DCA064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398E000C567B77F000001; - remoteInfo = "OSMemory_Modules (Library)"; - }; - FB0D1DCB064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCC064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCF064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DD0064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399EA00C567B77F000001; - remoteInfo = "APIStubLib (Library)"; - }; - FB0D1DD1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DDD0277603301DD2AFC; - remoteInfo = "QTSSRTPFileModule (Bundle)"; - }; - FB0D1DD2064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B6494F960279F7500BDD2A6C; - remoteInfo = "QTSSRefMovieModule (Bundle)"; - }; - FB0D1DD3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1DD4064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED24027E9E1201FF7AB9; - remoteInfo = "SafeInternalStdLib (Library)"; - }; - FB0D1DD5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3994300C567B77F000001; - remoteInfo = "QTSSRawFileModule (Bundle)"; - }; - FB0D1DD7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3996200C567B77F000001; - remoteInfo = "QTSSDemoAuthorizationModule (Bundle)"; - }; - FB0D1DD8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 008788DE026B412B00DD2B4C; - remoteInfo = DSS_Generic; - }; - FB0D1DD9064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DDB064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3993400C567B77F000001; - remoteInfo = "QTSSSpamDefenseModule (Bundle)"; - }; - FB0D1DDD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1DDE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D8702775D2501DD2AFC; - remoteInfo = "QTSSWebStatsModule (Bundle)"; - }; - FB776EE607DCFD4C00C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_h264_300kbit.mp4; - refType = 4; - sourceTree = ""; - }; - FB776EE707DCFD4C00C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_h264_100kbit.mp4; - refType = 4; - sourceTree = ""; - }; - FB776EE907DCFD4C00C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_h264_1mbit.mp4; - refType = 4; - sourceTree = ""; - }; - FB776EEE07DCFD6100C0B6CE = { - fileRef = FB776EE607DCFD4C00C0B6CE; - isa = PBXBuildFile; - settings = { - }; - }; - FB776EEF07DCFD6100C0B6CE = { - fileRef = FB776EE707DCFD4C00C0B6CE; - isa = PBXBuildFile; - settings = { - }; - }; - FB776EF107DCFD6100C0B6CE = { - fileRef = FB776EE907DCFD4C00C0B6CE; - isa = PBXBuildFile; - settings = { - }; - }; - FB776F0007DD002400C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_50kbit.3gp; - refType = 4; - sourceTree = ""; - }; - FB776F0207DD002E00C0B6CE = { - fileRef = FB776F0007DD002400C0B6CE; - isa = PBXBuildFile; - settings = { - }; - }; - FBCB7F4C0507F23500A273B4 = { - buildActionMask = 8; - dstPath = /usr/bin; - dstSubfolderSpec = 0; - files = ( - FBCB7F5B0507F2D700A273B4, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - FBCB7F580507F2D100A273B4 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.sh; - name = createuserstreamingdir; - path = QTSSHomeDirectoryModule/createuserstreamingdir; - refType = 4; - sourceTree = ""; - }; - FBCB7F5B0507F2D700A273B4 = { - fileRef = FBCB7F580507F2D100A273B4; - isa = PBXBuildFile; - settings = { - }; - }; - FBCB7F5C0507F30000A273B4 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 555 ${DSTROOT}/usr/bin/createuserstreamingdir"; - }; - }; - rootObject = 68C3920500C567B67F000001; -} diff --git a/StreamingServer.xcodeproj/murata.pbxuser b/StreamingServer.xcodeproj/murata.pbxuser deleted file mode 100644 index 79306dd..0000000 --- a/StreamingServer.xcodeproj/murata.pbxuser +++ /dev/null @@ -1,873 +0,0 @@ -// !$*UTF8*$! -{ - 000DA9E40135948600DD2B4F = { - activeExec = 0; - }; - 004E288A025B787100DD2B50 = { - activeExec = 0; - }; - 008788DE026B412B00DD2B4C = { - activeExec = 0; - }; - 00A90E1B029EBB6300DD2B4C = { - activeExec = 0; - }; - 00A90E28029EC2E700DD2B4C = { - activeExec = 0; - }; - 00E5906700F4DD0500DD2B4C = { - activeExec = 0; - executables = ( - FB1903A4083C08E30023CF0F, - ); - }; - 482C16F104CF5700003E91E5 = { - activeExec = 0; - }; - 484082A403D78E0900DD2838 = { - activeExec = 0; - executables = ( - FB1903B0083C08E30023CF0F, - ); - }; - 52E30B0F041DD13500FFB433 = { - activeExec = 0; - }; - 68C3920500C567B67F000001 = { - activeBuildStyle = 0138E52800C5C0DD7F000001; - activeExecutable = FB19039E083C08E30023CF0F; - activeTarget = 68C396B800C567B77F000001; - codeSenseManager = FB1903CF083C09060023CF0F; - executables = ( - FB19039E083C08E30023CF0F, - FB19039F083C08E30023CF0F, - FB1903A0083C08E30023CF0F, - FB1903A1083C08E30023CF0F, - FB1903A2083C08E30023CF0F, - FB1903A3083C08E30023CF0F, - FB1903A4083C08E30023CF0F, - FB1903A5083C08E30023CF0F, - FB1903A6083C08E30023CF0F, - FB1903A7083C08E30023CF0F, - FB1903A8083C08E30023CF0F, - FB1903A9083C08E30023CF0F, - FB1903AA083C08E30023CF0F, - FB1903AB083C08E30023CF0F, - FB1903AC083C08E30023CF0F, - FB1903AD083C08E30023CF0F, - FB1903AE083C08E30023CF0F, - FB1903AF083C08E30023CF0F, - FB1903B0083C08E30023CF0F, - ); - perUserDictionary = { - PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 243, - 20, - 48, - 43, - 43, - 20, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - PBXFileDataSource_Target_ColumnID, - ); - }; - PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 200, - 10, - 20, - 48, - 43, - 43, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXTargetDataSource_PrimaryAttribute, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - ); - }; - PBXPerProjectTemplateStateSaveDate = 138328286; - PBXWorkspaceStateSaveDate = 138328286; - }; - sourceControlManager = FB1903CE083C09060023CF0F; - userBuildSettings = { - }; - }; - 68C396B800C567B77F000001 = { - activeExec = 0; - }; - 68C396BA00C567B77F000001 = { - activeExec = 0; - }; - 68C396BC00C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903AA083C08E30023CF0F, - ); - }; - 68C396C600C567B77F000001 = { - activeExec = 0; - }; - 68C396D100C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A8083C08E30023CF0F, - ); - }; - 68C396DB00C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A9083C08E30023CF0F, - ); - }; - 68C396E500C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903AB083C08E30023CF0F, - ); - }; - 68C396EF00C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903AC083C08E30023CF0F, - ); - }; - 68C396F900C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A6083C08E30023CF0F, - ); - }; - 68C3970300C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A7083C08E30023CF0F, - ); - }; - 68C3970D00C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903AD083C08E30023CF0F, - ); - }; - 68C3971700C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903AE083C08E30023CF0F, - ); - }; - 68C3972C00C567B77F000001 = { - activeExec = 0; - executables = ( - FB19039E083C08E30023CF0F, - ); - }; - 68C3978800C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A2083C08E30023CF0F, - ); - }; - 68C397B700C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A3083C08E30023CF0F, - ); - }; - 68C397C000C567B77F000001 = { - activeExec = 0; - executables = ( - FB1903A5083C08E30023CF0F, - ); - }; - 68C3987300C567B77F000001 = { - activeExec = 0; - }; - 68C3987F00C567B77F000001 = { - activeExec = 0; - }; - 68C398DE00C567B77F000001 = { - activeExec = 0; - }; - 68C398E000C567B77F000001 = { - activeExec = 0; - }; - 68C398E800C567B77F000001 = { - activeExec = 0; - }; - 68C398F100C567B77F000001 = { - activeExec = 0; - }; - 68C398FA00C567B77F000001 = { - activeExec = 0; - }; - 68C3991900C567B77F000001 = { - activeExec = 0; - }; - 68C3992200C567B77F000001 = { - activeExec = 0; - }; - 68C3993400C567B77F000001 = { - activeExec = 0; - }; - 68C3994300C567B77F000001 = { - activeExec = 0; - }; - 68C3995200C567B77F000001 = { - activeExec = 0; - }; - 68C3996200C567B77F000001 = { - activeExec = 0; - }; - 68C3997200C567B77F000001 = { - activeExec = 0; - }; - 68C3997B00C567B77F000001 = { - activeExec = 0; - }; - 68C3998A00C567B77F000001 = { - activeExec = 0; - }; - 68C399AF00C567B77F000001 = { - activeExec = 0; - }; - 68C399C100C567B77F000001 = { - activeExec = 0; - }; - 68C399C900C567B77F000001 = { - activeExec = 0; - }; - 68C399D800C567B77F000001 = { - activeExec = 0; - }; - 68C399EA00C567B77F000001 = { - activeExec = 0; - }; - 68C399F500C567B77F000001 = { - activeExec = 0; - }; - 68C39A0000C567B77F000001 = { - activeExec = 0; - }; - 68C39A0900C567B77F000001 = { - activeExec = 0; - }; - 68C39A3600C567B77F000001 = { - activeExec = 0; - }; - 68C39A4700C567B77F000001 = { - activeExec = 0; - }; - B62C45C6012B21880BDD2A6C = { - activeExec = 0; - }; - B6494F960279F7500BDD2A6C = { - activeExec = 0; - }; - B649D5CB02B97F170BDD2A6C = { - activeExec = 0; - executables = ( - FB1903A0083C08E30023CF0F, - ); - }; - B6DC97FB02FB2EAB0BDD2A6C = { - activeExec = 0; - }; - E98FD95B02F5BC3309DD2838 = { - activeExec = 0; - executables = ( - FB1903AF083C08E30023CF0F, - ); - }; - F51C62E30279D3BC01DD2AFC = { - activeExec = 0; - }; - F533DA97011744B701DD292F = { - activeExec = 0; - executables = ( - FB1903A1083C08E30023CF0F, - ); - }; - F56B5A610278ADD701DD2AFC = { - activeExec = 0; - executables = ( - FB19039F083C08E30023CF0F, - ); - }; - F57EED24027E9E1201FF7AB9 = { - activeExec = 0; - }; - F57EED29027E9E1201FF7AB9 = { - activeExec = 0; - }; - F5E91D0E027758E801DD2AFC = { - activeExec = 0; - }; - F5E91D2002775B5E01DD2AFC = { - activeExec = 0; - }; - F5E91D3102775C5601DD2AFC = { - activeExec = 0; - }; - F5E91D4002775C5601DD2AFC = { - activeExec = 0; - }; - F5E91D6902775D2501DD2AFC = { - activeExec = 0; - }; - F5E91D7802775D2501DD2AFC = { - activeExec = 0; - }; - F5E91D8702775D2501DD2AFC = { - activeExec = 0; - }; - F5E91D9E02775EEC01DD2AFC = { - activeExec = 0; - }; - F5E91DB90277603301DD2AFC = { - activeExec = 0; - }; - F5E91DCD0277603301DD2AFC = { - activeExec = 0; - }; - F5E91DDD0277603301DD2AFC = { - activeExec = 0; - }; - F5E91E2302786F1501DD2AFC = { - activeExec = 0; - }; - F6A48AF002390D0401000103 = { - activeExec = 0; - }; - FB19039E083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = Server; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB19039F083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = Server_No_Modules; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A0083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = StreamingProxyServer; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A1083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = MP3Broadcaster; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A2083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = PlaylistBroadcaster; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A3083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = qtpasswd; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A4083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = StreamingLoadTool; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A5083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = StreamingProxy; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A6083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTFileInfo; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A7083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTFileTest; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A8083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTRTPGen; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903A9083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTRTPFileTest; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903AA083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTSDPGen; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903AB083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTSampleLister; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903AC083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTTrackInfo; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903AD083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTBroadcaster; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903AE083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = RTPFileGen; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903AF083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = QTSSLinkApp; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903B0083C08E30023CF0F = { - activeArgIndex = 2147483647; - activeArgIndices = ( - ); - argumentStrings = ( - ); - configStateDict = { - }; - cppStopOnCatchEnabled = 0; - cppStopOnThrowEnabled = 0; - customDataFormattersEnabled = 1; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - isa = PBXExecutable; - libgmallocEnabled = 0; - name = broadcasterctl; - shlibInfoDictList_v2 = ( - ); - sourceDirectories = ( - ); - }; - FB1903CE083C09060023CF0F = { - fallbackIsa = XCSourceControlManager; - isSCMEnabled = 0; - isa = PBXSourceControlManager; - scmConfiguration = { - }; - scmType = ""; - }; - FB1903CF083C09060023CF0F = { - indexTemplatePath = ""; - isa = PBXCodeSenseManager; - }; - FBCB7F580507F2D100A273B4 = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {614, 2492}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRect = "{{0, 0}, {290, 319}}"; - }; - }; -} diff --git a/StreamingServer.xcodeproj/project.pbxproj b/StreamingServer.xcodeproj/project.pbxproj index ecfa875..1fa1052 100644 --- a/StreamingServer.xcodeproj/project.pbxproj +++ b/StreamingServer.xcodeproj/project.pbxproj @@ -3,190 +3,1451 @@ archiveVersion = 1; classes = { }; - objectVersion = 39; + objectVersion = 42; objects = { - 000DA9E30135948500DD2B4F = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = WebAdmin; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 000DA9E40135948600DD2B4F = { + +/* Begin PBXAggregateTarget section */ + 008788DE026B412B00DD2B4C /* DSS_Generic */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F9095A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "DSS_Generic" */; buildPhases = ( - 000DA9E50135948600DD2B4F, - 000DA9E60135948600DD2B4F, - 000DA9E70135948600DD2B4F, - 000DA9E80135948600DD2B4F, - 00A79FAB01359C5F00DD2B4F, - 000DAB6B013598E400DD2B4F, - 52335F2D04EA47CC0003CA12, - 00A79F8E01359A6200DD2B4F, - 00A79F9001359ACA00DD2B4F, - 00A79F9301359B1500DD2B4F, - 00A79F9401359B1500DD2B4F, - 00A79F9501359B1500DD2B4F, - 0055090A02774E1100DD2B4C, - E926569B0430ED4409DD2838, - E961241C0432443309DD2838, - 00A79FC201359D6900DD2B4F, - 00A79FC801359D6900DD2B4F, - 00A79FF501359D6900DD2B4F, ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = WebAdmin; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; dependencies = ( + 008788E3026B412B00DD2B4C /* PBXTargetDependency */, + F57EED39027EA0B001FF7AB9 /* PBXTargetDependency */, + F57EED3A027EA0B001FF7AB9 /* PBXTargetDependency */, + 008788E4026B412B00DD2B4C /* PBXTargetDependency */, + 008788E6026B412C00DD2B4C /* PBXTargetDependency */, + 008788E7026B412C00DD2B4C /* PBXTargetDependency */, + 008788E8026B412C00DD2B4C /* PBXTargetDependency */, + 008788E9026B412C00DD2B4C /* PBXTargetDependency */, + 008788EA026B412C00DD2B4C /* PBXTargetDependency */, + 008788EB026B412C00DD2B4C /* PBXTargetDependency */, + 008788EC026B412C00DD2B4C /* PBXTargetDependency */, + 008788ED026B412C00DD2B4C /* PBXTargetDependency */, + 008788EE026B412C00DD2B4C /* PBXTargetDependency */, + 008788DF026B412B00DD2B4C /* PBXTargetDependency */, + 008788E5026B412B00DD2B4C /* PBXTargetDependency */, + 008788F0026B412C00DD2B4C /* PBXTargetDependency */, + 008788E0026B412B00DD2B4C /* PBXTargetDependency */, + 008788E2026B412B00DD2B4C /* PBXTargetDependency */, + 008788E1026B412B00DD2B4C /* PBXTargetDependency */, + 008788F1026B412C00DD2B4C /* PBXTargetDependency */, + 5269CD670429FFC400DD2EDD /* PBXTargetDependency */, ); - isa = PBXLibraryTarget; - name = WebAdmin; - productInstallPath = /usr/local/lib; - productName = WebAdmin; - productReference = 000DA9E30135948500DD2B4F; + name = DSS_Generic; + productName = QTSSWithoutSLT; }; - 000DA9E50135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( + 00A90E1B029EBB6300DD2B4C /* APIModules_Dynamic */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F90936099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules_Dynamic" */; + buildPhases = ( ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E60135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( - 00A7A1430135DF8800DD2B4F, + dependencies = ( + 5DB82F3B0DD3ADE8005193F8 /* PBXTargetDependency */, + 00A90E1D029EBBC300DD2B4C /* PBXTargetDependency */, + 00A90E1E029EBC1600DD2B4C /* PBXTargetDependency */, + 00A90E24029EBF5300DD2B4C /* PBXTargetDependency */, + 00A90E25029EC03100DD2B4C /* PBXTargetDependency */, + 00A90E23029EBF5300DD2B4C /* PBXTargetDependency */, + 00A90E20029EBD9600DD2B4C /* PBXTargetDependency */, + 00A90E22029EBEA400DD2B4C /* PBXTargetDependency */, + 00A90E26029EC0A600DD2B4C /* PBXTargetDependency */, + 00A90E21029EBE4000DD2B4C /* PBXTargetDependency */, + 00A90E1C029EBB8500DD2B4C /* PBXTargetDependency */, ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = APIModules_Dynamic; + productName = APIModules_Dynamic; }; - 000DA9E70135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( + 00A90E28029EC2E700DD2B4C /* APIModules_Static */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F9090A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules_Static" */; + buildPhases = ( ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 000DA9E80135948600DD2B4F = { - buildActionMask = 2147483647; - files = ( + dependencies = ( + 00A90E29029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E2A029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E2B029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E2C029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E2D029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E2E029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E2F029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E30029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E31029EC2E700DD2B4C /* PBXTargetDependency */, + B6DC980302FB313E0BDD2A6C /* PBXTargetDependency */, + 00A90E32029EC2E700DD2B4C /* PBXTargetDependency */, ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = APIModules_Static; + productName = APIModules_Static; }; - 000DAB6B013598E400DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 00A7A1AE0135E35800DD2B4F, + 482C16F104CF5700003E91E5 /* DSS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F9096A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "DSS" */; + buildPhases = ( ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 003D3EDC0132F64000DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = XMLParser.cpp; - refType = 4; - sourceTree = ""; - }; - 003D3EDD0132F64000DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = XMLParser.h; - refType = 4; - sourceTree = ""; - }; - 003D3EDF0132F64100DD292F = { - fileRef = 003D3EDD0132F64000DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 003D3EE00132F64100DD292F = { - fileRef = 003D3EDC0132F64000DD292F; - isa = PBXBuildFile; - settings = { - }; + dependencies = ( + 482C16F204CF575A003E91E5 /* PBXTargetDependency */, + 84CE3BA10CEE5A510056DB85 /* PBXTargetDependency */, + 529E3D560CED953500403BB3 /* PBXTargetDependency */, + 482C16F304CF5773003E91E5 /* PBXTargetDependency */, + ); + name = DSS; + productName = DSS_Generic; }; - 004086EC02F0A2ED00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = StreamingLoadTool.cpp; - path = StreamingLoadTool/StreamingLoadTool.cpp; - refType = 4; - sourceTree = ""; + 68C396B800C567B77F000001 /* QTSS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F90962099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "QTSS" */; + buildPhases = ( + DB5FB4DC07C433A600A894EA /* CopyFiles */, + DB5FB50507C433EA00A894EA /* CopyFiles */, + ); + dependencies = ( + F50ACCCF037E597A017C358E /* PBXTargetDependency */, + 523576270C33A12C0098823D /* PBXTargetDependency */, + 007870EC00F4E38300DD2B4C /* PBXTargetDependency */, + ); + name = QTSS; + productName = "StreamingServer (Aggregate)"; }; - 004086ED02F0A2ED00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingloadtool.conf; - path = StreamingLoadTool/streamingloadtool.conf; - refType = 4; - sourceTree = ""; + 68C396BA00C567B77F000001 /* QTFileTools */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F908D6099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "QTFileTools" */; + buildPhases = ( + 68C3972100C567B77F000001 /* CopyFiles */, + ); + dependencies = ( + F54D303D027FCAD101000102 /* PBXTargetDependency */, + F54D303E027FCAD101000102 /* PBXTargetDependency */, + 68C396BB00C567B77F000001 /* PBXTargetDependency */, + 68C396C500C567B77F000001 /* PBXTargetDependency */, + 68C396D000C567B77F000001 /* PBXTargetDependency */, + 68C396DA00C567B77F000001 /* PBXTargetDependency */, + 68C396E400C567B77F000001 /* PBXTargetDependency */, + 68C396EE00C567B77F000001 /* PBXTargetDependency */, + 68C396F800C567B77F000001 /* PBXTargetDependency */, + 68C3970200C567B77F000001 /* PBXTargetDependency */, + 68C3970C00C567B77F000001 /* PBXTargetDependency */, + 68C3971600C567B77F000001 /* PBXTargetDependency */, + ); + name = QTFileTools; + productName = "QTFileTools (Aggregate)"; }; - 004086EE02F0A2EE00DD2B4C = { - fileRef = 004086EC02F0A2ED00DD2B4C; - isa = PBXBuildFile; - settings = { - }; + 68C398DE00C567B77F000001 /* APIModules */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F9093A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules" */; + buildPhases = ( + 68C399BA00C567B77F000001 /* CopyFiles */, + ); + dependencies = ( + 00A90E27029EC2E700DD2B4C /* PBXTargetDependency */, + 00A90E1F029EBCC600DD2B4C /* PBXTargetDependency */, + ); + name = APIModules; + productName = "APIModules (Aggregate)"; }; - 004086EF02F0A2EE00DD2B4C = { - fileRef = 004086ED02F0A2ED00DD2B4C; - isa = PBXBuildFile; - settings = { - }; + F51C62E30279D3BC01DD2AFC /* Libraries */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F908DE099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "Libraries" */; + buildPhases = ( + ); + dependencies = ( + F51C62E40279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62E50279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62E60279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62E70279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62E80279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62E90279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62EA0279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62EB0279D3BC01DD2AFC /* PBXTargetDependency */, + 00A90E34029ECF7E00DD2B4C /* PBXTargetDependency */, + F51C62EC0279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62ED0279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62EE0279D3BC01DD2AFC /* PBXTargetDependency */, + F51C62EF0279D3BC01DD2AFC /* PBXTargetDependency */, + F57EED51027EA7E001FF7AB9 /* PBXTargetDependency */, + F57EED52027EA7E001FF7AB9 /* PBXTargetDependency */, + ); + name = Libraries; + productName = Libraries; }; - 004E2889025B787000DD2B50 = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSHomeDirectoryModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; + F5E91E2302786F1501DD2AFC /* APIModules_All_Dynamic */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 52F9098E099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules_All_Dynamic" */; + buildPhases = ( + ); + dependencies = ( + 5DB82F3D0DD3AE03005193F8 /* PBXTargetDependency */, + F5E91E2402786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2502786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2602786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2702786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2802786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2902786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2A02786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2B02786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2C02786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2D02786F1501DD2AFC /* PBXTargetDependency */, + F5E91E2E02786F1501DD2AFC /* PBXTargetDependency */, + B6494F9C0279F7A90BDD2A6C /* PBXTargetDependency */, + F5E91E2F02786F1501DD2AFC /* PBXTargetDependency */, + F5E91E3002786F1501DD2AFC /* PBXTargetDependency */, + F5E91E3102786F1501DD2AFC /* PBXTargetDependency */, + F5E91E3202786F1501DD2AFC /* PBXTargetDependency */, + F5E91E3302786F1501DD2AFC /* PBXTargetDependency */, + F5E91E3402786F1501DD2AFC /* PBXTargetDependency */, + ); + name = APIModules_All_Dynamic; + productName = APIModules_All_Dynamic; }; - 004E288A025B787100DD2B50 = { +/* End PBXAggregateTarget section */ + +/* Begin PBXApplicationTarget section */ + E98FD95B02F5BC3309DD2838 /* QTSSLinkApp */ = { + isa = PBXApplicationTarget; + buildConfigurationList = 52F90966099D6A4D006F0FCA /* Build configuration list for PBXApplicationTarget "QTSSLinkApp" */; buildPhases = ( - 004E288B025B787100DD2B50, - 004E288C025B787100DD2B50, - 004E288D025B787100DD2B50, - 004E288E025B787100DD2B50, - 004E288F025B787100DD2B50, + E98FD95602F5BC3309DD2838 /* Headers */, + E98FD95702F5BC3309DD2838 /* Resources */, + E98FD95802F5BC3309DD2838 /* Sources */, + E98FD95902F5BC3309DD2838 /* Frameworks */, + E98FD95A02F5BC3309DD2838 /* Rez */, ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSHomeDirectoryModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; dependencies = ( - F52E38720279D50701DD2AFC, ); + name = QTSSLinkApp; + productInstallPath = /Applications/Server/; + productName = QTSSLink; + productReference = E98FD95C02F5BC3309DD2838 /* QTSS Web Admin.app */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSS Web Admin + CFBundleGetInfoString + Executes the web admin on port 1220 + CFBundleIconFile + QTSS Admin app + CFBundleIdentifier + com.apple.qtss.linkapp + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QuickTime Streaming Server + CFBundlePackageType + APPL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; + }; +/* End PBXApplicationTarget section */ + +/* Begin PBXBuildFile section */ + 003D3EDF0132F64100DD292F /* XMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 003D3EDD0132F64000DD292F /* XMLParser.h */; }; + 003D3EE00132F64100DD292F /* XMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 003D3EDC0132F64000DD292F /* XMLParser.cpp */; }; + 004086EE02F0A2EE00DD2B4C /* StreamingLoadTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 004086EC02F0A2ED00DD2B4C /* StreamingLoadTool.cpp */; }; + 004086EF02F0A2EE00DD2B4C /* streamingloadtool.conf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 004086ED02F0A2ED00DD2B4C /* streamingloadtool.conf */; }; + 004E2893025B798500DD2B50 /* QTSSHomeDirectoryModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 004E2892025B798400DD2B50 /* QTSSHomeDirectoryModule.h */; }; + 004E2894025B798500DD2B50 /* QTSSHomeDirectoryModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 004E2891025B798400DD2B50 /* QTSSHomeDirectoryModule.cpp */; }; + 004E2896025B79F700DD2B50 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 004E2897025B79F700DD2B50 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 004E2898025B79F700DD2B50 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 004E2899025B79F700DD2B50 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 004E289A025B79F700DD2B50 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 004E289B025B79F700DD2B50 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 005B0879013B079300DD292F /* relayconfig.xml-Sample in CopyFiles */ = {isa = PBXBuildFile; fileRef = 005B0878013B079200DD292F /* relayconfig.xml-Sample */; }; + 0066F5D0016E6AD000DD2B4C /* RelaySession.h in Headers */ = {isa = PBXBuildFile; fileRef = 0066F5CF016E6AD000DD2B4C /* RelaySession.h */; }; + 0066F5D1016E6AD000DD2B4C /* RelaySession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0066F5CE016E6AD000DD2B4C /* RelaySession.cpp */; }; + 0075360F02EE064100DD2B4C /* sample_100kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0075360D02EE064000DD2B4C /* sample_100kbit.mp4 */; }; + 0075361002EE064100DD2B4C /* sample_300kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0075360E02EE064000DD2B4C /* sample_300kbit.mp4 */; }; + 0082672701A1D6A400DD2AFC /* 3rdPartyAcknowledgements.rtf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0082672501A1D6A300DD2AFC /* 3rdPartyAcknowledgements.rtf */; }; + 0082672D01A2F39B00DD2AFC /* sample.mp3 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0082672B01A2F39A00DD2AFC /* sample.mp3 */; }; + 00A7A1430135DF8800DD2B4F /* dummy.c in Sources */ = {isa = PBXBuildFile; fileRef = 00A7A0D30135DF8700DD2B4F /* dummy.c */; }; + 00A7A1AE0135E35800DD2B4F /* streamingadminserver_autostart.conf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0D80135DF8700DD2B4F /* streamingadminserver_autostart.conf */; }; + 00A7A1B10135E35800DD2B4F /* streamingadminserver.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0D10135DF8700DD2B4F /* streamingadminserver.pl */; }; + 00A7A1B20135E35800DD2B4F /* QuickTimeStreamingServer in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0D60135DF8700DD2B4F /* QuickTimeStreamingServer */; }; + 00A7A1B30135E35800DD2B4F /* StartupParameters.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0D70135DF8700DD2B4F /* StartupParameters.plist */; }; + 00A7A1C70135E46200DD2B4F /* adminprotocol-lib.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0DE0135DF8700DD2B4F /* adminprotocol-lib.pl */; }; + 00A7A1C80135E46200DD2B4F /* cgi-lib.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0DF0135DF8700DD2B4F /* cgi-lib.pl */; }; + 00A7A1C90135E46200DD2B4F /* connected.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0E00135DF8700DD2B4F /* connected.html */; }; + 00A7A1CA0135E46200DD2B4F /* format.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0E60135DF8700DD2B4F /* format.html */; }; + 00A7A1CB0135E46200DD2B4F /* frameset.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0E70135DF8700DD2B4F /* frameset.html */; }; + 00A7A1CC0135E46200DD2B4F /* login.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1310135DF8700DD2B4F /* login.html */; }; + 00A7A1CD0135E46200DD2B4F /* nav.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1330135DF8700DD2B4F /* nav.html */; }; + 00A7A1CE0135E46200DD2B4F /* parse_xml.cgi in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1340135DF8700DD2B4F /* parse_xml.cgi */; }; + 00A7A1CF0135E46200DD2B4F /* playlist-lib.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1350135DF8700DD2B4F /* playlist-lib.pl */; }; + 00A7A1D00135E46200DD2B4F /* playlist_detail.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1360135DF8700DD2B4F /* playlist_detail.html */; }; + 00A7A1D10135E46200DD2B4F /* playlists.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1370135DF8700DD2B4F /* playlists.html */; }; + 00A7A1D30135E46200DD2B4F /* setup_assistant.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A13A0135DF8700DD2B4F /* setup_assistant.html */; }; + 00A7A1D40135E46200DD2B4F /* tag_formats.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A13C0135DF8700DD2B4F /* tag_formats.pl */; }; + 00A7A1D50135E46200DD2B4F /* tag_types.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A13D0135DF8700DD2B4F /* tag_types.pl */; }; + 00A7A1D60135E46200DD2B4F /* tag_vals.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A13E0135DF8700DD2B4F /* tag_vals.pl */; }; + 00A7A1D70135E46200DD2B4F /* template.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A13F0135DF8700DD2B4F /* template.html */; }; + 00A7A1D80135E46200DD2B4F /* template_blank.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1400135DF8700DD2B4F /* template_blank.html */; }; + 00A7A1D90135E46200DD2B4F /* top.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1410135DF8700DD2B4F /* top.html */; }; + 00A7A1DA0135E46200DD2B4F /* welcome.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1420135DF8700DD2B4F /* welcome.html */; }; + 00A7A1DC0135E46200DD2B4F /* messages in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A0F10135DF8700DD2B4F /* messages */; }; + 00A7A1DF0135E46200DD2B4F /* apple_logo.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1010135DF8700DD2B4F /* apple_logo.gif */; }; + 00A7A1E00135E46200DD2B4F /* arrow_down.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1020135DF8700DD2B4F /* arrow_down.gif */; }; + 00A7A1E10135E46200DD2B4F /* back.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1030135DF8700DD2B4F /* back.gif */; }; + 00A7A1E20135E46200DD2B4F /* blackpixel.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1040135DF8700DD2B4F /* blackpixel.gif */; }; + 00A7A1E30135E46200DD2B4F /* clearpixel.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1050135DF8700DD2B4F /* clearpixel.gif */; }; + 00A7A1E40135E46200DD2B4F /* dialog_alert.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1060135DF8700DD2B4F /* dialog_alert.gif */; }; + 00A7A1E50135E46200DD2B4F /* dialog_bottom.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1070135DF8700DD2B4F /* dialog_bottom.gif */; }; + 00A7A1E60135E46200DD2B4F /* dialog_bottom_sm.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1080135DF8700DD2B4F /* dialog_bottom_sm.gif */; }; + 00A7A1E70135E46200DD2B4F /* dialog_middle.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1090135DF8700DD2B4F /* dialog_middle.gif */; }; + 00A7A1E80135E46200DD2B4F /* dialog_middle_sm.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A10A0135DF8700DD2B4F /* dialog_middle_sm.gif */; }; + 00A7A1E90135E46200DD2B4F /* dialog_qtss.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A10B0135DF8700DD2B4F /* dialog_qtss.gif */; }; + 00A7A1EA0135E46200DD2B4F /* dialog_top.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A10C0135DF8700DD2B4F /* dialog_top.gif */; }; + 00A7A1EB0135E46200DD2B4F /* dialog_top_sm.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A10D0135DF8700DD2B4F /* dialog_top_sm.gif */; }; + 00A7A1EC0135E46200DD2B4F /* divider.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A10E0135DF8700DD2B4F /* divider.gif */; }; + 00A7A1ED0135E46200DD2B4F /* divider_vert.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A10F0135DF8700DD2B4F /* divider_vert.gif */; }; + 00A7A1EE0135E46200DD2B4F /* dot.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1100135DF8700DD2B4F /* dot.gif */; }; + 00A7A1EF0135E46200DD2B4F /* folder.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1110135DF8700DD2B4F /* folder.gif */; }; + 00A7A1F00135E46200DD2B4F /* greypixel.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1120135DF8700DD2B4F /* greypixel.gif */; }; + 00A7A1F10135E46200DD2B4F /* headerpixel.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1130135DF8700DD2B4F /* headerpixel.gif */; }; + 00A7A1F20135E46200DD2B4F /* help.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1140135DF8700DD2B4F /* help.gif */; }; + 00A7A1F30135E46200DD2B4F /* highlight.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1150135DF8700DD2B4F /* highlight.gif */; }; + 00A7A1F40135E46200DD2B4F /* horz_line.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1160135DF8700DD2B4F /* horz_line.gif */; }; + 00A7A1F50135E46200DD2B4F /* icon_alert.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1170135DF8700DD2B4F /* icon_alert.gif */; }; + 00A7A1F60135E46200DD2B4F /* icon_folder.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1180135DF8700DD2B4F /* icon_folder.gif */; }; + 00A7A1F70135E46200DD2B4F /* icon_movie.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1190135DF8700DD2B4F /* icon_movie.gif */; }; + 00A7A1F80135E46200DD2B4F /* icon_movie_off.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A11A0135DF8700DD2B4F /* icon_movie_off.gif */; }; + 00A7A1FB0135E46200DD2B4F /* icon_playlist.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A11D0135DF8700DD2B4F /* icon_playlist.gif */; }; + 00A7A1FC0135E46200DD2B4F /* icon_playlist_off.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A11E0135DF8700DD2B4F /* icon_playlist_off.gif */; }; + 00A7A1FF0135E46200DD2B4F /* LB_arrow_dn.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1210135DF8700DD2B4F /* LB_arrow_dn.gif */; }; + 00A7A2000135E46200DD2B4F /* LB_arrow_up.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1220135DF8700DD2B4F /* LB_arrow_up.gif */; }; + 00A7A2010135E46200DD2B4F /* line.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1230135DF8700DD2B4F /* line.gif */; }; + 00A7A2020135E46200DD2B4F /* mp3_file.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1240135DF8700DD2B4F /* mp3_file.gif */; }; + 00A7A2030135E46200DD2B4F /* pixel.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1250135DF8700DD2B4F /* pixel.gif */; }; + 00A7A2040135E46200DD2B4F /* sort_arrow.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1260135DF8700DD2B4F /* sort_arrow.gif */; }; + 00A7A2050135E46200DD2B4F /* spacer.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1270135DF8700DD2B4F /* spacer.gif */; }; + 00A7A2060135E46200DD2B4F /* stripes_gray.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1280135DF8700DD2B4F /* stripes_gray.gif */; }; + 00A7A2070135E46200DD2B4F /* stripes_gray_dark.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A1290135DF8700DD2B4F /* stripes_gray_dark.gif */; }; + 00A7A2080135E46200DD2B4F /* trashcan.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A12A0135DF8700DD2B4F /* trashcan.gif */; }; + 00A7A2090135E46200DD2B4F /* vert_line.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A12B0135DF8700DD2B4F /* vert_line.gif */; }; + 00A7A20A0135E46200DD2B4F /* whitepixel.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A12C0135DF8700DD2B4F /* whitepixel.gif */; }; + 00A7A20B0135E47700DD2B4F /* draglib.js in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A12E0135DF8700DD2B4F /* draglib.js */; }; + 00A7A20C0135E47700DD2B4F /* standardNav.js in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00A7A12F0135DF8700DD2B4F /* standardNav.js */; }; + 00B8FC1700F4E32D00DD2B4C /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + 00BC5F62025E827400DD2B50 /* DirectoryInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 00BC5F61025E827300DD2B50 /* DirectoryInfo.h */; }; + 00BC5F63025E827400DD2B50 /* DirectoryInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00BC5F60025E827300DD2B50 /* DirectoryInfo.cpp */; }; + 00CA8FCA01AB113F00DD2B4C /* startplaylists.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00CA8FC901AB113E00DD2B4C /* startplaylists.pl */; }; + 00E5906D00F4DD0500DD2B4C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 00E5906E00F4DD0500DD2B4C /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 00E5906F00F4DD0500DD2B4C /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + 00E5907000F4DD0500DD2B4C /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 00E5907100F4DD0500DD2B4C /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 00E5907200F4DD0500DD2B4C /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + 00E5907500F4DD2C00DD2B4C /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 0138E52B00C5C22A7F000001 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 0138E52C00C5C22A7F000001 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 0138E52D00C5C22A7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 0138E52E00C5C22A7F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 0138E53700C6A7E27F000001 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 0138E53800C6A7E27F000001 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 0138E53900C6A7E27F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 0138E53A00C6A7E27F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 0138E53B00C6A8B97F000001 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 0138E53C00C6A8B97F000001 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 0138E53D00C6A8B97F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 0138E53E00C6A8B97F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 0138E53F00C6A9C67F000001 /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + 0138E54000C6AACF7F000001 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 0138E54100C6AACF7F000001 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 0138E54200C6AACF7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 0138E54300C6AACF7F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 0138E54400C6AC357F000001 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 0138E54500C6AC357F000001 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 0138E54600C6AC357F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 0138E54700C6AC357F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 0138E56E00C6B15A7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 0138E56F00C6B15A7F000001 /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + 0138E57000C6B15A7F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 0138E57100C6B15A7F000001 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 0138E57200C6B15A7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 0138E57300C6B15A7F000001 /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + 0138E57400C6B15A7F000001 /* libHTTPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */; }; + 0138E57500C6B15A7F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 0138E57600C6B15A7F000001 /* libQTSSAdminModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AB00C567B77F000001 /* libQTSSAdminModule.a */; }; + 0138E57700C6B15A7F000001 /* libQTSSAccessModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AE00C567B77F000001 /* libQTSSAccessModule.a */; }; + 0138E57800C6B15A7F000001 /* libQTSSAccessLogModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969F00C567B77F000001 /* libQTSSAccessLogModule.a */; }; + 0138E57A00C6B15A7F000001 /* libQTSSFlowControlModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A200C567B77F000001 /* libQTSSFlowControlModule.a */; }; + 0138E57C00C6B15A7F000001 /* libQTSSReflectorModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A100C567B77F000001 /* libQTSSReflectorModule.a */; }; + 0138E57D00C6B15A7F000001 /* libQTSSPOSIXFileSysModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A900C567B77F000001 /* libQTSSPOSIXFileSysModule.a */; }; + 0138E57F00C6B15A7F000001 /* libQTSSFileModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A000C567B77F000001 /* libQTSSFileModule.a */; }; + 0138E58300C6B3A57F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 140020330A5C488E002AF86E /* SVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 140020320A5C488E002AF86E /* SVector.h */; }; + 287CBF2800D174BE11DD2B4C /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + 484082AF03D78E3600DD2838 /* BroadcasterAdminController.h in Headers */ = {isa = PBXBuildFile; fileRef = 484082AA03D78E3600DD2838 /* BroadcasterAdminController.h */; }; + 484082B003D78E3600DD2838 /* BroadcasterAdminController.m in Sources */ = {isa = PBXBuildFile; fileRef = 484082AB03D78E3600DD2838 /* BroadcasterAdminController.m */; }; + 484082B103D78E3600DD2838 /* broadcasterctl_main.m in Sources */ = {isa = PBXBuildFile; fileRef = 484082AD03D78E3600DD2838 /* broadcasterctl_main.m */; }; + 484082B203D78E3600DD2838 /* BroadcasterRemoteAdmin.h in Headers */ = {isa = PBXBuildFile; fileRef = 484082AE03D78E3600DD2838 /* BroadcasterRemoteAdmin.h */; }; + 484082B303D78E4A00DD2838 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3920C00C567B67F000001 /* revision.h */; }; + 484082B403D78E5D00DD2838 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 484082B603D78E9F00DD2838 /* broadcasterctl.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 484082AC03D78E3600DD2838 /* broadcasterctl.1 */; }; + 520EF57209A60B21009892F1 /* RTPStream3gpp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 520EF57009A60B21009892F1 /* RTPStream3gpp.cpp */; }; + 520EF57309A60B21009892F1 /* RTPStream3gpp.h in Headers */ = {isa = PBXBuildFile; fileRef = 520EF57109A60B21009892F1 /* RTPStream3gpp.h */; }; + 52240D0D09C17A0100E87224 /* RTCPAPPNADUPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52240D0B09C17A0100E87224 /* RTCPAPPNADUPacket.cpp */; }; + 52240D0E09C17A0100E87224 /* RTCPAPPNADUPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 52240D0C09C17A0100E87224 /* RTCPAPPNADUPacket.h */; }; + 522B6D3804E1708000244363 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + 523575A20C33A0890098823D /* GenerateXMLPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929600C567B67F000001 /* GenerateXMLPrefs.h */; }; + 523575A30C33A0890098823D /* QTSSCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929700C567B67F000001 /* QTSSCallbacks.h */; }; + 523575A40C33A0890098823D /* QTSSDataConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929800C567B67F000001 /* QTSSDataConverter.h */; }; + 523575A50C33A0890098823D /* QTSSDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929900C567B67F000001 /* QTSSDictionary.h */; }; + 523575A60C33A0890098823D /* QTSSErrorLogModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929A00C567B67F000001 /* QTSSErrorLogModule.h */; }; + 523575A70C33A0890098823D /* QTSServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929B00C567B67F000001 /* QTSServer.h */; }; + 523575A80C33A0890098823D /* QTSServerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929C00C567B67F000001 /* QTSServerInterface.h */; }; + 523575A90C33A0890098823D /* QTSServerPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929D00C567B67F000001 /* QTSServerPrefs.h */; }; + 523575AA0C33A0890098823D /* QTSSExpirationDate.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929E00C567B67F000001 /* QTSSExpirationDate.h */; }; + 523575AB0C33A0890098823D /* QTSSFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929F00C567B67F000001 /* QTSSFile.h */; }; + 523575AC0C33A0890098823D /* QTSSMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A000C567B67F000001 /* QTSSMessages.h */; }; + 523575AD0C33A0890098823D /* QTSSModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A100C567B67F000001 /* QTSSModule.h */; }; + 523575AE0C33A0890098823D /* QTSSPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A200C567B67F000001 /* QTSSPrefs.h */; }; + 523575AF0C33A0890098823D /* QTSSSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A300C567B67F000001 /* QTSSSocket.h */; }; + 523575B00C33A0890098823D /* QTSSStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A400C567B67F000001 /* QTSSStream.h */; }; + 523575B10C33A0890098823D /* QTSSUserProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A500C567B67F000001 /* QTSSUserProfile.h */; }; + 523575B20C33A0890098823D /* RTCPTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A600C567B67F000001 /* RTCPTask.h */; }; + 523575B30C33A0890098823D /* RTPBandwidthTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A700C567B67F000001 /* RTPBandwidthTracker.h */; }; + 523575B40C33A0890098823D /* RTPOverbufferWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A800C567B67F000001 /* RTPOverbufferWindow.h */; }; + 523575B50C33A0890098823D /* RTPPacketResender.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A900C567B67F000001 /* RTPPacketResender.h */; }; + 523575B60C33A0890098823D /* RTPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AA00C567B67F000001 /* RTPSession.h */; }; + 523575B70C33A0890098823D /* RTPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AB00C567B67F000001 /* RTPSessionInterface.h */; }; + 523575B80C33A0890098823D /* RTPStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AC00C567B67F000001 /* RTPStream.h */; }; + 523575B90C33A0890098823D /* RTSPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AD00C567B67F000001 /* RTSPProtocol.h */; }; + 523575BA0C33A0890098823D /* RTSPRequest3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F909B8099D6AF5006F0FCA /* RTSPRequest3GPP.h */; }; + 523575BB0C33A0890098823D /* RTSPRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AE00C567B67F000001 /* RTSPRequest.h */; }; + 523575BC0C33A0890098823D /* RTSPRequestInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AF00C567B67F000001 /* RTSPRequestInterface.h */; }; + 523575BD0C33A0890098823D /* RTSPRequestStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B000C567B67F000001 /* RTSPRequestStream.h */; }; + 523575BE0C33A0890098823D /* RTSPResponseStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B100C567B67F000001 /* RTSPResponseStream.h */; }; + 523575BF0C33A0890098823D /* RTSPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B200C567B67F000001 /* RTSPSession.h */; }; + 523575C00C33A0890098823D /* RTSPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B300C567B67F000001 /* RTSPSessionInterface.h */; }; + 523575C10C33A0890098823D /* RunServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B400C567B67F000001 /* RunServer.h */; }; + 523575C20C33A0890098823D /* RTPStream3gpp.h in Headers */ = {isa = PBXBuildFile; fileRef = 520EF57109A60B21009892F1 /* RTPStream3gpp.h */; }; + 523575C30C33A0890098823D /* RTPSession3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 525CF5EA09A634FF0096D127 /* RTPSession3GPP.h */; }; + 523575C40C33A0890098823D /* RTSPSession3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 525CF5EE09A635180096D127 /* RTSPSession3GPP.h */; }; + 523575C60C33A0890098823D /* GenerateXMLPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927500C567B67F000001 /* GenerateXMLPrefs.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575C70C33A0890098823D /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927600C567B67F000001 /* main.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575C80C33A0890098823D /* QTSSCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927700C567B67F000001 /* QTSSCallbacks.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575C90C33A0890098823D /* QTSSDataConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927800C567B67F000001 /* QTSSDataConverter.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575CA0C33A0890098823D /* QTSSDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927900C567B67F000001 /* QTSSDictionary.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575CB0C33A0890098823D /* QTSSErrorLogModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927A00C567B67F000001 /* QTSSErrorLogModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575CC0C33A0890098823D /* QTSServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927B00C567B67F000001 /* QTSServer.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575CD0C33A0890098823D /* QTSServerInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927C00C567B67F000001 /* QTSServerInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575CE0C33A0890098823D /* QTSServerPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927D00C567B67F000001 /* QTSServerPrefs.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575CF0C33A0890098823D /* QTSSExpirationDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927E00C567B67F000001 /* QTSSExpirationDate.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D00C33A0890098823D /* QTSSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927F00C567B67F000001 /* QTSSFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D10C33A0890098823D /* QTSSMessages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928000C567B67F000001 /* QTSSMessages.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D20C33A0890098823D /* QTSSModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928100C567B67F000001 /* QTSSModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D30C33A0890098823D /* QTSSPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928200C567B67F000001 /* QTSSPrefs.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D40C33A0890098823D /* QTSSSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928300C567B67F000001 /* QTSSSocket.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D50C33A0890098823D /* QTSSUserProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928400C567B67F000001 /* QTSSUserProfile.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D60C33A0890098823D /* RTCPTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928500C567B67F000001 /* RTCPTask.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D70C33A0890098823D /* RTPBandwidthTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928600C567B67F000001 /* RTPBandwidthTracker.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D80C33A0890098823D /* RTPOverbufferWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928700C567B67F000001 /* RTPOverbufferWindow.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575D90C33A0890098823D /* RTPPacketResender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928800C567B67F000001 /* RTPPacketResender.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575DA0C33A0890098823D /* RTPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928900C567B67F000001 /* RTPSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575DB0C33A0890098823D /* RTPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928A00C567B67F000001 /* RTPSessionInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575DC0C33A0890098823D /* RTPStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928B00C567B67F000001 /* RTPStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575DD0C33A0890098823D /* RTSPProtocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928C00C567B67F000001 /* RTSPProtocol.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575DE0C33A0890098823D /* RTSPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928D00C567B67F000001 /* RTSPRequest.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575DF0C33A0890098823D /* RTSPRequest3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F909B9099D6AF5006F0FCA /* RTSPRequest3GPP.cpp */; }; + 523575E00C33A0890098823D /* RTSPRequestInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928E00C567B67F000001 /* RTSPRequestInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575E10C33A0890098823D /* RTSPRequestStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928F00C567B67F000001 /* RTSPRequestStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575E20C33A0890098823D /* RTSPResponseStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929000C567B67F000001 /* RTSPResponseStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575E30C33A0890098823D /* RTSPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929100C567B67F000001 /* RTSPSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575E40C33A0890098823D /* RTSPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929200C567B67F000001 /* RTSPSessionInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575E50C33A0890098823D /* RunServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929300C567B67F000001 /* RunServer.cpp */; settings = {ATTRIBUTES = (); }; }; + 523575E60C33A0890098823D /* RTPStream3gpp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 520EF57009A60B21009892F1 /* RTPStream3gpp.cpp */; }; + 523575E70C33A0890098823D /* RTPSession3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 525CF5E909A634FF0096D127 /* RTPSession3GPP.cpp */; }; + 523575E80C33A0890098823D /* RTSPSession3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 525CF5ED09A635180096D127 /* RTSPSession3GPP.cpp */; }; + 523575EA0C33A0890098823D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 523575EB0C33A0890098823D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5C07FA60415973001DD2E7A /* Security.framework */; }; + 523575EC0C33A0890098823D /* DirectoryService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D93C830B29A30800633F60 /* DirectoryService.framework */; }; + 523575ED0C33A0890098823D /* OpenDirectory.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8425759F0C334F9300813FC9 /* OpenDirectory.framework */; }; + 523575EE0C33A0890098823D /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + 523575EF0C33A0890098823D /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 523575F00C33A0890098823D /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + 523575F10C33A0890098823D /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 523575F20C33A0890098823D /* libRTCPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; + 523575F30C33A0890098823D /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 523575F40C33A0890098823D /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 523575F50C33A0890098823D /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + 523575F60C33A0890098823D /* libHTTPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */; }; + 523575F70C33A0890098823D /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 523575F80C33A0890098823D /* libQTSSAdminModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AB00C567B77F000001 /* libQTSSAdminModule.a */; }; + 523575F90C33A0890098823D /* libQTSSAccessModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AE00C567B77F000001 /* libQTSSAccessModule.a */; }; + 523575FA0C33A0890098823D /* libQTSSDSAuthModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5293FDFF0B2A45DD00141B86 /* libQTSSDSAuthModule.a */; }; + 523575FB0C33A0890098823D /* libQTSSAccessLogModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969F00C567B77F000001 /* libQTSSAccessLogModule.a */; }; + 523575FC0C33A0890098823D /* libQTSSFlowControlModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A200C567B77F000001 /* libQTSSFlowControlModule.a */; }; + 523575FD0C33A0890098823D /* libQTSSReflectorModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A100C567B77F000001 /* libQTSSReflectorModule.a */; }; + 523575FE0C33A0890098823D /* libQTSSPOSIXFileSysModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A900C567B77F000001 /* libQTSSPOSIXFileSysModule.a */; }; + 523575FF0C33A0890098823D /* libQTSSWebDebugModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A300C567B77F000001 /* libQTSSWebDebugModule.a */; }; + 523576000C33A0890098823D /* libQTSSFileModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A000C567B77F000001 /* libQTSSFileModule.a */; }; + 523576010C33A0890098823D /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + 523576020C33A0890098823D /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + 523576030C33A0890098823D /* libQTSSMP3StreamingModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B62C45C5012B21870BDD2A6C /* libQTSSMP3StreamingModule.a */; }; + 523576060C33A0890098823D /* relayconfig.xml-Sample in CopyFiles */ = {isa = PBXBuildFile; fileRef = 005B0878013B079200DD292F /* relayconfig.xml-Sample */; }; + 523576080C33A0890098823D /* sample.mp3 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0082672B01A2F39A00DD2AFC /* sample.mp3 */; }; + 523576090C33A0890098823D /* sample_50kbit.3gp in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776F0007DD002400C0B6CE /* sample_50kbit.3gp */; }; + 5235760A0C33A0890098823D /* sample_100kbit.mov in CopyFiles */ = {isa = PBXBuildFile; fileRef = 61B89717017F4FDD0EDD2AFC /* sample_100kbit.mov */; }; + 5235760B0C33A0890098823D /* sample_100kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0075360D02EE064000DD2B4C /* sample_100kbit.mp4 */; }; + 5235760C0C33A0890098823D /* sample_300kbit.mov in CopyFiles */ = {isa = PBXBuildFile; fileRef = 61B89716017F4FDD0EDD2AFC /* sample_300kbit.mov */; }; + 5235760D0C33A0890098823D /* sample_300kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0075360E02EE064000DD2B4C /* sample_300kbit.mp4 */; }; + 5235760E0C33A0890098823D /* sample_h264_100kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776EE707DCFD4C00C0B6CE /* sample_h264_100kbit.mp4 */; }; + 5235760F0C33A0890098823D /* sample_h264_300kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776EE607DCFD4C00C0B6CE /* sample_h264_300kbit.mp4 */; }; + 523576100C33A0890098823D /* sample_h264_1mbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776EE907DCFD4C00C0B6CE /* sample_h264_1mbit.mp4 */; }; + 523576120C33A0890098823D /* 3rdPartyAcknowledgements.rtf in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0082672501A1D6A300DD2AFC /* 3rdPartyAcknowledgements.rtf */; }; + 523576140C33A0890098823D /* createuserstreamingdir in CopyFiles */ = {isa = PBXBuildFile; fileRef = FBCB7F580507F2D100A273B4 /* createuserstreamingdir */; }; + 523A8FF70A0AE08D0091F744 /* QTSS3GPPModuleUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 523A8FF50A0AE08D0091F744 /* QTSS3GPPModuleUtils.cpp */; }; + 523A8FF80A0AE08D0091F744 /* QTSS3GPPModuleUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 523A8FF60A0AE08D0091F744 /* QTSS3GPPModuleUtils.h */; }; + 525CF5EB09A634FF0096D127 /* RTPSession3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 525CF5E909A634FF0096D127 /* RTPSession3GPP.cpp */; }; + 525CF5EC09A635000096D127 /* RTPSession3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 525CF5EA09A634FF0096D127 /* RTPSession3GPP.h */; }; + 525CF5EF09A635180096D127 /* RTSPSession3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 525CF5ED09A635180096D127 /* RTSPSession3GPP.cpp */; }; + 525CF5F009A635180096D127 /* RTSPSession3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 525CF5EE09A635180096D127 /* RTSPSession3GPP.h */; }; + 5264A2C0041FD10500B9CAA7 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + 5273197E09AE0A5D0028AE2B /* RTCPAPPQTSSPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52E625E309ADD2AE00DDAFD6 /* RTCPAPPQTSSPacket.cpp */; }; + 5273197F09AE0A690028AE2B /* RTCPAPPQTSSPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 52E625E509ADD2B500DDAFD6 /* RTCPAPPQTSSPacket.h */; }; + 52AD14830B29EE6800477AE2 /* DirectoryService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D93C830B29A30800633F60 /* DirectoryService.framework */; }; + 52B24F8B0B30014900A6567F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 52B24F8C0B30015B00A6567F /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + 52B24F8D0B30017100A6567F /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 52B24F8E0B30017B00A6567F /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 52B24F8F0B30018100A6567F /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 52B24F900B30019500A6567F /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 52B2500E0B30055600A6567F /* DirectoryService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52D93C830B29A30800633F60 /* DirectoryService.framework */; }; + 52B2501E0B3005C000A6567F /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 52E30B11041DD21600FFB433 /* SSLeay.c in Sources */ = {isa = PBXBuildFile; fileRef = 522ACD4F041CC4220062FFCE /* SSLeay.c */; }; + 52E30B15041DD22700FFB433 /* libperl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 522ACD55041CC52B0062FFCE /* libperl.dylib */; }; + 52E30B18041DD22B00FFB433 /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 522ACD57041CC5700062FFCE /* libcrypto.dylib */; }; + 52E30B19041DD23100FFB433 /* libssl.0.9.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 522ACD59041CC5E90062FFCE /* libssl.0.9.dylib */; }; + 52F900380B2A520900D99AE0 /* libQTSSDSAuthModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5293FDFF0B2A45DD00141B86 /* libQTSSDSAuthModule.a */; }; + 52F9010E0B2A561D00D99AE0 /* DSAccessChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F901000B2A561D00D99AE0 /* DSAccessChecker.cpp */; }; + 52F9010F0B2A561D00D99AE0 /* DSAccessChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901010B2A561D00D99AE0 /* DSAccessChecker.h */; }; + 52F901100B2A561D00D99AE0 /* CDirService.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F901040B2A561D00D99AE0 /* CDirService.cpp */; }; + 52F901110B2A561D00D99AE0 /* CDirService.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901050B2A561D00D99AE0 /* CDirService.h */; }; + 52F901120B2A561D00D99AE0 /* DSBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F901060B2A561D00D99AE0 /* DSBuffer.cpp */; }; + 52F901130B2A561D00D99AE0 /* DSBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901070B2A561D00D99AE0 /* DSBuffer.h */; }; + 52F901140B2A561D00D99AE0 /* DSDataList.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901080B2A561D00D99AE0 /* DSDataList.h */; }; + 52F901150B2A561D00D99AE0 /* DSDataNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901090B2A561D00D99AE0 /* DSDataNode.h */; }; + 52F901160B2A561D00D99AE0 /* QTSSDSAuthModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F9010A0B2A561D00D99AE0 /* QTSSDSAuthModule.cpp */; }; + 52F901170B2A561D00D99AE0 /* QTSSDSAuthModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F9010B0B2A561D00D99AE0 /* QTSSDSAuthModule.h */; }; + 52F909BA099D6AF5006F0FCA /* RTSPRequest3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F909B8099D6AF5006F0FCA /* RTSPRequest3GPP.h */; }; + 52F909BB099D6AF5006F0FCA /* RTSPRequest3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F909B9099D6AF5006F0FCA /* RTSPRequest3GPP.cpp */; }; + 52F909F3099D6F75006F0FCA /* RTSPRequest3GPP.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F909B8099D6AF5006F0FCA /* RTSPRequest3GPP.h */; }; + 52F909F4099D6F90006F0FCA /* RTSPRequest3GPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F909B9099D6AF5006F0FCA /* RTSPRequest3GPP.cpp */; }; + 5D375D880D5A86C500EF4430 /* QTSSDemoAuthorizationModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D6E2C700D57A11700D6774E /* QTSSDemoAuthorizationModule.cpp */; }; + 5D375D890D5A86C500EF4430 /* QTSSDemoAuthorizationModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D6E2C6F0D57A11700D6774E /* QTSSDemoAuthorizationModule.h */; }; + 5DB82F280DD3AC4C005193F8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 5DB82F290DD3AC4C005193F8 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + 5DB82F2A0DD3AC4C005193F8 /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + 5DB82F2B0DD3AC4C005193F8 /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + 5DB82F2C0DD3AC4C005193F8 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 5DB82F2D0DD3AC4C005193F8 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 5DB82F2E0DD3AC4C005193F8 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 5DB82F380DD3AD35005193F8 /* QTSSDemoRedirectModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DB82F1A0DD3AB8D005193F8 /* QTSSDemoRedirectModule.h */; }; + 5DB82F390DD3AD46005193F8 /* QTSSDemoRedirectModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DB82F190DD3AB8D005193F8 /* QTSSDemoRedirectModule.cpp */; }; + 5E3095F10A7048780055DEFA /* RTPPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E3095E70A70485A0055DEFA /* RTPPacket.h */; }; + 5E31EA190A76E3670042B6D0 /* RTCPRRPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E31EA180A76E3670042B6D0 /* RTCPRRPacket.h */; }; + 5E31EA240A76E39F0042B6D0 /* RTCPAckPacketFmt.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E31EA230A76E39F0042B6D0 /* RTCPAckPacketFmt.h */; }; + 5E4F285A0A8922460011409D /* RTCPNADUPacketFmt.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E4F28590A8922460011409D /* RTCPNADUPacketFmt.h */; }; + 5E64F7EE0A759C9000715BC3 /* PlayerSimulator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E64F7ED0A759C9000715BC3 /* PlayerSimulator.h */; }; + 5EB1ACEE0AAF9B91004A288C /* libRTCPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; + 61B89719017F4FDD0EDD2AFC /* sample_300kbit.mov in CopyFiles */ = {isa = PBXBuildFile; fileRef = 61B89716017F4FDD0EDD2AFC /* sample_300kbit.mov */; }; + 61B8971A017F4FDD0EDD2AFC /* sample_100kbit.mov in CopyFiles */ = {isa = PBXBuildFile; fileRef = 61B89717017F4FDD0EDD2AFC /* sample_100kbit.mov */; }; + 68C396BF00C567B77F000001 /* QTSDPGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3921B00C567B67F000001 /* QTSDPGen.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C396C200C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C396CA00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C396D400C567B77F000001 /* QTRTPGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3922B00C567B67F000001 /* QTRTPGen.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C396D700C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C396DE00C567B77F000001 /* QTRTPFileTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3923400C567B67F000001 /* QTRTPFileTest.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C396E100C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C396E800C567B77F000001 /* QTSampleLister.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3923D00C567B67F000001 /* QTSampleLister.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C396EB00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C396F200C567B77F000001 /* QTTrackInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3924600C567B67F000001 /* QTTrackInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C396F500C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C396FC00C567B77F000001 /* QTFileInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3924F00C567B67F000001 /* QTFileInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C396FF00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3970600C567B77F000001 /* QTFileTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3925800C567B67F000001 /* QTFileTest.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3970900C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3971000C567B77F000001 /* QTBroadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3926100C567B67F000001 /* QTBroadcaster.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3971300C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3971900C567B77F000001 /* RTPFileDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3926C00C567B67F000001 /* RTPFileDefs.h */; }; + 68C3971B00C567B77F000001 /* RTPFileGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3926A00C567B67F000001 /* RTPFileGen.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3971E00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3972E00C567B77F000001 /* GenerateXMLPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929600C567B67F000001 /* GenerateXMLPrefs.h */; }; + 68C3972F00C567B77F000001 /* QTSSCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929700C567B67F000001 /* QTSSCallbacks.h */; }; + 68C3973000C567B77F000001 /* QTSSDataConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929800C567B67F000001 /* QTSSDataConverter.h */; }; + 68C3973100C567B77F000001 /* QTSSDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929900C567B67F000001 /* QTSSDictionary.h */; }; + 68C3973200C567B77F000001 /* QTSSErrorLogModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929A00C567B67F000001 /* QTSSErrorLogModule.h */; }; + 68C3973300C567B77F000001 /* QTSServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929B00C567B67F000001 /* QTSServer.h */; }; + 68C3973400C567B77F000001 /* QTSServerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929C00C567B67F000001 /* QTSServerInterface.h */; }; + 68C3973500C567B77F000001 /* QTSServerPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929D00C567B67F000001 /* QTSServerPrefs.h */; }; + 68C3973600C567B77F000001 /* QTSSExpirationDate.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929E00C567B67F000001 /* QTSSExpirationDate.h */; }; + 68C3973700C567B77F000001 /* QTSSFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929F00C567B67F000001 /* QTSSFile.h */; }; + 68C3973800C567B77F000001 /* QTSSMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A000C567B67F000001 /* QTSSMessages.h */; }; + 68C3973900C567B77F000001 /* QTSSModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A100C567B67F000001 /* QTSSModule.h */; }; + 68C3973A00C567B77F000001 /* QTSSPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A200C567B67F000001 /* QTSSPrefs.h */; }; + 68C3973B00C567B77F000001 /* QTSSSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A300C567B67F000001 /* QTSSSocket.h */; }; + 68C3973C00C567B77F000001 /* QTSSStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A400C567B67F000001 /* QTSSStream.h */; }; + 68C3973D00C567B77F000001 /* QTSSUserProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A500C567B67F000001 /* QTSSUserProfile.h */; }; + 68C3973E00C567B77F000001 /* RTCPTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A600C567B67F000001 /* RTCPTask.h */; }; + 68C3973F00C567B77F000001 /* RTPBandwidthTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A700C567B67F000001 /* RTPBandwidthTracker.h */; }; + 68C3974000C567B77F000001 /* RTPOverbufferWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A800C567B67F000001 /* RTPOverbufferWindow.h */; }; + 68C3974100C567B77F000001 /* RTPPacketResender.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A900C567B67F000001 /* RTPPacketResender.h */; }; + 68C3974200C567B77F000001 /* RTPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AA00C567B67F000001 /* RTPSession.h */; }; + 68C3974300C567B77F000001 /* RTPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AB00C567B67F000001 /* RTPSessionInterface.h */; }; + 68C3974400C567B77F000001 /* RTPStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AC00C567B67F000001 /* RTPStream.h */; }; + 68C3974500C567B77F000001 /* RTSPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AD00C567B67F000001 /* RTSPProtocol.h */; }; + 68C3974600C567B77F000001 /* RTSPRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AE00C567B67F000001 /* RTSPRequest.h */; }; + 68C3974700C567B77F000001 /* RTSPRequestInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AF00C567B67F000001 /* RTSPRequestInterface.h */; }; + 68C3974800C567B77F000001 /* RTSPRequestStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B000C567B67F000001 /* RTSPRequestStream.h */; }; + 68C3974900C567B77F000001 /* RTSPResponseStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B100C567B67F000001 /* RTSPResponseStream.h */; }; + 68C3974A00C567B77F000001 /* RTSPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B200C567B67F000001 /* RTSPSession.h */; }; + 68C3974B00C567B77F000001 /* RTSPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B300C567B67F000001 /* RTSPSessionInterface.h */; }; + 68C3974C00C567B77F000001 /* RunServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B400C567B67F000001 /* RunServer.h */; }; + 68C3974F00C567B77F000001 /* GenerateXMLPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927500C567B67F000001 /* GenerateXMLPrefs.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975000C567B77F000001 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927600C567B67F000001 /* main.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975100C567B77F000001 /* QTSSCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927700C567B67F000001 /* QTSSCallbacks.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975200C567B77F000001 /* QTSSDataConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927800C567B67F000001 /* QTSSDataConverter.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975300C567B77F000001 /* QTSSDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927900C567B67F000001 /* QTSSDictionary.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975400C567B77F000001 /* QTSSErrorLogModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927A00C567B67F000001 /* QTSSErrorLogModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975500C567B77F000001 /* QTSServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927B00C567B67F000001 /* QTSServer.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975600C567B77F000001 /* QTSServerInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927C00C567B67F000001 /* QTSServerInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975700C567B77F000001 /* QTSServerPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927D00C567B67F000001 /* QTSServerPrefs.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975800C567B77F000001 /* QTSSExpirationDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927E00C567B67F000001 /* QTSSExpirationDate.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975900C567B77F000001 /* QTSSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927F00C567B67F000001 /* QTSSFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975A00C567B77F000001 /* QTSSMessages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928000C567B67F000001 /* QTSSMessages.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975B00C567B77F000001 /* QTSSModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928100C567B67F000001 /* QTSSModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975C00C567B77F000001 /* QTSSPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928200C567B67F000001 /* QTSSPrefs.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975D00C567B77F000001 /* QTSSSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928300C567B67F000001 /* QTSSSocket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975E00C567B77F000001 /* QTSSUserProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928400C567B67F000001 /* QTSSUserProfile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3975F00C567B77F000001 /* RTCPTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928500C567B67F000001 /* RTCPTask.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976000C567B77F000001 /* RTPBandwidthTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928600C567B67F000001 /* RTPBandwidthTracker.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976100C567B77F000001 /* RTPOverbufferWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928700C567B67F000001 /* RTPOverbufferWindow.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976200C567B77F000001 /* RTPPacketResender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928800C567B67F000001 /* RTPPacketResender.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976300C567B77F000001 /* RTPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928900C567B67F000001 /* RTPSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976400C567B77F000001 /* RTPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928A00C567B67F000001 /* RTPSessionInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976500C567B77F000001 /* RTPStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928B00C567B67F000001 /* RTPStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976600C567B77F000001 /* RTSPProtocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928C00C567B67F000001 /* RTSPProtocol.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976700C567B77F000001 /* RTSPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928D00C567B67F000001 /* RTSPRequest.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976800C567B77F000001 /* RTSPRequestInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928E00C567B67F000001 /* RTSPRequestInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976900C567B77F000001 /* RTSPRequestStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928F00C567B67F000001 /* RTSPRequestStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976A00C567B77F000001 /* RTSPResponseStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929000C567B67F000001 /* RTSPResponseStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976B00C567B77F000001 /* RTSPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929100C567B67F000001 /* RTSPSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976C00C567B77F000001 /* RTSPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929200C567B67F000001 /* RTSPSessionInterface.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3976D00C567B77F000001 /* RunServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929300C567B67F000001 /* RunServer.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3977100C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3978A00C567B77F000001 /* BCasterTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392CF00C567B67F000001 /* BCasterTracker.h */; }; + 68C3978B00C567B77F000001 /* BroadcastLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D000C567B67F000001 /* BroadcastLog.h */; }; + 68C3978C00C567B77F000001 /* NoRepeat.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D100C567B67F000001 /* NoRepeat.h */; }; + 68C3978D00C567B77F000001 /* PickerFromFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D200C567B67F000001 /* PickerFromFile.h */; }; + 68C3978E00C567B77F000001 /* playlist_broadcaster.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D300C567B67F000001 /* playlist_broadcaster.h */; }; + 68C3978F00C567B77F000001 /* playlist_elements.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D400C567B67F000001 /* playlist_elements.h */; }; + 68C3979000C567B77F000001 /* playlist_lists.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D500C567B67F000001 /* playlist_lists.h */; }; + 68C3979100C567B77F000001 /* playlist_parsers.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D600C567B67F000001 /* playlist_parsers.h */; }; + 68C3979200C567B77F000001 /* PlaylistPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D700C567B67F000001 /* PlaylistPicker.h */; }; + 68C3979300C567B77F000001 /* playlist_QTRTPBroadcastFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D800C567B67F000001 /* playlist_QTRTPBroadcastFile.h */; }; + 68C3979400C567B77F000001 /* playlist_SDPGen.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392D900C567B67F000001 /* playlist_SDPGen.h */; }; + 68C3979500C567B77F000001 /* playlist_SimpleParse.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392DA00C567B67F000001 /* playlist_SimpleParse.h */; }; + 68C3979600C567B77F000001 /* playlist_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392DB00C567B67F000001 /* playlist_utils.h */; }; + 68C3979700C567B77F000001 /* PLBroadcastDef.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392DC00C567B67F000001 /* PLBroadcastDef.h */; }; + 68C3979800C567B77F000001 /* playlist_array.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392DD00C567B67F000001 /* playlist_array.h */; }; + 68C3979900C567B77F000001 /* SimplePlayListElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392DE00C567B67F000001 /* SimplePlayListElement.h */; }; + 68C3979A00C567B77F000001 /* StSmartArrayPointer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392DF00C567B67F000001 /* StSmartArrayPointer.h */; }; + 68C3979B00C567B77F000001 /* TrackingElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392E000C567B67F000001 /* TrackingElement.h */; }; + 68C3979C00C567B77F000001 /* tailor.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392E100C567B67F000001 /* tailor.h */; }; + 68C3979D00C567B77F000001 /* BroadcasterSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392E200C567B67F000001 /* BroadcasterSession.h */; }; + 68C3979F00C567B77F000001 /* BCasterTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392BE00C567B67F000001 /* BCasterTracker.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A000C567B77F000001 /* BroadcastLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392BF00C567B67F000001 /* BroadcastLog.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A100C567B77F000001 /* NoRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C000C567B67F000001 /* NoRepeat.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A200C567B77F000001 /* PickerFromFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C100C567B67F000001 /* PickerFromFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A300C567B77F000001 /* PlaylistBroadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C200C567B67F000001 /* PlaylistBroadcaster.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A400C567B77F000001 /* playlist_broadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C300C567B67F000001 /* playlist_broadcaster.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A500C567B77F000001 /* playlist_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C400C567B67F000001 /* playlist_elements.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A600C567B77F000001 /* playlist_lists.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C500C567B67F000001 /* playlist_lists.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A700C567B77F000001 /* playlist_parsers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C600C567B67F000001 /* playlist_parsers.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A800C567B77F000001 /* PlaylistPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C700C567B67F000001 /* PlaylistPicker.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397A900C567B77F000001 /* playlist_QTRTPBroadcastFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C800C567B67F000001 /* playlist_QTRTPBroadcastFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397AA00C567B77F000001 /* playlist_SDPGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C900C567B67F000001 /* playlist_SDPGen.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397AB00C567B77F000001 /* playlist_SimpleParse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392CA00C567B67F000001 /* playlist_SimpleParse.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397AC00C567B77F000001 /* playlist_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392CB00C567B67F000001 /* playlist_utils.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397AD00C567B77F000001 /* PLBroadcastDef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392CC00C567B67F000001 /* PLBroadcastDef.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397AE00C567B77F000001 /* BroadcasterSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392CD00C567B67F000001 /* BroadcasterSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397B100C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C397BA00C567B77F000001 /* QTSSPasswd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392EB00C567B67F000001 /* QTSSPasswd.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C397BC00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C397C200C567B77F000001 /* proxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392F400C567B67F000001 /* proxy.h */; }; + 68C397C300C567B77F000001 /* proxy_plat.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392F500C567B67F000001 /* proxy_plat.h */; }; + 68C397C400C567B77F000001 /* shared_udp.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392F600C567B67F000001 /* shared_udp.h */; }; + 68C397C500C567B77F000001 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392F700C567B67F000001 /* util.h */; }; + 68C397C800C567B77F000001 /* proxy.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C392FA00C567B67F000001 /* proxy.c */; settings = {ATTRIBUTES = (); }; }; + 68C397C900C567B77F000001 /* proxy_unix.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C392FB00C567B67F000001 /* proxy_unix.c */; settings = {ATTRIBUTES = (); }; }; + 68C397CA00C567B77F000001 /* shared_udp.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C392FC00C567B67F000001 /* shared_udp.c */; settings = {ATTRIBUTES = (); }; }; + 68C397CB00C567B77F000001 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C392FD00C567B67F000001 /* util.c */; settings = {ATTRIBUTES = (); }; }; + 68C397CD00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3987500C567B77F000001 /* atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3946F00C567B67F000001 /* atomic.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3987600C567B77F000001 /* timestamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3947000C567B67F000001 /* timestamp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3987900C567B77F000001 /* timescale.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C3947300C567B67F000001 /* timescale.c */; settings = {ATTRIBUTES = (); }; }; + 68C3988100C567B77F000001 /* base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3949D00C567B67F000001 /* base64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988200C567B77F000001 /* ConfParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3949E00C567B67F000001 /* ConfParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988300C567B77F000001 /* DateTranslator.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3949F00C567B67F000001 /* DateTranslator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988400C567B77F000001 /* DssStopwatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A000C567B67F000001 /* DssStopwatch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988500C567B77F000001 /* ev.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A100C567B67F000001 /* ev.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988600C567B77F000001 /* EventContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A200C567B67F000001 /* EventContext.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988700C567B77F000001 /* FastCopyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A300C567B67F000001 /* FastCopyMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988800C567B77F000001 /* getopt.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A400C567B67F000001 /* getopt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988900C567B77F000001 /* GetWord.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A500C567B67F000001 /* GetWord.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988A00C567B77F000001 /* IdleTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A600C567B67F000001 /* IdleTask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988B00C567B77F000001 /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A700C567B67F000001 /* md5.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988C00C567B77F000001 /* md5digest.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A800C567B67F000001 /* md5digest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988D00C567B77F000001 /* MyAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394A900C567B67F000001 /* MyAssert.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988E00C567B77F000001 /* OS.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394AA00C567B67F000001 /* OS.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3988F00C567B77F000001 /* OSArrayObjectDeleter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394AB00C567B67F000001 /* OSArrayObjectDeleter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989000C567B77F000001 /* OSBufferPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394AC00C567B67F000001 /* OSBufferPool.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989100C567B77F000001 /* OSCodeFragment.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394AD00C567B67F000001 /* OSCodeFragment.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989200C567B77F000001 /* OSCond.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394AE00C567B67F000001 /* OSCond.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989300C567B77F000001 /* OSFileSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394AF00C567B67F000001 /* OSFileSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989400C567B77F000001 /* OSHashTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B000C567B67F000001 /* OSHashTable.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989500C567B77F000001 /* OSHeaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B100C567B67F000001 /* OSHeaders.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989600C567B77F000001 /* OSHeap.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B200C567B67F000001 /* OSHeap.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989700C567B77F000001 /* OSMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B300C567B67F000001 /* OSMemory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989800C567B77F000001 /* OSMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B400C567B67F000001 /* OSMutex.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989900C567B77F000001 /* OSMutexRW.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B500C567B67F000001 /* OSMutexRW.h */; }; + 68C3989A00C567B77F000001 /* OSQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B600C567B67F000001 /* OSQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989B00C567B77F000001 /* OSRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B700C567B67F000001 /* OSRef.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989C00C567B77F000001 /* OSThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B800C567B67F000001 /* OSThread.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989D00C567B77F000001 /* PLDoubleLinkedList.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394B900C567B67F000001 /* PLDoubleLinkedList.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3989E00C567B77F000001 /* QueryParamList.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394BA00C567B67F000001 /* QueryParamList.h */; }; + 68C3989F00C567B77F000001 /* ResizeableStringFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394BB00C567B67F000001 /* ResizeableStringFormatter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A000C567B77F000001 /* Socket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394BC00C567B67F000001 /* Socket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A100C567B77F000001 /* SocketUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394BD00C567B67F000001 /* SocketUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A200C567B77F000001 /* StopWatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394BE00C567B67F000001 /* StopWatch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A300C567B77F000001 /* StringFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394BF00C567B67F000001 /* StringFormatter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A400C567B77F000001 /* StringParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C000C567B67F000001 /* StringParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A500C567B77F000001 /* StringTranslator.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C100C567B67F000001 /* StringTranslator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A600C567B77F000001 /* StrPtrLen.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C200C567B67F000001 /* StrPtrLen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A700C567B77F000001 /* Task.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C300C567B67F000001 /* Task.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A800C567B77F000001 /* TCPListenerSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C400C567B67F000001 /* TCPListenerSocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398A900C567B77F000001 /* TCPSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C500C567B67F000001 /* TCPSocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398AA00C567B77F000001 /* tempcalls.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C600C567B67F000001 /* tempcalls.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398AB00C567B77F000001 /* TimeoutTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C700C567B67F000001 /* TimeoutTask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398AC00C567B77F000001 /* Trim.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C800C567B67F000001 /* Trim.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398AD00C567B77F000001 /* UDPDemuxer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394C900C567B67F000001 /* UDPDemuxer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398AE00C567B77F000001 /* UDPSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394CA00C567B67F000001 /* UDPSocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398AF00C567B77F000001 /* UDPSocketPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394CB00C567B67F000001 /* UDPSocketPool.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398B000C567B77F000001 /* UserAgentParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394CC00C567B67F000001 /* UserAgentParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398B200C567B77F000001 /* ConfParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3947B00C567B67F000001 /* ConfParser.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B300C567B77F000001 /* DateTranslator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3947C00C567B67F000001 /* DateTranslator.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B400C567B77F000001 /* EventContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3947D00C567B67F000001 /* EventContext.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B500C567B77F000001 /* IdleTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3947E00C567B67F000001 /* IdleTask.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B600C567B77F000001 /* md5digest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3947F00C567B67F000001 /* md5digest.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B700C567B77F000001 /* MyAssert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948000C567B67F000001 /* MyAssert.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B800C567B77F000001 /* OS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948100C567B67F000001 /* OS.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398B900C567B77F000001 /* OSBufferPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948200C567B67F000001 /* OSBufferPool.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398BA00C567B77F000001 /* OSCodeFragment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948300C567B67F000001 /* OSCodeFragment.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398BB00C567B77F000001 /* OSCond.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948400C567B67F000001 /* OSCond.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398BC00C567B77F000001 /* OSFileSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948500C567B67F000001 /* OSFileSource.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398BD00C567B77F000001 /* OSHeap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948600C567B67F000001 /* OSHeap.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398BE00C567B77F000001 /* OSMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948700C567B67F000001 /* OSMutex.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398BF00C567B77F000001 /* OSMutexRW.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948800C567B67F000001 /* OSMutexRW.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C000C567B77F000001 /* OSQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948900C567B67F000001 /* OSQueue.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C100C567B77F000001 /* OSRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948A00C567B67F000001 /* OSRef.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C200C567B77F000001 /* OSThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948B00C567B67F000001 /* OSThread.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C300C567B77F000001 /* QueryParamList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948C00C567B67F000001 /* QueryParamList.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C400C567B77F000001 /* ResizeableStringFormatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948D00C567B67F000001 /* ResizeableStringFormatter.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C500C567B77F000001 /* Socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948E00C567B67F000001 /* Socket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C600C567B77F000001 /* SocketUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3948F00C567B67F000001 /* SocketUtils.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C700C567B77F000001 /* StringFormatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949000C567B67F000001 /* StringFormatter.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C800C567B77F000001 /* StringParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949100C567B67F000001 /* StringParser.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398C900C567B77F000001 /* StringTranslator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949200C567B67F000001 /* StringTranslator.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398CA00C567B77F000001 /* StrPtrLen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949300C567B67F000001 /* StrPtrLen.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398CB00C567B77F000001 /* Task.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949400C567B67F000001 /* Task.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398CC00C567B77F000001 /* TCPListenerSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949500C567B67F000001 /* TCPListenerSocket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398CD00C567B77F000001 /* TCPSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949600C567B67F000001 /* TCPSocket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398CE00C567B77F000001 /* TimeoutTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949700C567B67F000001 /* TimeoutTask.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398CF00C567B77F000001 /* UDPDemuxer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949800C567B67F000001 /* UDPDemuxer.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398D000C567B77F000001 /* UDPSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949900C567B67F000001 /* UDPSocket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398D100C567B77F000001 /* UDPSocketPool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949A00C567B67F000001 /* UDPSocketPool.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398D200C567B77F000001 /* UserAgentParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3949B00C567B67F000001 /* UserAgentParser.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398D300C567B77F000001 /* base64.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C394CE00C567B67F000001 /* base64.c */; settings = {ATTRIBUTES = (); }; }; + 68C398D400C567B77F000001 /* getopt.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C394CF00C567B67F000001 /* getopt.c */; settings = {ATTRIBUTES = (); }; }; + 68C398D500C567B77F000001 /* GetWord.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C394D000C567B67F000001 /* GetWord.c */; settings = {ATTRIBUTES = (); }; }; + 68C398D600C567B77F000001 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C394D100C567B67F000001 /* md5.c */; settings = {ATTRIBUTES = (); }; }; + 68C398D700C567B77F000001 /* Trim.c in Sources */ = {isa = PBXBuildFile; fileRef = 68C394D200C567B67F000001 /* Trim.c */; settings = {ATTRIBUTES = (); }; }; + 68C398E300C567B77F000001 /* OSMemory_Modules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C394E100C567B67F000001 /* OSMemory_Modules.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398EA00C567B77F000001 /* QTSSAccessLogModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394EC00C567B67F000001 /* QTSSAccessLogModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398EC00C567B77F000001 /* QTSSAccessLogModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C394EA00C567B67F000001 /* QTSSAccessLogModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398F300C567B77F000001 /* QTSSFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394F700C567B67F000001 /* QTSSFileModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398F500C567B77F000001 /* QTSSFileModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C394F500C567B67F000001 /* QTSSFileModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C398FC00C567B77F000001 /* QTSSReflectorModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3950C00C567B67F000001 /* QTSSReflectorModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398FD00C567B77F000001 /* QTSSRelayModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3950D00C567B67F000001 /* QTSSRelayModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C398FF00C567B77F000001 /* RCFSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3950F00C567B67F000001 /* RCFSourceInfo.h */; }; + 68C3990000C567B77F000001 /* ReflectorOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951000C567B67F000001 /* ReflectorOutput.h */; }; + 68C3990100C567B77F000001 /* ReflectorSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951100C567B67F000001 /* ReflectorSession.h */; }; + 68C3990200C567B77F000001 /* ReflectorStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951200C567B67F000001 /* ReflectorStream.h */; }; + 68C3990300C567B77F000001 /* RelayOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951300C567B67F000001 /* RelayOutput.h */; }; + 68C3990400C567B77F000001 /* RelaySDPSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951400C567B67F000001 /* RelaySDPSourceInfo.h */; }; + 68C3990500C567B77F000001 /* RTPSessionOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951500C567B67F000001 /* RTPSessionOutput.h */; }; + 68C3990600C567B77F000001 /* RTSPSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951600C567B67F000001 /* RTSPSourceInfo.h */; }; + 68C3990700C567B77F000001 /* SequenceNumberMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951700C567B67F000001 /* SequenceNumberMap.h */; }; + 68C3990900C567B77F000001 /* QTSSReflectorModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950000C567B67F000001 /* QTSSReflectorModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3990A00C567B77F000001 /* QTSSRelayModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950100C567B67F000001 /* QTSSRelayModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3990C00C567B77F000001 /* RCFSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950300C567B67F000001 /* RCFSourceInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3990D00C567B77F000001 /* ReflectorSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950400C567B67F000001 /* ReflectorSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3990E00C567B77F000001 /* ReflectorStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950500C567B67F000001 /* ReflectorStream.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3990F00C567B77F000001 /* RelayOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950600C567B67F000001 /* RelayOutput.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3991000C567B77F000001 /* RelaySDPSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950700C567B67F000001 /* RelaySDPSourceInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3991100C567B77F000001 /* RTPSessionOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950800C567B67F000001 /* RTPSessionOutput.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3991200C567B77F000001 /* RTSPSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950900C567B67F000001 /* RTSPSourceInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3991300C567B77F000001 /* SequenceNumberMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950A00C567B67F000001 /* SequenceNumberMap.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3991B00C567B77F000001 /* QTSSFlowControlModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3952200C567B67F000001 /* QTSSFlowControlModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3991D00C567B77F000001 /* QTSSFlowControlModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3952000C567B67F000001 /* QTSSFlowControlModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3992400C567B77F000001 /* QTSSWebDebugModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3952D00C567B67F000001 /* QTSSWebDebugModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3992600C567B77F000001 /* QTSSWebDebugModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3952B00C567B67F000001 /* QTSSWebDebugModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3993600C567B77F000001 /* QTSSSpamDefenseModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3954300C567B67F000001 /* QTSSSpamDefenseModule.h */; }; + 68C3993900C567B77F000001 /* QTSSSpamDefenseModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3954100C567B67F000001 /* QTSSSpamDefenseModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3993C00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3994500C567B77F000001 /* QTSSRawFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3954E00C567B67F000001 /* QTSSRawFileModule.h */; }; + 68C3994800C567B77F000001 /* QTSSRawFileModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3954C00C567B67F000001 /* QTSSRawFileModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3995400C567B77F000001 /* QTSSFilePrivsModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3955900C567B67F000001 /* QTSSFilePrivsModule.h */; }; + 68C3995700C567B77F000001 /* QTSSFilePrivsModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3955700C567B67F000001 /* QTSSFilePrivsModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3995A00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3996B00C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3997400C567B77F000001 /* QTSSPosixFileSysModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3957100C567B67F000001 /* QTSSPosixFileSysModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3997600C567B77F000001 /* QTSSPosixFileSysModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3956F00C567B67F000001 /* QTSSPosixFileSysModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3997D00C567B77F000001 /* QTSSDemoSMILModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3957C00C567B67F000001 /* QTSSDemoSMILModule.h */; }; + 68C3998000C567B77F000001 /* QTSSDemoSMILModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3957A00C567B67F000001 /* QTSSDemoSMILModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3998300C567B77F000001 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 68C3998C00C567B77F000001 /* AdminElementNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3958900C567B67F000001 /* AdminElementNode.h */; }; + 68C3998D00C567B77F000001 /* AdminQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3958A00C567B67F000001 /* AdminQuery.h */; }; + 68C3998E00C567B77F000001 /* QTSSAdminModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3958B00C567B67F000001 /* QTSSAdminModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C3999000C567B77F000001 /* AdminElementNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3958500C567B67F000001 /* AdminElementNode.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3999100C567B77F000001 /* AdminQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3958600C567B67F000001 /* AdminQuery.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C3999200C567B77F000001 /* QTSSAdminModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3958700C567B67F000001 /* QTSSAdminModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399B100C567B77F000001 /* AccessChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395AF00C567B77F000001 /* AccessChecker.h */; }; + 68C399B200C567B77F000001 /* QTSSAccessModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395B000C567B77F000001 /* QTSSAccessModule.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399B400C567B77F000001 /* AccessChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395AC00C567B77F000001 /* AccessChecker.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399B500C567B77F000001 /* QTSSAccessModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395AD00C567B77F000001 /* QTSSAccessModule.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399C400C567B77F000001 /* OSMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395B900C567B77F000001 /* OSMemory.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399CB00C567B77F000001 /* RTCPAckPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395C700C567B77F000001 /* RTCPAckPacket.h */; settings = {ATTRIBUTES = (Project, Public, ); }; }; + 68C399CC00C567B77F000001 /* RTCPAPPPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395C800C567B77F000001 /* RTCPAPPPacket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399CD00C567B77F000001 /* RTCPPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395C900C567B77F000001 /* RTCPPacket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399CE00C567B77F000001 /* RTCPSRPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395CA00C567B77F000001 /* RTCPSRPacket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399D000C567B77F000001 /* RTCPAckPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395C200C567B77F000001 /* RTCPAckPacket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399D100C567B77F000001 /* RTCPAPPPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395C300C567B77F000001 /* RTCPAPPPacket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399D200C567B77F000001 /* RTCPPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395C400C567B77F000001 /* RTCPPacket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399D300C567B77F000001 /* RTCPSRPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395C500C567B77F000001 /* RTCPSRPacket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399DA00C567B77F000001 /* FilePrefsSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395D800C567B77F000001 /* FilePrefsSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399DD00C567B77F000001 /* PrefsSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395DB00C567B77F000001 /* PrefsSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399DF00C567B77F000001 /* XMLPrefsParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395DD00C567B77F000001 /* XMLPrefsParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399E100C567B77F000001 /* FilePrefsSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395D300C567B77F000001 /* FilePrefsSource.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399E400C567B77F000001 /* XMLPrefsParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395D600C567B77F000001 /* XMLPrefsParser.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399EC00C567B77F000001 /* QTSS.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395EA00C567B77F000001 /* QTSS.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399ED00C567B77F000001 /* QTSSRTSPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395EB00C567B77F000001 /* QTSSRTSPProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399EE00C567B77F000001 /* QTSS_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395EC00C567B77F000001 /* QTSS_Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399F000C567B77F000001 /* QTSS_Private.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395E800C567B77F000001 /* QTSS_Private.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399F700C567B77F000001 /* HTTPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395F800C567B77F000001 /* HTTPProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399F800C567B77F000001 /* HTTPRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395F900C567B77F000001 /* HTTPRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C399FA00C567B77F000001 /* HTTPProtocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395F500C567B77F000001 /* HTTPProtocol.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C399FB00C567B77F000001 /* HTTPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395F600C567B77F000001 /* HTTPRequest.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A0200C567B77F000001 /* RTPMetaInfoPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3960400C567B77F000001 /* RTPMetaInfoPacket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A0400C567B77F000001 /* RTPMetaInfoPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960200C567B77F000001 /* RTPMetaInfoPacket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A0B00C567B77F000001 /* QTAtom.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962100C567B77F000001 /* QTAtom.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A0C00C567B77F000001 /* QTAtom_dref.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962200C567B77F000001 /* QTAtom_dref.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A0D00C567B77F000001 /* QTAtom_elst.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962300C567B77F000001 /* QTAtom_elst.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A0E00C567B77F000001 /* QTAtom_hinf.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962400C567B77F000001 /* QTAtom_hinf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A0F00C567B77F000001 /* QTAtom_mdhd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962500C567B77F000001 /* QTAtom_mdhd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1000C567B77F000001 /* QTAtom_mvhd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962600C567B77F000001 /* QTAtom_mvhd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1100C567B77F000001 /* QTAtom_stco.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962700C567B77F000001 /* QTAtom_stco.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1200C567B77F000001 /* QTAtom_stsc.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962800C567B77F000001 /* QTAtom_stsc.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1300C567B77F000001 /* QTAtom_stsd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962900C567B77F000001 /* QTAtom_stsd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1400C567B77F000001 /* QTAtom_stss.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962A00C567B77F000001 /* QTAtom_stss.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1500C567B77F000001 /* QTAtom_stsz.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962B00C567B77F000001 /* QTAtom_stsz.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1600C567B77F000001 /* QTAtom_stts.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962C00C567B77F000001 /* QTAtom_stts.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1700C567B77F000001 /* QTAtom_tkhd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962D00C567B77F000001 /* QTAtom_tkhd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1800C567B77F000001 /* QTAtom_tref.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962E00C567B77F000001 /* QTAtom_tref.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1900C567B77F000001 /* QTFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962F00C567B77F000001 /* QTFile.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1A00C567B77F000001 /* QTFile_FileControlBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963000C567B77F000001 /* QTFile_FileControlBlock.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1B00C567B77F000001 /* QTHintTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963100C567B77F000001 /* QTHintTrack.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1C00C567B77F000001 /* QTRTPFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963200C567B77F000001 /* QTRTPFile.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1D00C567B77F000001 /* QTTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963300C567B77F000001 /* QTTrack.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A1F00C567B77F000001 /* QTAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960D00C567B77F000001 /* QTAtom.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2000C567B77F000001 /* QTAtom_dref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960E00C567B77F000001 /* QTAtom_dref.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2100C567B77F000001 /* QTAtom_elst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960F00C567B77F000001 /* QTAtom_elst.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2200C567B77F000001 /* QTAtom_hinf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961000C567B77F000001 /* QTAtom_hinf.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2300C567B77F000001 /* QTAtom_mdhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961100C567B77F000001 /* QTAtom_mdhd.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2400C567B77F000001 /* QTAtom_mvhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961200C567B77F000001 /* QTAtom_mvhd.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2500C567B77F000001 /* QTAtom_stco.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961300C567B77F000001 /* QTAtom_stco.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2600C567B77F000001 /* QTAtom_stsc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961400C567B77F000001 /* QTAtom_stsc.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2700C567B77F000001 /* QTAtom_stsd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961500C567B77F000001 /* QTAtom_stsd.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2800C567B77F000001 /* QTAtom_stss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961600C567B77F000001 /* QTAtom_stss.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2900C567B77F000001 /* QTAtom_stsz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961700C567B77F000001 /* QTAtom_stsz.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2A00C567B77F000001 /* QTAtom_stts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961800C567B77F000001 /* QTAtom_stts.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2B00C567B77F000001 /* QTAtom_tkhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961900C567B77F000001 /* QTAtom_tkhd.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2C00C567B77F000001 /* QTAtom_tref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961A00C567B77F000001 /* QTAtom_tref.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2D00C567B77F000001 /* QTFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961B00C567B77F000001 /* QTFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2E00C567B77F000001 /* QTFile_FileControlBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961C00C567B77F000001 /* QTFile_FileControlBlock.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A2F00C567B77F000001 /* QTHintTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961D00C567B77F000001 /* QTHintTrack.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A3000C567B77F000001 /* QTRTPFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961E00C567B77F000001 /* QTRTPFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A3100C567B77F000001 /* QTTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961F00C567B77F000001 /* QTTrack.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A3800C567B77F000001 /* QTAccessFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3964200C567B77F000001 /* QTAccessFile.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A3900C567B77F000001 /* QTSSModuleUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3964300C567B77F000001 /* QTSSModuleUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A3A00C567B77F000001 /* QTSSRollingLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3964400C567B77F000001 /* QTSSRollingLog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A3B00C567B77F000001 /* SDPSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3964500C567B77F000001 /* SDPSourceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A3C00C567B77F000001 /* SourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3964600C567B77F000001 /* SourceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A3E00C567B77F000001 /* QTAccessFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3963C00C567B77F000001 /* QTAccessFile.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A3F00C567B77F000001 /* QTSSModuleUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3963D00C567B77F000001 /* QTSSModuleUtils.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A4000C567B77F000001 /* QTSSRollingLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3963E00C567B77F000001 /* QTSSRollingLog.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A4100C567B77F000001 /* SDPSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3963F00C567B77F000001 /* SDPSourceInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A4200C567B77F000001 /* SourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3964000C567B77F000001 /* SourceInfo.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A4900C567B77F000001 /* ClientSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3965300C567B77F000001 /* ClientSession.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A4A00C567B77F000001 /* ClientSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3965400C567B77F000001 /* ClientSocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A4B00C567B77F000001 /* RTSPClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3965500C567B77F000001 /* RTSPClient.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68C39A4D00C567B77F000001 /* ClientSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3964F00C567B77F000001 /* ClientSession.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A4E00C567B77F000001 /* ClientSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3965000C567B77F000001 /* ClientSocket.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A4F00C567B77F000001 /* RTSPClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3965100C567B77F000001 /* RTSPClient.cpp */; settings = {ATTRIBUTES = (); }; }; + 68C39A7600C597627F000001 /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + 68C39A7B00C597AB7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39A7C00C597AB7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39A7D00C597AB7F000001 /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + 68C39A7E00C597AB7F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39A8600C59A9E7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39A8700C59A9E7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39A8800C59A9E7F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39A8E00C59BD47F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39A9000C59BD47F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39A9100C59BD47F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39A9B00C59D627F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39A9C00C59D627F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39A9E00C59D627F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39AA300C59DC47F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39AA400C59DC47F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39AA600C59DC47F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39AA700C59E2F7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39AA800C59E2F7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39AAA00C59E2F7F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39AAB00C59E2F7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39AAC00C59E2F7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39AAE00C59E2F7F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39AAF00C59E2F7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39AB000C59E2F7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39AB600C59ED87F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39AB700C59ED87F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39AB800C59ED87F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39ABA00C59ED87F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39ABB00C59ED87F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39ABC00C59ED87F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39ABE00C59ED87F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39AD500C5A04A7F000001 /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + 68C39AD600C5A04A7F000001 /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + 68C39AD700C5A04A7F000001 /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + 68C39AD900C5A04A7F000001 /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 68C39ADA00C5A04A7F000001 /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + 68C39ADC00C5A1257F000001 /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + 68C39AE300C5A5217F000001 /* libRTCPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; + 68C39AE400C5A5217F000001 /* libQTSSWebDebugModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396A300C567B77F000001 /* libQTSSWebDebugModule.a */; }; + 70A648BC01162DA102DD292F /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 70A6496701162F4E02DD292F /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 70A6496C01162FAC02DD292F /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 70A649750116302502DD292F /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 842575A10C334F9300813FC9 /* OpenDirectory.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8425759F0C334F9300813FC9 /* OpenDirectory.framework */; }; + 84413B8A09D9FEBB00F2EB8C /* ev.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84413B8909D9FEBB00F2EB8C /* ev.cpp */; }; + 846E9B7E0728602900E7A587 /* change_broadcast_password.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 846E9B7D0728600F00E7A587 /* change_broadcast_password.html */; }; + 84A765CC094F09AB00CE1B7A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + 84A76694094F09E100CE1B7A /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + 84CE3C380CEE607F0056DB85 /* DSAccessChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901010B2A561D00D99AE0 /* DSAccessChecker.h */; }; + 84CE3C390CEE607F0056DB85 /* CDirService.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901050B2A561D00D99AE0 /* CDirService.h */; }; + 84CE3C3A0CEE607F0056DB85 /* DSBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901070B2A561D00D99AE0 /* DSBuffer.h */; }; + 84CE3C3B0CEE607F0056DB85 /* DSDataList.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901080B2A561D00D99AE0 /* DSDataList.h */; }; + 84CE3C3C0CEE607F0056DB85 /* DSDataNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F901090B2A561D00D99AE0 /* DSDataNode.h */; }; + 84CE3C3D0CEE607F0056DB85 /* QTSSDSAuthModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F9010B0B2A561D00D99AE0 /* QTSSDSAuthModule.h */; }; + 84CE3C3F0CEE607F0056DB85 /* DSAccessChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F901000B2A561D00D99AE0 /* DSAccessChecker.cpp */; }; + 84CE3C400CEE607F0056DB85 /* CDirService.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F901040B2A561D00D99AE0 /* CDirService.cpp */; }; + 84CE3C410CEE607F0056DB85 /* DSBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F901060B2A561D00D99AE0 /* DSBuffer.cpp */; }; + 84CE3C420CEE607F0056DB85 /* QTSSDSAuthModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52F9010A0B2A561D00D99AE0 /* QTSSDSAuthModule.cpp */; }; + B62C45CC012B24BF0BDD2A6C /* QTSSMP3StreamingModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B62C45CB012B24BD0BDD2A6C /* QTSSMP3StreamingModule.cpp */; }; + B62C45CF012B253C0BDD2A6C /* QTSSMP3StreamingModule.h in Headers */ = {isa = PBXBuildFile; fileRef = B62C45CE012B253B0BDD2A6C /* QTSSMP3StreamingModule.h */; }; + B62F395E012B34C40BDD2A6C /* libQTSSMP3StreamingModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B62C45C5012B21870BDD2A6C /* libQTSSMP3StreamingModule.a */; }; + B6494FA10279F88F0BDD2A6C /* QTSSRefMovieModule.h in Headers */ = {isa = PBXBuildFile; fileRef = B6494F9F0279F88D0BDD2A6C /* QTSSRefMovieModule.h */; }; + B6494FA20279F88F0BDD2A6C /* QTSSRefMovieModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6494F9E0279F88D0BDD2A6C /* QTSSRefMovieModule.cpp */; }; + B6494FA40279F98A0BDD2A6C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + B6494FA50279F9B10BDD2A6C /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + B6494FA60279FA6F0BDD2A6C /* libOSMemory_Modules.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; + B6494FA70279FAB80BDD2A6C /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + B6494FA80279FB8D0BDD2A6C /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + B649D5D302B9813B0BDD2A6C /* GenerateXMLPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929600C567B67F000001 /* GenerateXMLPrefs.h */; }; + B649D5D402B9813B0BDD2A6C /* QTSSCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929700C567B67F000001 /* QTSSCallbacks.h */; }; + B649D5D502B9813B0BDD2A6C /* QTSSDataConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929800C567B67F000001 /* QTSSDataConverter.h */; }; + B649D5D602B9813B0BDD2A6C /* QTSSDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929900C567B67F000001 /* QTSSDictionary.h */; }; + B649D5D702B9813C0BDD2A6C /* QTSSErrorLogModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929A00C567B67F000001 /* QTSSErrorLogModule.h */; }; + B649D5D802B9813C0BDD2A6C /* QTSServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929B00C567B67F000001 /* QTSServer.h */; }; + B649D5D902B9813C0BDD2A6C /* QTSServerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929C00C567B67F000001 /* QTSServerInterface.h */; }; + B649D5DA02B9813C0BDD2A6C /* QTSServerPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929D00C567B67F000001 /* QTSServerPrefs.h */; }; + B649D5DB02B9813C0BDD2A6C /* QTSSExpirationDate.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929E00C567B67F000001 /* QTSSExpirationDate.h */; }; + B649D5DC02B9813C0BDD2A6C /* QTSSFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929F00C567B67F000001 /* QTSSFile.h */; }; + B649D5DD02B9813C0BDD2A6C /* QTSSMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A000C567B67F000001 /* QTSSMessages.h */; }; + B649D5DE02B9813C0BDD2A6C /* QTSSModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A100C567B67F000001 /* QTSSModule.h */; }; + B649D5DF02B9813C0BDD2A6C /* QTSSPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A200C567B67F000001 /* QTSSPrefs.h */; }; + B649D5E002B9813C0BDD2A6C /* QTSSSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A300C567B67F000001 /* QTSSSocket.h */; }; + B649D5E102B9813C0BDD2A6C /* QTSSStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A400C567B67F000001 /* QTSSStream.h */; }; + B649D5E202B9813C0BDD2A6C /* QTSSUserProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A500C567B67F000001 /* QTSSUserProfile.h */; }; + B649D5E302B9813C0BDD2A6C /* RTCPTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A600C567B67F000001 /* RTCPTask.h */; }; + B649D5E402B9813C0BDD2A6C /* RTPBandwidthTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A700C567B67F000001 /* RTPBandwidthTracker.h */; }; + B649D5E502B9813C0BDD2A6C /* RTPOverbufferWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A800C567B67F000001 /* RTPOverbufferWindow.h */; }; + B649D5E602B9813C0BDD2A6C /* RTPPacketResender.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A900C567B67F000001 /* RTPPacketResender.h */; }; + B649D5E702B9813C0BDD2A6C /* RTPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AA00C567B67F000001 /* RTPSession.h */; }; + B649D5E802B9813C0BDD2A6C /* RTPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AB00C567B67F000001 /* RTPSessionInterface.h */; }; + B649D5E902B9813C0BDD2A6C /* RTPStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AC00C567B67F000001 /* RTPStream.h */; }; + B649D5EA02B9813C0BDD2A6C /* RTSPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AD00C567B67F000001 /* RTSPProtocol.h */; }; + B649D5EB02B9813C0BDD2A6C /* RTSPRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AE00C567B67F000001 /* RTSPRequest.h */; }; + B649D5EC02B9813C0BDD2A6C /* RTSPRequestInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AF00C567B67F000001 /* RTSPRequestInterface.h */; }; + B649D5ED02B9813C0BDD2A6C /* RTSPRequestStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B000C567B67F000001 /* RTSPRequestStream.h */; }; + B649D5EE02B9813C0BDD2A6C /* RTSPResponseStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B100C567B67F000001 /* RTSPResponseStream.h */; }; + B649D5EF02B9813C0BDD2A6C /* RTSPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B200C567B67F000001 /* RTSPSession.h */; }; + B649D5F002B9813C0BDD2A6C /* RTSPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B300C567B67F000001 /* RTSPSessionInterface.h */; }; + B649D5F102B9813C0BDD2A6C /* RunServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B400C567B67F000001 /* RunServer.h */; }; + B649D5F902B9813C0BDD2A6C /* QTSS.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395EA00C567B77F000001 /* QTSS.h */; }; + B649D5FA02B9813C0BDD2A6C /* QTSS_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395EC00C567B77F000001 /* QTSS_Private.h */; }; + B649D5FB02B9813C0BDD2A6C /* QTSSRTSPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395EB00C567B77F000001 /* QTSSRTSPProtocol.h */; }; + B649D63802B9813C0BDD2A6C /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927600C567B67F000001 /* main.cpp */; }; + B649D63902B9813C0BDD2A6C /* GenerateXMLPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927500C567B67F000001 /* GenerateXMLPrefs.cpp */; }; + B649D63A02B9813C0BDD2A6C /* QTSSCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927700C567B67F000001 /* QTSSCallbacks.cpp */; }; + B649D63B02B9813C0BDD2A6C /* QTSSDataConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927800C567B67F000001 /* QTSSDataConverter.cpp */; }; + B649D63C02B9813C0BDD2A6C /* QTSSDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927900C567B67F000001 /* QTSSDictionary.cpp */; }; + B649D63D02B9813C0BDD2A6C /* QTSSErrorLogModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927A00C567B67F000001 /* QTSSErrorLogModule.cpp */; }; + B649D63E02B9813C0BDD2A6C /* QTSServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927B00C567B67F000001 /* QTSServer.cpp */; }; + B649D63F02B9813C0BDD2A6C /* QTSServerInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927C00C567B67F000001 /* QTSServerInterface.cpp */; }; + B649D64002B9813C0BDD2A6C /* QTSServerPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927D00C567B67F000001 /* QTSServerPrefs.cpp */; }; + B649D64102B9813C0BDD2A6C /* QTSSExpirationDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927E00C567B67F000001 /* QTSSExpirationDate.cpp */; }; + B649D64202B9813C0BDD2A6C /* QTSSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927F00C567B67F000001 /* QTSSFile.cpp */; }; + B649D64302B9813C0BDD2A6C /* QTSSMessages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928000C567B67F000001 /* QTSSMessages.cpp */; }; + B649D64402B9813C0BDD2A6C /* QTSSModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928100C567B67F000001 /* QTSSModule.cpp */; }; + B649D64502B9813C0BDD2A6C /* QTSSPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928200C567B67F000001 /* QTSSPrefs.cpp */; }; + B649D64602B9813C0BDD2A6C /* QTSSSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928300C567B67F000001 /* QTSSSocket.cpp */; }; + B649D64702B9813C0BDD2A6C /* QTSSUserProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928400C567B67F000001 /* QTSSUserProfile.cpp */; }; + B649D64802B9813C0BDD2A6C /* RTCPTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928500C567B67F000001 /* RTCPTask.cpp */; }; + B649D64902B9813C0BDD2A6C /* RTPBandwidthTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928600C567B67F000001 /* RTPBandwidthTracker.cpp */; }; + B649D64A02B9813C0BDD2A6C /* RTPOverbufferWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928700C567B67F000001 /* RTPOverbufferWindow.cpp */; }; + B649D64B02B9813C0BDD2A6C /* RTPPacketResender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928800C567B67F000001 /* RTPPacketResender.cpp */; }; + B649D64C02B9813C0BDD2A6C /* RTPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928900C567B67F000001 /* RTPSession.cpp */; }; + B649D64D02B9813C0BDD2A6C /* RTPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928A00C567B67F000001 /* RTPSessionInterface.cpp */; }; + B649D64E02B9813C0BDD2A6C /* RTPStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928B00C567B67F000001 /* RTPStream.cpp */; }; + B649D64F02B9813C0BDD2A6C /* RTSPProtocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928C00C567B67F000001 /* RTSPProtocol.cpp */; }; + B649D65002B9813C0BDD2A6C /* RTSPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928D00C567B67F000001 /* RTSPRequest.cpp */; }; + B649D65102B9813C0BDD2A6C /* RTSPRequestInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928E00C567B67F000001 /* RTSPRequestInterface.cpp */; }; + B649D65202B9813C0BDD2A6C /* RTSPRequestStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928F00C567B67F000001 /* RTSPRequestStream.cpp */; }; + B649D65302B9813C0BDD2A6C /* RTSPResponseStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929000C567B67F000001 /* RTSPResponseStream.cpp */; }; + B649D65402B9813C0BDD2A6C /* RTSPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929100C567B67F000001 /* RTSPSession.cpp */; }; + B649D65502B9813C0BDD2A6C /* RTSPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929200C567B67F000001 /* RTSPSessionInterface.cpp */; }; + B649D65602B9813C0BDD2A6C /* RunServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929300C567B67F000001 /* RunServer.cpp */; }; + B649D65D02B9813C0BDD2A6C /* QTSS_Private.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395E800C567B77F000001 /* QTSS_Private.cpp */; }; + B649D69302B983380BDD2A6C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + B649D69402B983380BDD2A6C /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + B649D69502B983380BDD2A6C /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + B649D69602B983380BDD2A6C /* libRTCPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; + B649D69702B983380BDD2A6C /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + B649D69802B983380BDD2A6C /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + B649D69902B983380BDD2A6C /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + B649D69A02B983380BDD2A6C /* libHTTPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */; }; + B649D69B02B983380BDD2A6C /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + B649D69C02B983380BDD2A6C /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + B649D69D02B983380BDD2A6C /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + B649D69E02B983380BDD2A6C /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + B69647D8027A41EC0BDD2A6C /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + B6DC980002FB30350BDD2A6C /* QTSSProxyModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6DC97FE02FB30350BDD2A6C /* QTSSProxyModule.cpp */; }; + B6DC980102FB30350BDD2A6C /* QTSSProxyModule.h in Headers */ = {isa = PBXBuildFile; fileRef = B6DC97FF02FB30350BDD2A6C /* QTSSProxyModule.h */; }; + DBDEE63C07C435A1007A0296 /* MP3Broadcaster.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4CE07C4336500A894EA /* MP3Broadcaster.1 */; }; + DBDEE63D07C435A1007A0296 /* PlaylistBroadcaster.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4CF07C4336500A894EA /* PlaylistBroadcaster.1 */; }; + DBDEE63E07C435A1007A0296 /* qtpasswd.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4D007C4336500A894EA /* qtpasswd.1 */; }; + DBDEE64707C435A6007A0296 /* createuserstreamingdir.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4CD07C4336500A894EA /* createuserstreamingdir.8 */; }; + DBDEE64807C435A6007A0296 /* QuickTimeStreamingServer.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4D107C4336500A894EA /* QuickTimeStreamingServer.8 */; }; + DBDEE64907C435A6007A0296 /* streamingadminserver.pl.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4D207C4336500A894EA /* streamingadminserver.pl.8 */; }; + DBDEE64A07C435A6007A0296 /* StreamingLoadTool.8 in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB5FB4D307C4336500A894EA /* StreamingLoadTool.8 */; }; + E9013529018645DF09DD2838 /* scroll_arrow_down.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9013524018645DE09DD2838 /* scroll_arrow_down.gif */; }; + E901352A018645DF09DD2838 /* scroll_arrow_up.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9013525018645DE09DD2838 /* scroll_arrow_up.gif */; }; + E901352B018645DF09DD2838 /* scroll_bg.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9013526018645DE09DD2838 /* scroll_bg.gif */; }; + E901352C018645DF09DD2838 /* scroll_bg_inactive.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9013527018645DE09DD2838 /* scroll_bg_inactive.gif */; }; + E901352D018645DF09DD2838 /* scroll_thumb.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9013528018645DE09DD2838 /* scroll_thumb.gif */; }; + E9029E250188C0DB09DD2838 /* icon_start_playlist.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9029E240188C0DA09DD2838 /* icon_start_playlist.gif */; }; + E9029E270188C10809DD2838 /* icon_stop_playlist.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9029E260188C10709DD2838 /* icon_stop_playlist.gif */; }; + E90CD038016133D109DD2838 /* sort_arrow_desc.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E90CD037016133D009DD2838 /* sort_arrow_desc.gif */; }; + E90CD03A016133F309DD2838 /* icon_error.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E90CD039016133F209DD2838 /* icon_error.gif */; }; + E90CF1AC014FDE2809DD2838 /* change_mp3_password.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E90CF1AB014FDE2709DD2838 /* change_mp3_password.html */; }; + E924776F01C6CFD309DD2838 /* MapUTF.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = E924776E01C6CFD209DD2838 /* MapUTF.pl */; }; + E93941060291C82509DD2838 /* password-utils.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = E93941050291C82409DD2838 /* password-utils.pl */; }; + E93DD2F1027876B709DD2838 /* users.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E93DD2F0027876B609DD2838 /* users.html */; }; + E9423B940146CCD009DD2838 /* relayxmlparser.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9423B930146CCCF09DD2838 /* relayxmlparser.pl */; }; + E957C41A01454E2109DD2838 /* index.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E957C41901454E2009DD2838 /* index.html */; }; + E95AB76F013AC8C009DD2838 /* change_password.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E95AB76D013AC8BF09DD2838 /* change_password.html */; }; + E96314B0013B155409DD2838 /* log_settings.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E96314AC013B155309DD2838 /* log_settings.html */; }; + E96314B1013B155409DD2838 /* ports.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E96314AD013B155309DD2838 /* ports.html */; }; + E9686BA501B2D0D309DD2838 /* setup_assistant5.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9686BA401B2D0D209DD2838 /* setup_assistant5.html */; }; + E978DC41017F827D09DD2838 /* change_password_redirect.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E978DC40017F827C09DD2838 /* change_password_redirect.html */; }; + E97D18ED0150316E09DD2838 /* genres in CopyFiles */ = {isa = PBXBuildFile; fileRef = E97D18EC0150316E09DD2838 /* genres */; }; + E97F11EF04313E7C09DD2838 /* start_broadcaster.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E97F11EE04313E7C09DD2838 /* start_broadcaster.html */; }; + E97F11F104313E8A09DD2838 /* restart_broadcaster.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E97F11F004313E8A09DD2838 /* restart_broadcaster.html */; }; + E98933B802F6140609DD2838 /* broadcaster_lib.pl in CopyFiles */ = {isa = PBXBuildFile; fileRef = E98933B602F6140609DD2838 /* broadcaster_lib.pl */; }; + E98933B902F6140609DD2838 /* broadcaster_settings.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E98933B702F6140609DD2838 /* broadcaster_settings.html */; }; + E98FD96102F5BCF209DD2838 /* QTSS Admin app.icns in Resources */ = {isa = PBXBuildFile; fileRef = E98FD96002F5BCF209DD2838 /* QTSS Admin app.icns */; }; + E98FD97002F5BD6309DD2838 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E98FD96A02F5BD6309DD2838 /* Cocoa.framework */; }; + E98FD97202F5BD9609DD2838 /* qtsslinkapp_main.m in Sources */ = {isa = PBXBuildFile; fileRef = E98FD97102F5BD9609DD2838 /* qtsslinkapp_main.m */; }; + E98FF20B01860AAC09DD2838 /* icon_generic.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E98FF20A01860AAB09DD2838 /* icon_generic.gif */; }; + E9A7DCF4015180FC09FF1BBE /* link.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9A7DCF2015180FB09FF1BBE /* link.gif */; }; + E9A7DCF5015180FC09FF1BBE /* link_disabled.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9A7DCF3015180FB09FF1BBE /* link_disabled.gif */; }; + E9ACCA5D013C317C09DD2838 /* error_log.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9ACCA5C013C317B09DD2838 /* error_log.html */; }; + E9ACCA5F013C52EC09DD2838 /* access_log.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9ACCA5E013C52EB09DD2838 /* access_log.html */; }; + E9BA8EF0027A14D109DD2838 /* icon_user.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9BA8EEF027A14D009DD2838 /* icon_user.gif */; }; + E9BA8EF2027A14DA09DD2838 /* icon_group.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9BA8EF1027A14D909DD2838 /* icon_group.gif */; }; + E9E2F95601C9716609DD2838 /* encode_unicode.js in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9E2F95501C9716509DD2838 /* encode_unicode.js */; }; + E9E7E9C5016BDDD609DD2838 /* start_server.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9E7E9C4016BDDD509DD2838 /* start_server.html */; }; + E9EC923E0137107709DD2838 /* general_settings.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9EC923C0137107609DD2838 /* general_settings.html */; }; + F50DFC12025357EB01F41924 /* SDPUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = F50DFC11025357EB01F41924 /* SDPUtils.h */; }; + F50DFC13025357EB01F41924 /* SDPUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F50DFC10025357EB01F41924 /* SDPUtils.cpp */; }; + F532558C0288434401DD2B50 /* QTSSMemoryDeleter.h in Headers */ = {isa = PBXBuildFile; fileRef = F532558B0288434401DD2B50 /* QTSSMemoryDeleter.h */; }; + F533DA9D011744B701DD292F /* MP3Broadcaster.h in Headers */ = {isa = PBXBuildFile; fileRef = F533DA8E011744B601DD292F /* MP3Broadcaster.h */; }; + F533DA9E011744B701DD292F /* MP3BroadcasterLog.h in Headers */ = {isa = PBXBuildFile; fileRef = F533DA90011744B601DD292F /* MP3BroadcasterLog.h */; }; + F533DA9F011744B701DD292F /* MP3FileBroadcaster.h in Headers */ = {isa = PBXBuildFile; fileRef = F533DA92011744B601DD292F /* MP3FileBroadcaster.h */; }; + F533DAA0011744B701DD292F /* MP3MetaInfoUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = F533DA94011744B601DD292F /* MP3MetaInfoUpdater.h */; }; + F533DAA2011744B701DD292F /* BroadcasterMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F533DA8C011744B601DD292F /* BroadcasterMain.cpp */; }; + F533DAA3011744B701DD292F /* MP3Broadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F533DA8D011744B601DD292F /* MP3Broadcaster.cpp */; }; + F533DAA4011744B701DD292F /* MP3BroadcasterLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F533DA8F011744B601DD292F /* MP3BroadcasterLog.cpp */; }; + F533DAA5011744B701DD292F /* MP3FileBroadcaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F533DA91011744B601DD292F /* MP3FileBroadcaster.cpp */; }; + F533DAA6011744B701DD292F /* MP3MetaInfoUpdater.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F533DA93011744B601DD292F /* MP3MetaInfoUpdater.cpp */; }; + F533DAA7011744B701DD292F /* NoRepeat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C000C567B67F000001 /* NoRepeat.cpp */; }; + F533DAA8011744B701DD292F /* PickerFromFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C100C567B67F000001 /* PickerFromFile.cpp */; }; + F533DAA9011744B701DD292F /* PlaylistPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C392C700C567B67F000001 /* PlaylistPicker.cpp */; }; + F533DAAC011744B701DD292F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F533DAAD011744B701DD292F /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F533DAAE011744B701DD292F /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F533DAAF011744B701DD292F /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + F551E69E0138190801000102 /* confirm.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F551E69C013818ED01000102 /* confirm.html */; }; + F5610DA601B5C81501DD2F6B /* dialog_side.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F5610DA501B5C81301DD2F6B /* dialog_side.gif */; }; + F568F9790254EE29010001C8 /* nav_logo_small.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F568F9780254EE28010001C8 /* nav_logo_small.gif */; }; + F56B5A2D0278791501DD2AFC /* QTSSReflectorModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3950C00C567B67F000001 /* QTSSReflectorModule.h */; }; + F56B5A2E0278791501DD2AFC /* QTSSRelayModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3950D00C567B67F000001 /* QTSSRelayModule.h */; }; + F56B5A2F0278791501DD2AFC /* RCFSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3950F00C567B67F000001 /* RCFSourceInfo.h */; }; + F56B5A300278791501DD2AFC /* ReflectorOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951000C567B67F000001 /* ReflectorOutput.h */; }; + F56B5A310278791501DD2AFC /* ReflectorSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951100C567B67F000001 /* ReflectorSession.h */; }; + F56B5A320278791501DD2AFC /* ReflectorStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951200C567B67F000001 /* ReflectorStream.h */; }; + F56B5A330278791501DD2AFC /* RelayOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951300C567B67F000001 /* RelayOutput.h */; }; + F56B5A340278791501DD2AFC /* RelaySDPSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951400C567B67F000001 /* RelaySDPSourceInfo.h */; }; + F56B5A350278791501DD2AFC /* RTPSessionOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951500C567B67F000001 /* RTPSessionOutput.h */; }; + F56B5A360278791501DD2AFC /* RTSPSourceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951600C567B67F000001 /* RTSPSourceInfo.h */; }; + F56B5A370278791501DD2AFC /* SequenceNumberMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3951700C567B67F000001 /* SequenceNumberMap.h */; }; + F56B5A380278791501DD2AFC /* RelaySession.h in Headers */ = {isa = PBXBuildFile; fileRef = 0066F5CF016E6AD000DD2B4C /* RelaySession.h */; }; + F56B5A390278791501DD2AFC /* QTSSReflectorModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950000C567B67F000001 /* QTSSReflectorModule.cpp */; }; + F56B5A3A0278791501DD2AFC /* QTSSRelayModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950100C567B67F000001 /* QTSSRelayModule.cpp */; }; + F56B5A3B0278791501DD2AFC /* RCFSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950300C567B67F000001 /* RCFSourceInfo.cpp */; }; + F56B5A3C0278791501DD2AFC /* ReflectorSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950400C567B67F000001 /* ReflectorSession.cpp */; }; + F56B5A3D0278791501DD2AFC /* ReflectorStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950500C567B67F000001 /* ReflectorStream.cpp */; }; + F56B5A3E0278791501DD2AFC /* RelayOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950600C567B67F000001 /* RelayOutput.cpp */; }; + F56B5A3F0278791501DD2AFC /* RelaySDPSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950700C567B67F000001 /* RelaySDPSourceInfo.cpp */; }; + F56B5A400278791501DD2AFC /* RTPSessionOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950800C567B67F000001 /* RTPSessionOutput.cpp */; }; + F56B5A410278791501DD2AFC /* RTSPSourceInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950900C567B67F000001 /* RTSPSourceInfo.cpp */; }; + F56B5A420278791501DD2AFC /* SequenceNumberMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3950A00C567B67F000001 /* SequenceNumberMap.cpp */; }; + F56B5A430278791501DD2AFC /* RelaySession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0066F5CE016E6AD000DD2B4C /* RelaySession.cpp */; }; + F56B5A440278791501DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F56B5A450278791501DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F56B5A460278791501DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F56B5A470278791501DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F56B5A480278791501DD2AFC /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + F56B5A490278796A01DD2AFC /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + F56B5A4A0278796A01DD2AFC /* libRTCPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; + F56B5A4D02787A6901DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F56B5A4E02787A7F01DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F56B5A4F02787A9501DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F56B5A5002787AF101DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F56B5A5102787AF101DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F56B5A5202787AF901DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F56B5A5302787B0101DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F56B5A720278AF2501DD2AFC /* GenerateXMLPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929600C567B67F000001 /* GenerateXMLPrefs.h */; }; + F56B5A730278AF2501DD2AFC /* QTSSCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929700C567B67F000001 /* QTSSCallbacks.h */; }; + F56B5A740278AF2501DD2AFC /* QTSSDataConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929800C567B67F000001 /* QTSSDataConverter.h */; }; + F56B5A750278AF2501DD2AFC /* QTSSDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929900C567B67F000001 /* QTSSDictionary.h */; }; + F56B5A760278AF2501DD2AFC /* QTSSErrorLogModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929A00C567B67F000001 /* QTSSErrorLogModule.h */; }; + F56B5A770278AF2501DD2AFC /* QTSServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929B00C567B67F000001 /* QTSServer.h */; }; + F56B5A780278AF2501DD2AFC /* QTSServerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929C00C567B67F000001 /* QTSServerInterface.h */; }; + F56B5A790278AF2501DD2AFC /* QTSServerPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929D00C567B67F000001 /* QTSServerPrefs.h */; }; + F56B5A7A0278AF2501DD2AFC /* QTSSExpirationDate.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929E00C567B67F000001 /* QTSSExpirationDate.h */; }; + F56B5A7B0278AF2501DD2AFC /* QTSSFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3929F00C567B67F000001 /* QTSSFile.h */; }; + F56B5A7C0278AF2501DD2AFC /* QTSSMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A000C567B67F000001 /* QTSSMessages.h */; }; + F56B5A7D0278AF2501DD2AFC /* QTSSModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A100C567B67F000001 /* QTSSModule.h */; }; + F56B5A7E0278AF2501DD2AFC /* QTSSPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A200C567B67F000001 /* QTSSPrefs.h */; }; + F56B5A7F0278AF2501DD2AFC /* QTSSSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A300C567B67F000001 /* QTSSSocket.h */; }; + F56B5A800278AF2501DD2AFC /* QTSSStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A400C567B67F000001 /* QTSSStream.h */; }; + F56B5A810278AF2501DD2AFC /* QTSSUserProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A500C567B67F000001 /* QTSSUserProfile.h */; }; + F56B5A820278AF2501DD2AFC /* RTCPTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A600C567B67F000001 /* RTCPTask.h */; }; + F56B5A830278AF2501DD2AFC /* RTPBandwidthTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A700C567B67F000001 /* RTPBandwidthTracker.h */; }; + F56B5A840278AF2501DD2AFC /* RTPOverbufferWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A800C567B67F000001 /* RTPOverbufferWindow.h */; }; + F56B5A850278AF2501DD2AFC /* RTPPacketResender.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392A900C567B67F000001 /* RTPPacketResender.h */; }; + F56B5A860278AF2501DD2AFC /* RTPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AA00C567B67F000001 /* RTPSession.h */; }; + F56B5A870278AF2501DD2AFC /* RTPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AB00C567B67F000001 /* RTPSessionInterface.h */; }; + F56B5A880278AF2501DD2AFC /* RTPStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AC00C567B67F000001 /* RTPStream.h */; }; + F56B5A890278AF2501DD2AFC /* RTSPProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AD00C567B67F000001 /* RTSPProtocol.h */; }; + F56B5A8A0278AF2501DD2AFC /* RTSPRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AE00C567B67F000001 /* RTSPRequest.h */; }; + F56B5A8B0278AF2501DD2AFC /* RTSPRequestInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392AF00C567B67F000001 /* RTSPRequestInterface.h */; }; + F56B5A8C0278AF2501DD2AFC /* RTSPRequestStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B000C567B67F000001 /* RTSPRequestStream.h */; }; + F56B5A8D0278AF2501DD2AFC /* RTSPResponseStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B100C567B67F000001 /* RTSPResponseStream.h */; }; + F56B5A8E0278AF2501DD2AFC /* RTSPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B200C567B67F000001 /* RTSPSession.h */; }; + F56B5A8F0278AF2501DD2AFC /* RTSPSessionInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B300C567B67F000001 /* RTSPSessionInterface.h */; }; + F56B5A900278AF2501DD2AFC /* RunServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C392B400C567B67F000001 /* RunServer.h */; }; + F56B5A920278AF2501DD2AFC /* GenerateXMLPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927500C567B67F000001 /* GenerateXMLPrefs.cpp */; }; + F56B5A930278AF2501DD2AFC /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927600C567B67F000001 /* main.cpp */; }; + F56B5A940278AF2501DD2AFC /* QTSSCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927700C567B67F000001 /* QTSSCallbacks.cpp */; }; + F56B5A950278AF2501DD2AFC /* QTSSDataConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927800C567B67F000001 /* QTSSDataConverter.cpp */; }; + F56B5A960278AF2501DD2AFC /* QTSSDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927900C567B67F000001 /* QTSSDictionary.cpp */; }; + F56B5A970278AF2501DD2AFC /* QTSSErrorLogModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927A00C567B67F000001 /* QTSSErrorLogModule.cpp */; }; + F56B5A980278AF2501DD2AFC /* QTSServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927B00C567B67F000001 /* QTSServer.cpp */; }; + F56B5A990278AF2501DD2AFC /* QTSServerInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927C00C567B67F000001 /* QTSServerInterface.cpp */; }; + F56B5A9A0278AF2501DD2AFC /* QTSServerPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927D00C567B67F000001 /* QTSServerPrefs.cpp */; }; + F56B5A9B0278AF2501DD2AFC /* QTSSExpirationDate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927E00C567B67F000001 /* QTSSExpirationDate.cpp */; }; + F56B5A9C0278AF2501DD2AFC /* QTSSFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3927F00C567B67F000001 /* QTSSFile.cpp */; }; + F56B5A9D0278AF2501DD2AFC /* QTSSMessages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928000C567B67F000001 /* QTSSMessages.cpp */; }; + F56B5A9E0278AF2501DD2AFC /* QTSSModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928100C567B67F000001 /* QTSSModule.cpp */; }; + F56B5A9F0278AF2501DD2AFC /* QTSSPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928200C567B67F000001 /* QTSSPrefs.cpp */; }; + F56B5AA00278AF2501DD2AFC /* QTSSSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928300C567B67F000001 /* QTSSSocket.cpp */; }; + F56B5AA10278AF2501DD2AFC /* QTSSUserProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928400C567B67F000001 /* QTSSUserProfile.cpp */; }; + F56B5AA20278AF2501DD2AFC /* RTCPTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928500C567B67F000001 /* RTCPTask.cpp */; }; + F56B5AA30278AF2501DD2AFC /* RTPBandwidthTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928600C567B67F000001 /* RTPBandwidthTracker.cpp */; }; + F56B5AA40278AF2501DD2AFC /* RTPOverbufferWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928700C567B67F000001 /* RTPOverbufferWindow.cpp */; }; + F56B5AA50278AF2501DD2AFC /* RTPPacketResender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928800C567B67F000001 /* RTPPacketResender.cpp */; }; + F56B5AA60278AF2501DD2AFC /* RTPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928900C567B67F000001 /* RTPSession.cpp */; }; + F56B5AA70278AF2501DD2AFC /* RTPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928A00C567B67F000001 /* RTPSessionInterface.cpp */; }; + F56B5AA80278AF2501DD2AFC /* RTPStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928B00C567B67F000001 /* RTPStream.cpp */; }; + F56B5AA90278AF2501DD2AFC /* RTSPProtocol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928C00C567B67F000001 /* RTSPProtocol.cpp */; }; + F56B5AAA0278AF2501DD2AFC /* RTSPRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928D00C567B67F000001 /* RTSPRequest.cpp */; }; + F56B5AAB0278AF2501DD2AFC /* RTSPRequestInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928E00C567B67F000001 /* RTSPRequestInterface.cpp */; }; + F56B5AAC0278AF2501DD2AFC /* RTSPRequestStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3928F00C567B67F000001 /* RTSPRequestStream.cpp */; }; + F56B5AAD0278AF2501DD2AFC /* RTSPResponseStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929000C567B67F000001 /* RTSPResponseStream.cpp */; }; + F56B5AAE0278AF2501DD2AFC /* RTSPSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929100C567B67F000001 /* RTSPSession.cpp */; }; + F56B5AAF0278AF2501DD2AFC /* RTSPSessionInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929200C567B67F000001 /* RTSPSessionInterface.cpp */; }; + F56B5AB00278AF2501DD2AFC /* RunServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3929300C567B67F000001 /* RunServer.cpp */; }; + F56B5AB30278AF2501DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F56B5AB40278AF2501DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F56B5AB50278AF2501DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F56B5AB60278AF2501DD2AFC /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + F56B5AB70278AF2501DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F56B5AB80278AF2501DD2AFC /* libHTTPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */; }; + F56B5AB90278AF2501DD2AFC /* libOSMemoryLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; + F56B5ABA0278AF2501DD2AFC /* libPrefsSourceLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; + F56B5ABB0278AF2501DD2AFC /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + F56B5ABC0278AF2501DD2AFC /* libRTCPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; + F56B5ABD0278AF2501DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F56B5ABE0278AF2501DD2AFC /* libRTSPClientLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; + F56B5AC00278B00A01DD2AFC /* streamingserver.xml in CopyFiles */ = {isa = PBXBuildFile; fileRef = 68C3920E00C567B67F000001 /* streamingserver.xml */; }; + F56B5AC10278B00A01DD2AFC /* relayconfig.xml-Sample in CopyFiles */ = {isa = PBXBuildFile; fileRef = 005B0878013B079200DD292F /* relayconfig.xml-Sample */; }; + F56B5AC30278B00A01DD2AFC /* sample.mp3 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0082672B01A2F39A00DD2AFC /* sample.mp3 */; }; + F56B5AC50278B00A01DD2AFC /* sample_300kbit.mov in CopyFiles */ = {isa = PBXBuildFile; fileRef = 61B89716017F4FDD0EDD2AFC /* sample_300kbit.mov */; }; + F56B5AC60278B00A01DD2AFC /* sample_100kbit.mov in CopyFiles */ = {isa = PBXBuildFile; fileRef = 61B89717017F4FDD0EDD2AFC /* sample_100kbit.mov */; }; + F56CBE670136D97301000102 /* weight_up_arrow.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F56CBE630136D97301000102 /* weight_up_arrow.gif */; }; + F56CBE680136D97301000102 /* wieght_down_arrow.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F56CBE640136D97301000102 /* wieght_down_arrow.gif */; }; + F56EA4BF0199D1800100010F /* relay_status.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F56EA4BE0199D17E0100010F /* relay_status.html */; }; + F574E249015FE07001000127 /* playlist_error_log.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F574E248015FE06F01000127 /* playlist_error_log.html */; }; + F57EED33027E9EDE01FF7AB9 /* InternalStdLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F57EED31027E9EDD01FF7AB9 /* InternalStdLib.cpp */; }; + F57EED34027E9EDE01FF7AB9 /* DynamicModuleStdLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F57EED30027E9EDD01FF7AB9 /* DynamicModuleStdLib.cpp */; }; + F57EED37027E9FD601FF7AB9 /* SafeStdLib.h in Headers */ = {isa = PBXBuildFile; fileRef = F57EED2E027E9EDD01FF7AB9 /* SafeStdLib.h */; }; + F57EED38027E9FF201FF7AB9 /* SafeStdLib.h in Headers */ = {isa = PBXBuildFile; fileRef = F57EED2E027E9EDD01FF7AB9 /* SafeStdLib.h */; }; + F57EED3F027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED40027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED41027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED42027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED43027EA28201FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED44027EA28201FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED45027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED46027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED47027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED48027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED49027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED4A027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED4B027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED4C027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED4D027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED4E027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED4F027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED50027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; + F57EED53027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED54027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED56027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED57027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED58027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED59027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED5A027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED5B027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED5C027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED5D027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED5E027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED5F027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F57EED60027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; + F596A33C019319320189D339 /* nav_help.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F596A33B019319300189D339 /* nav_help.gif */; }; + F59F643001449BE001000104 /* relay_targets.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F642C01449BDF01000104 /* relay_targets.html */; }; + F59F643101449BE001000104 /* relay_details_default.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F642D01449BDF01000104 /* relay_details_default.html */; }; + F59F643201449BE001000104 /* relay_details.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F642E01449BDF01000104 /* relay_details.html */; }; + F59F643301449BE001000104 /* relay.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F642F01449BDF01000104 /* relay.html */; }; + F59F64370144BCEB01000104 /* setup_assistant2.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F64340144BCEA01000104 /* setup_assistant2.html */; }; + F59F64380144BCEB01000104 /* setup_assistant3.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F64350144BCEA01000104 /* setup_assistant3.html */; }; + F59F64390144BCEB01000104 /* setup_assistant4.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = F59F64360144BCEA01000104 /* setup_assistant4.html */; }; + F5C080B70415983101DD2E7A /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5C07FA60415973001DD2E7A /* Security.framework */; }; + F5C3E6EC017CFE25010001C8 /* icon_doc.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F5C3E6EB017CFE24010001C8 /* icon_doc.gif */; }; + F5C7F02701B6CE3601DD2F6B /* nav_logo.gif in CopyFiles */ = {isa = PBXBuildFile; fileRef = F5C7F02601B6CE3401DD2F6B /* nav_logo.gif */; }; + F5E91D1402775AB101DD2AFC /* QTSSAccessModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395B000C567B77F000001 /* QTSSAccessModule.h */; }; + F5E91D1502775AB101DD2AFC /* AccessChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395AF00C567B77F000001 /* AccessChecker.h */; }; + F5E91D1602775AB101DD2AFC /* QTSSAccessModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395AD00C567B77F000001 /* QTSSAccessModule.cpp */; }; + F5E91D1702775AB101DD2AFC /* AccessChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395AC00C567B77F000001 /* AccessChecker.cpp */; }; + F5E91D1902775AB101DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91D2202775B5E01DD2AFC /* QTSSFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394F700C567B67F000001 /* QTSSFileModule.h */; }; + F5E91D2502775B5E01DD2AFC /* QTSSFileModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C394F500C567B67F000001 /* QTSSFileModule.cpp */; }; + F5E91D2802775B5E01DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91D3302775C5601DD2AFC /* QTSSAccessLogModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C394EC00C567B67F000001 /* QTSSAccessLogModule.h */; }; + F5E91D3602775C5601DD2AFC /* QTSSAccessLogModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C394EA00C567B67F000001 /* QTSSAccessLogModule.cpp */; }; + F5E91D3902775C5601DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91D5F02775C5601DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91D6B02775D2501DD2AFC /* QTSSFlowControlModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3952200C567B67F000001 /* QTSSFlowControlModule.h */; }; + F5E91D6E02775D2501DD2AFC /* QTSSFlowControlModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3952000C567B67F000001 /* QTSSFlowControlModule.cpp */; }; + F5E91D7102775D2501DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91D7A02775D2501DD2AFC /* QTSSWebDebugModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3952D00C567B67F000001 /* QTSSWebDebugModule.h */; }; + F5E91D7D02775D2501DD2AFC /* QTSSWebDebugModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3952B00C567B67F000001 /* QTSSWebDebugModule.cpp */; }; + F5E91D8002775D2501DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91D8302775D2501DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91D8902775D2501DD2AFC /* QTSSWebStatsModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3953800C567B67F000001 /* QTSSWebStatsModule.h */; }; + F5E91D8C02775D2501DD2AFC /* QTSSWebStatsModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3953600C567B67F000001 /* QTSSWebStatsModule.cpp */; }; + F5E91D8F02775D2501DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91DA002775EEC01DD2AFC /* QTSSPosixFileSysModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3957100C567B67F000001 /* QTSSPosixFileSysModule.h */; }; + F5E91DA302775EEC01DD2AFC /* QTSSPosixFileSysModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3956F00C567B67F000001 /* QTSSPosixFileSysModule.cpp */; }; + F5E91DB20277603301DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91DBB0277603301DD2AFC /* QTSSAdminModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3958B00C567B67F000001 /* QTSSAdminModule.h */; }; + F5E91DBC0277603301DD2AFC /* AdminQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3958A00C567B67F000001 /* AdminQuery.h */; }; + F5E91DBD0277603301DD2AFC /* AdminElementNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3958900C567B67F000001 /* AdminElementNode.h */; }; + F5E91DC00277603301DD2AFC /* QTSSAdminModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3958700C567B67F000001 /* QTSSAdminModule.cpp */; }; + F5E91DC10277603301DD2AFC /* AdminQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3958600C567B67F000001 /* AdminQuery.cpp */; }; + F5E91DC20277603301DD2AFC /* AdminElementNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3958500C567B67F000001 /* AdminElementNode.cpp */; }; + F5E91DCF0277603301DD2AFC /* QTSSHttpFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3959600C567B77F000001 /* QTSSHttpFileModule.h */; }; + F5E91DD20277603301DD2AFC /* QTSSHttpFileModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3959400C567B77F000001 /* QTSSHttpFileModule.cpp */; }; + F5E91DD50277603301DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91DDF0277603301DD2AFC /* QTSSRTPFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395A200C567B77F000001 /* QTSSRTPFileModule.h */; }; + F5E91DE00277603301DD2AFC /* RTPFileSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C395A300C567B77F000001 /* RTPFileSession.h */; }; + F5E91DE30277603301DD2AFC /* QTSSRTPFileModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3959F00C567B77F000001 /* QTSSRTPFileModule.cpp */; }; + F5E91DE40277603301DD2AFC /* RTPFileSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C395A000C567B77F000001 /* RTPFileSession.cpp */; }; + F5E91DE70277603301DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91DF0027868CE01DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91DF20278699501DD2AFC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3965E00C567B77F000001 /* Foundation.framework */; }; + F5E91DF30278699501DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91DF50278699501DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91DF60278699501DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91DF702786AB101DD2AFC /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + F5E91DF802786AF601DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91DF902786AFF01DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91DFA02786B0701DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91DFB02786B0F01DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5E91DFC02786B4201DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91DFD02786BD001DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91DFF02786C9601DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91E0002786C9F01DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91E0102786CA701DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5E91E0202786CD501DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91E0302786CFB01DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91E0402786D0401DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91E0502786D0A01DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5E91E0702786D4401DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91E0802786D4401DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91E0902786D4D01DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91E0A02786D5301DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5E91E0B02786DA901DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5E91E0C02786DDF01DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91E0D02786DDF01DD2AFC /* libHTTPUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */; }; + F5E91E0E02786DE701DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91E0F02786DF601DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91E1002786DFE01DD2AFC /* libQTFileLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; + F5E91E1102786E0601DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5E91E1202786E3101DD2AFC /* libAPIStubLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; + F5E91E1302786E3101DD2AFC /* libAPICommonCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; + F5E91E1402786E3901DD2AFC /* libCommonUtilitiesLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; + F5E91E1502786E3E01DD2AFC /* libRTPMetaInfoLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; + F5EB63B1011F467801DD292F /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + F5EB63B2011F4A8F01DD292F /* libAtomicLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; + F5EF9AF001235DC301DD292F /* atomic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5EF9AEF01235DC301DD292F /* atomic.cpp */; }; + F6999B67023926FC01000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53102392A2801000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53202392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53302392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53402392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53502392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53602392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53702392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A3A53802392AE101000103 /* libQTFileExternalLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; + F6A48AF802390D8901000103 /* QTAtom.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962100C567B77F000001 /* QTAtom.h */; }; + F6A48AF902390D8901000103 /* QTAtom_dref.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962200C567B77F000001 /* QTAtom_dref.h */; }; + F6A48AFA02390D8901000103 /* QTAtom_elst.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962300C567B77F000001 /* QTAtom_elst.h */; }; + F6A48AFB02390D8901000103 /* QTAtom_hinf.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962400C567B77F000001 /* QTAtom_hinf.h */; }; + F6A48AFC02390D8901000103 /* QTAtom_mdhd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962500C567B77F000001 /* QTAtom_mdhd.h */; }; + F6A48AFD02390D8901000103 /* QTAtom_mvhd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962600C567B77F000001 /* QTAtom_mvhd.h */; }; + F6A48AFE02390D8901000103 /* QTAtom_stco.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962700C567B77F000001 /* QTAtom_stco.h */; }; + F6A48AFF02390D8901000103 /* QTAtom_stsc.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962800C567B77F000001 /* QTAtom_stsc.h */; }; + F6A48B0002390D8901000103 /* QTAtom_stsd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962900C567B77F000001 /* QTAtom_stsd.h */; }; + F6A48B0102390D8901000103 /* QTAtom_stss.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962A00C567B77F000001 /* QTAtom_stss.h */; }; + F6A48B0202390D8901000103 /* QTAtom_stsz.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962B00C567B77F000001 /* QTAtom_stsz.h */; }; + F6A48B0302390D8901000103 /* QTAtom_stts.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962C00C567B77F000001 /* QTAtom_stts.h */; }; + F6A48B0402390D8901000103 /* QTAtom_tkhd.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962D00C567B77F000001 /* QTAtom_tkhd.h */; }; + F6A48B0502390D8901000103 /* QTAtom_tref.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962E00C567B77F000001 /* QTAtom_tref.h */; }; + F6A48B0602390D8901000103 /* QTFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3962F00C567B77F000001 /* QTFile.h */; }; + F6A48B0702390D8901000103 /* QTFile_FileControlBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963000C567B77F000001 /* QTFile_FileControlBlock.h */; }; + F6A48B0802390D8901000103 /* QTHintTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963100C567B77F000001 /* QTHintTrack.h */; }; + F6A48B0902390D8901000103 /* QTRTPFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963200C567B77F000001 /* QTRTPFile.h */; }; + F6A48B0A02390D8901000103 /* QTTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C3963300C567B77F000001 /* QTTrack.h */; }; + F6A48B0B02390E3701000103 /* QTAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960D00C567B77F000001 /* QTAtom.cpp */; }; + F6A48B0C02390E3701000103 /* QTAtom_dref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960E00C567B77F000001 /* QTAtom_dref.cpp */; }; + F6A48B0D02390E3701000103 /* QTAtom_elst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3960F00C567B77F000001 /* QTAtom_elst.cpp */; }; + F6A48B0E02390E3701000103 /* QTAtom_hinf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961000C567B77F000001 /* QTAtom_hinf.cpp */; }; + F6A48B0F02390E3701000103 /* QTAtom_mdhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961100C567B77F000001 /* QTAtom_mdhd.cpp */; }; + F6A48B1002390E3701000103 /* QTAtom_mvhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961200C567B77F000001 /* QTAtom_mvhd.cpp */; }; + F6A48B1102390E3701000103 /* QTAtom_stco.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961300C567B77F000001 /* QTAtom_stco.cpp */; }; + F6A48B1202390E3701000103 /* QTAtom_stsc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961400C567B77F000001 /* QTAtom_stsc.cpp */; }; + F6A48B1302390E3701000103 /* QTAtom_stsd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961500C567B77F000001 /* QTAtom_stsd.cpp */; }; + F6A48B1402390E3701000103 /* QTAtom_stss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961600C567B77F000001 /* QTAtom_stss.cpp */; }; + F6A48B1502390E3701000103 /* QTAtom_stsz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961700C567B77F000001 /* QTAtom_stsz.cpp */; }; + F6A48B1602390E3701000103 /* QTAtom_stts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961800C567B77F000001 /* QTAtom_stts.cpp */; }; + F6A48B1702390E3701000103 /* QTAtom_tkhd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961900C567B77F000001 /* QTAtom_tkhd.cpp */; }; + F6A48B1802390E3701000103 /* QTAtom_tref.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961A00C567B77F000001 /* QTAtom_tref.cpp */; }; + F6A48B1902390E3701000103 /* QTFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961B00C567B77F000001 /* QTFile.cpp */; }; + F6A48B1A02390E3701000103 /* QTFile_FileControlBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961C00C567B77F000001 /* QTFile_FileControlBlock.cpp */; }; + F6A48B1B02390E3701000103 /* QTHintTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961D00C567B77F000001 /* QTHintTrack.cpp */; }; + F6A48B1C02390E3701000103 /* QTRTPFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961E00C567B77F000001 /* QTRTPFile.cpp */; }; + F6A48B1D02390E3701000103 /* QTTrack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68C3961F00C567B77F000001 /* QTTrack.cpp */; }; + FB776EEE07DCFD6100C0B6CE /* sample_h264_300kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776EE607DCFD4C00C0B6CE /* sample_h264_300kbit.mp4 */; }; + FB776EEF07DCFD6100C0B6CE /* sample_h264_100kbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776EE707DCFD4C00C0B6CE /* sample_h264_100kbit.mp4 */; }; + FB776EF107DCFD6100C0B6CE /* sample_h264_1mbit.mp4 in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776EE907DCFD4C00C0B6CE /* sample_h264_1mbit.mp4 */; }; + FB776F0207DD002E00C0B6CE /* sample_50kbit.3gp in CopyFiles */ = {isa = PBXBuildFile; fileRef = FB776F0007DD002400C0B6CE /* sample_50kbit.3gp */; }; + FBCB7F5B0507F2D700A273B4 /* createuserstreamingdir in CopyFiles */ = {isa = PBXBuildFile; fileRef = FBCB7F580507F2D100A273B4 /* createuserstreamingdir */; }; +/* End PBXBuildFile section */ + +/* Begin PBXBundleTarget section */ + 004E288A025B787100DD2B50 /* QTSSHomeDirectoryModule (Bundle) */ = { isa = PBXBundleTarget; + buildConfigurationList = 52F9090E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSHomeDirectoryModule (Bundle)" */; + buildPhases = ( + 004E288B025B787100DD2B50 /* Headers */, + 004E288C025B787100DD2B50 /* Resources */, + 004E288D025B787100DD2B50 /* Sources */, + 004E288E025B787100DD2B50 /* Frameworks */, + 004E288F025B787100DD2B50 /* Rez */, + ); + dependencies = ( + F52E38720279D50701DD2AFC /* PBXTargetDependency */, + ); name = "QTSSHomeDirectoryModule (Bundle)"; productInstallPath = /Library/QuickTimeStreaming/Modules; productName = QTSSHomeDirectoryModule; - productReference = 004E2889025B787000DD2B50; + productReference = 004E2889025B787000DD2B50 /* QTSSHomeDirectoryModule.bundle */; productSettingsXML = " - + CFBundleDevelopmentRegion @@ -206,7 +1467,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 5.1 + 6.0.0 CFBundleSignature ???? CFBundleVersion @@ -215,10301 +1476,10349 @@ "; }; - 004E288B025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2893025B798500DD2B50, - 00BC5F62025E827400DD2B50, + 52B24EA30B30005400A6567F /* QTSSDSAuthModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52B2500F0B30055600A6567F /* Build configuration list for PBXBundleTarget "QTSSDSAuthModule (Bundle)" */; + buildPhases = ( + 52B24E9E0B30005400A6567F /* Headers */, + 52B24EA00B30005400A6567F /* Sources */, + 52B24EA10B30005400A6567F /* Frameworks */, + 52B24EA20B30005400A6567F /* Rez */, ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288C025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( + dependencies = ( + 52B24EA90B3000D900A6567F /* PBXTargetDependency */, ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = "QTSSDSAuthModule (Bundle)"; + productInstallPath = "$(USER_LIBRARY_DIR)/Bundles"; + productName = QTSSDSAuthModule.bundle; + productReference = 52B24EA40B30005400A6567F /* QTSSDSAuthModule.bundle.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSDSAuthModule + CFBundleGetInfoString + Supports Directory Service Users And Groups + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.dsauthmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSDSAuthModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 004E288D025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2894025B798500DD2B50, - 00BC5F63025E827400DD2B50, + 52E30B0F041DD13500FFB433 /* SSLeay.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9099A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "SSLeay.bundle" */; + buildPhases = ( + 52E30B0A041DD13500FFB433 /* Headers */, + 52E30B0B041DD13500FFB433 /* Resources */, + 52E30B0C041DD13500FFB433 /* Sources */, + 52E30B0D041DD13500FFB433 /* Frameworks */, + 52E30B0E041DD13500FFB433 /* Rez */, + 52E30B1A041DD25100FFB433 /* ShellScript */, ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E288E025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( - 004E2896025B79F700DD2B50, - F57EED49027EA3AB01FF7AB9, - 004E2897025B79F700DD2B50, - 004E2898025B79F700DD2B50, - 004E2899025B79F700DD2B50, - 004E289B025B79F700DD2B50, - 004E289A025B79F700DD2B50, + dependencies = ( ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = SSLeay.bundle; + productInstallPath = "$(USER_LIBRARY_DIR)/Bundles"; + productName = SSLeay.bundle; + productReference = 52E30B10041DD13500FFB433 /* SSLeay.bundle.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + + CFBundleGetInfoString + + CFBundleIconFile + + CFBundleIdentifier + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + + CFBundlePackageType + BNDL + CFBundleShortVersionString + + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 004E288F025B787100DD2B50 = { - buildActionMask = 2147483647; - files = ( + 5DB82F1F0DD3AC4C005193F8 /* QTSSDemoRedirectModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 5DB82F300DD3AC4C005193F8 /* Build configuration list for PBXBundleTarget "QTSSDemoRedirectModule (Bundle)" */; + buildPhases = ( + 5DB82F220DD3AC4C005193F8 /* Headers */, + 5DB82F240DD3AC4C005193F8 /* Resources */, + 5DB82F250DD3AC4C005193F8 /* Sources */, + 5DB82F270DD3AC4C005193F8 /* Frameworks */, + 5DB82F2F0DD3AC4C005193F8 /* Rez */, ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 004E2890025B798400DD2B50 = { - children = ( - 004E2891025B798400DD2B50, - 004E2892025B798400DD2B50, - 00BC5F60025E827300DD2B50, - 00BC5F61025E827300DD2B50, - FBCB7F580507F2D100A273B4, + dependencies = ( + 5DB82F200DD3AC4C005193F8 /* PBXTargetDependency */, ); - isa = PBXGroup; - name = QTSSHomeDirectoryModule; - refType = 4; - sourceTree = ""; - }; - 004E2891025B798400DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = QTSSHomeDirectoryModule.cpp; - path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp; - refType = 4; - sourceTree = ""; - }; - 004E2892025B798400DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = QTSSHomeDirectoryModule.h; - path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h; - refType = 4; - sourceTree = ""; - }; - 004E2893025B798500DD2B50 = { - fileRef = 004E2892025B798400DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2894025B798500DD2B50 = { - fileRef = 004E2891025B798400DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2896025B79F700DD2B50 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2897025B79F700DD2B50 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2898025B79F700DD2B50 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E2899025B79F700DD2B50 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E289A025B79F700DD2B50 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 004E289B025B79F700DD2B50 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + name = "QTSSDemoRedirectModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = "QTSSDemoAuthorizationModule (Bundle)"; + productReference = 5DB82F340DD3AC4C005193F8 /* QTSSDemoRedirectModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSDemoRedirectModule + CFBundleGetInfoString + QTSSDemoRedirectModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.demoredirectmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSDemoRedirectModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.3 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 0055090A02774E1100DD2B4C = { - buildActionMask = 8; - files = ( + 68C3993400C567B77F000001 /* QTSSSpamDefenseModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9092E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSSpamDefenseModule (Bundle)" */; + buildPhases = ( + 68C3993500C567B77F000001 /* Headers */, + 68C3993700C567B77F000001 /* Resources */, + 68C3993800C567B77F000001 /* Sources */, + 68C3993A00C567B77F000001 /* Frameworks */, + 68C3994100C567B77F000001 /* Rez */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/WebAdmin/NetSSLeay/SSLeay.pm ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.pl"; - }; - 005B0878013B079200DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - path = "relayconfig.xml-Sample"; - refType = 4; - sourceTree = ""; - }; - 005B0879013B079300DD292F = { - fileRef = 005B0878013B079200DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - 0066F5CE016E6AD000DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RelaySession.cpp; - refType = 4; - sourceTree = ""; - }; - 0066F5CF016E6AD000DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RelaySession.h; - refType = 4; - sourceTree = ""; - }; - 0066F5D0016E6AD000DD2B4C = { - fileRef = 0066F5CF016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0066F5D1016E6AD000DD2B4C = { - fileRef = 0066F5CE016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0075360D02EE064000DD2B4C = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_100kbit.mp4; - refType = 4; - sourceTree = ""; - }; - 0075360E02EE064000DD2B4C = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_300kbit.mp4; - refType = 4; - sourceTree = ""; - }; - 0075360F02EE064100DD2B4C = { - fileRef = 0075360D02EE064000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 0075361002EE064100DD2B4C = { - fileRef = 0075360E02EE064000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - 00759B2B00F2586E00DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 005B0879013B079300DD292F, + dependencies = ( + F52E386D0279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + name = "QTSSSpamDefenseModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = "QTSSSpamDefenseModule (Bundle)"; + productReference = 520F71FC070B767800B604C1 /* QTSSSpamDefenseModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSSpamDefenseModule + CFBundleGetInfoString + Protects against apple load tools + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.spamdefensemodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSSpamDefenseModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00759B2E00F2593E00DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Movies; - dstSubfolderSpec = 0; - files = ( - 0082672D01A2F39B00DD2AFC, - FB776F0207DD002E00C0B6CE, - 61B8971A017F4FDD0EDD2AFC, - 0075360F02EE064100DD2B4C, - 61B89719017F4FDD0EDD2AFC, - 0075361002EE064100DD2B4C, - FB776EEF07DCFD6100C0B6CE, - FB776EEE07DCFD6100C0B6CE, - FB776EF107DCFD6100C0B6CE, + 68C3994300C567B77F000001 /* QTSSRawFileModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90926099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSRawFileModule (Bundle)" */; + buildPhases = ( + 68C3994400C567B77F000001 /* Headers */, + 68C3994600C567B77F000001 /* Resources */, + 68C3994700C567B77F000001 /* Sources */, + 68C3994900C567B77F000001 /* Frameworks */, + 68C3995000C567B77F000001 /* Rez */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00759B3400F259D500DD2B4C = { - buildActionMask = 8; - files = ( + dependencies = ( + F52E386E0279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; + name = "QTSSRawFileModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = "QTSSRawFileModule (Bundle)"; + productReference = 520F7210070B767800B604C1 /* QTSSRawFileModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSRawFileModule + CFBundleGetInfoString + returns a file as the rtsp response. + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.rawfilemodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSRawFileModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00759B3500F25A0A00DD2B4C = { - buildActionMask = 8; - files = ( + 68C3995200C567B77F000001 /* QTSSFilePrivsModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9091E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSFilePrivsModule (Bundle)" */; + buildPhases = ( + 68C3995300C567B77F000001 /* Headers */, + 68C3995500C567B77F000001 /* Resources */, + 68C3995600C567B77F000001 /* Sources */, + 68C3995800C567B77F000001 /* Frameworks */, + 68C3996000C567B77F000001 /* Rez */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - 00759B3600F25A0A00DD2B4C = { - buildActionMask = 8; - files = ( + dependencies = ( + F52E386F0279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; + name = "QTSSFilePrivsModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = "QTSSFilePrivsModule (Bundle)"; + productReference = 520F71F4070B767800B604C1 /* QTSSFilePrivsModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSFilePrivsModule + CFBundleGetInfoString + QTSSFilePrivsModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.fileprivsmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSFilePrivsModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00759B3700F25A8000DD2B4C = { - buildActionMask = 8; - files = ( + 68C3996200C567B77F000001 /* QTSSDemoAuthorizationModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90916099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSDemoAuthorizationModule (Bundle)" */; + buildPhases = ( + 68C3996300C567B77F000001 /* Headers */, + 68C3996600C567B77F000001 /* Resources */, + 68C3996700C567B77F000001 /* Sources */, + 68C3996A00C567B77F000001 /* Frameworks */, + 68C3997000C567B77F000001 /* Rez */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; - }; - 00759B3800F25A8000DD2B4C = { - buildActionMask = 8; - files = ( + dependencies = ( + F52E38700279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; + name = "QTSSDemoAuthorizationModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = "QTSSDemoAuthorizationModule (Bundle)"; + productReference = 520F720F070B767800B604C1 /* QTSSDemoAuthorizationModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSDemoAuthorizationModule + CFBundleGetInfoString + QTSSDemoAuthorizationModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.demoauthorizationmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSDemoAuthorizationModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00759B3900F25AF700DD2B4C = { - buildActionMask = 8; - files = ( + 68C3997B00C567B77F000001 /* QTSSDemoSMILModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9091A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSDemoSMILModule (Bundle)" */; + buildPhases = ( + 68C3997C00C567B77F000001 /* Headers */, + 68C3997E00C567B77F000001 /* Resources */, + 68C3997F00C567B77F000001 /* Sources */, + 68C3998100C567B77F000001 /* Frameworks */, + 68C3998800C567B77F000001 /* Rez */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; - }; - 00759B3A00F25AF700DD2B4C = { - buildActionMask = 8; - files = ( + dependencies = ( + F52E38710279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R ug+rw ${DSTROOT}/Library/QuickTimeStreaming\nchmod 0750 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchmod -R u=rwX,g=rX,o= ${DSTROOT}/Library/QuickTimeStreaming/Config"; - }; - 007870EC00F4E38300DD2B4C = { - isa = PBXTargetDependency; - target = 00E5906700F4DD0500DD2B4C; - targetProxy = FB0D1D6D064AFB71006F2774; - }; - 0082672501A1D6A300DD2AFC = { - isa = PBXFileReference; - lastKnownFileType = text.rtf; - name = 3rdPartyAcknowledgements.rtf; - path = Documentation/3rdPartyAcknowledgements.rtf; - refType = 4; - sourceTree = ""; - }; - 0082672701A1D6A400DD2AFC = { - fileRef = 0082672501A1D6A300DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - 0082672B01A2F39A00DD2AFC = { - isa = PBXFileReference; - lastKnownFileType = audio.mp3; - path = sample.mp3; - refType = 4; - sourceTree = ""; - }; - 0082672D01A2F39B00DD2AFC = { - fileRef = 0082672B01A2F39A00DD2AFC; - isa = PBXBuildFile; - settings = { - }; + name = "QTSSDemoSMILModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = "QTSSDemoSMILModule (Bundle)"; + productReference = 520F71FB070B767800B604C1 /* QTSSDemoSMILModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSDemoSMILModule + CFBundleGetInfoString + QTSSDemoSMILModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.demosmilmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSDemoSMILModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 008788DE026B412B00DD2B4C = { + B6494F960279F7500BDD2A6C /* QTSSRefMovieModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90912099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSRefMovieModule (Bundle)" */; buildPhases = ( + B6494F970279F7500BDD2A6C /* Headers */, + B6494F980279F7500BDD2A6C /* Resources */, + B6494F990279F7500BDD2A6C /* Sources */, + B6494F9A0279F7500BDD2A6C /* Frameworks */, + B6494F9B0279F7500BDD2A6C /* Rez */, ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = DSSALL; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; dependencies = ( - 008788E3026B412B00DD2B4C, - F57EED39027EA0B001FF7AB9, - F57EED3A027EA0B001FF7AB9, - 008788E4026B412B00DD2B4C, - 008788E6026B412C00DD2B4C, - 008788E7026B412C00DD2B4C, - 008788E8026B412C00DD2B4C, - 008788E9026B412C00DD2B4C, - 008788EA026B412C00DD2B4C, - 008788EB026B412C00DD2B4C, - 008788EC026B412C00DD2B4C, - 008788ED026B412C00DD2B4C, - 008788EE026B412C00DD2B4C, - 008788DF026B412B00DD2B4C, - 008788E5026B412B00DD2B4C, - 008788EF026B412C00DD2B4C, - 008788F0026B412C00DD2B4C, - 008788E0026B412B00DD2B4C, - 008788E2026B412B00DD2B4C, - 008788E1026B412B00DD2B4C, - 008788F1026B412C00DD2B4C, - 5269CD670429FFC400DD2EDD, ); - isa = PBXAggregateTarget; - name = DSS_Generic; - productName = QTSSWithoutSLT; - }; - 008788DF026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C396BA00C567B77F000001; - targetProxy = FB0D1D8C064AFB71006F2774; - }; - 008788E0026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3978800C567B77F000001; - targetProxy = FB0D1D89064AFB71006F2774; - }; - 008788E1026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C397B700C567B77F000001; - targetProxy = FB0D1D87064AFB71006F2774; - }; - 008788E2026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C397C000C567B77F000001; - targetProxy = FB0D1D88064AFB71006F2774; - }; - 008788E3026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1D93064AFB71006F2774; - }; - 008788E4026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D90064AFB71006F2774; - }; - 008788E5026B412B00DD2B4C = { - isa = PBXTargetDependency; - target = 68C398DE00C567B77F000001; - targetProxy = FB0D1D8B064AFB71006F2774; - }; - 008788E6026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D8F064AFB71006F2774; - }; - 008788E7026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C900C567B77F000001; - targetProxy = FB0D1D8E064AFB71006F2774; - }; - 008788E8026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - targetProxy = FB0D1D4E064AFB71006F2774; - }; - 008788E9026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - targetProxy = FB0D1D84064AFB71006F2774; - }; - 008788EA026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C399F500C567B77F000001; - targetProxy = FB0D1D2B064AFB71006F2774; - }; - 008788EB026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D68064AFB71006F2774; - }; - 008788EC026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - targetProxy = FB0D1D8D064AFB71006F2774; - }; - 008788ED026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1D21064AFB71006F2774; - }; - 008788EE026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - targetProxy = FB0D1D5B064AFB71006F2774; - }; - 008788EF026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3972C00C567B77F000001; - targetProxy = FB0D1D8A064AFB71006F2774; - }; - 008788F0026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = F533DA97011744B701DD292F; - targetProxy = FB0D1D61064AFB71006F2774; - }; - 008788F1026B412C00DD2B4C = { - isa = PBXTargetDependency; - target = 000DA9E40135948600DD2B4F; - targetProxy = FB0D1D86064AFB71006F2774; + name = "QTSSRefMovieModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSRefMovieModule; + productReference = B6494F950279F74E0BDD2A6C /* QTSSRefMovieModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSRefMovieModule + CFBundleGetInfoString + Generate RTSP ref movies + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.refmoviemodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSRefMovieModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A79F8E01359A6200DD2B4F = { - buildActionMask = 8; - dstPath = /usr/sbin; - dstSubfolderSpec = 0; - files = ( - 00A7A1B10135E35800DD2B4F, + F5E91D0E027758E801DD2AFC /* QTSSAccessModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9096E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSAccessModule.bundle" */; + buildPhases = ( + F5E91D0F027758E801DD2AFC /* Headers */, + F5E91D10027758E801DD2AFC /* Resources */, + F5E91D11027758E801DD2AFC /* Sources */, + F5E91D12027758E801DD2AFC /* Frameworks */, + F5E91D13027758E801DD2AFC /* Rez */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79F9001359ACA00DD2B4F = { - buildActionMask = 8; - dstPath = "$(SYSTEM_LIBRARY_DIR)/StartupItems/QuickTimeStreamingServer"; - dstSubfolderSpec = 0; - files = ( - 00A7A1B20135E35800DD2B4F, - 00A7A1B30135E35800DD2B4F, + dependencies = ( + F52E386C0279D4DA01DD2AFC /* PBXTargetDependency */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + name = QTSSAccessModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSAccessModule.bundle; + productReference = F5E91D0D027758E801DD2AFC /* QTSSAccessModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSAccessModule + CFBundleGetInfoString + Suppors qtaccess-style authorization + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.accessmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSAccessModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A79F9301359B1500DD2B4F = { - buildActionMask = 8; - files = ( + F5E91D2002775B5E01DD2AFC /* QTSSFileModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90972099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSFileModule.bundle" */; + buildPhases = ( + F5E91D2102775B5E01DD2AFC /* Headers */, + F5E91D2302775B5E01DD2AFC /* Resources */, + F5E91D2402775B5E01DD2AFC /* Sources */, + F5E91D2602775B5E01DD2AFC /* Frameworks */, + F5E91D2E02775B5E01DD2AFC /* Rez */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources"; - }; - 00A79F9401359B1500DD2B4F = { - buildActionMask = 8; - files = ( + dependencies = ( + F52E38730279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj"; + name = QTSSFileModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSFileModule.bundle; + productReference = F5E91D1F02775B5D01DD2AFC /* QTSSFileModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSFileModule + CFBundleGetInfoString + QTSSFileModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.filemodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSFileModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A79F9501359B1500DD2B4F = { - buildActionMask = 8; - files = ( + F5E91D3102775C5601DD2AFC /* QTSSAccessLogModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90976099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSAccessLogModule.bundle" */; + buildPhases = ( + F5E91D3202775C5601DD2AFC /* Headers */, + F5E91D3402775C5601DD2AFC /* Resources */, + F5E91D3502775C5601DD2AFC /* Sources */, + F5E91D3702775C5601DD2AFC /* Frameworks */, + F5E91D3F02775C5601DD2AFC /* Rez */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/WebAdmin/StartupItems.bproj/English.lproj/Localizable.strings ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj/Localizable.strings"; - }; - 00A79FAB01359C5F00DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/AdminHtml; - dstSubfolderSpec = 0; - files = ( - 00A7A1C70135E46200DD2B4F, - E9ACCA5F013C52EC09DD2838, - 00A7A1C80135E46200DD2B4F, - 846E9B7E0728602900E7A587, - E95AB76F013AC8C009DD2838, - E9ACCA5D013C317C09DD2838, - E96314B0013B155409DD2838, - E96314B1013B155409DD2838, - F551E69E0138190801000102, - 00A7A1C90135E46200DD2B4F, - 00A7A1CA0135E46200DD2B4F, - 00A7A1CB0135E46200DD2B4F, - E9EC923E0137107709DD2838, - 00A7A1CC0135E46200DD2B4F, - 00A7A1CD0135E46200DD2B4F, - 00A7A1CE0135E46200DD2B4F, - 00A7A1CF0135E46200DD2B4F, - 00A7A1D00135E46200DD2B4F, - 00A7A1D10135E46200DD2B4F, - 00A7A1D30135E46200DD2B4F, - 00A7A1D40135E46200DD2B4F, - 00A7A1D50135E46200DD2B4F, - 00A7A1D60135E46200DD2B4F, - 00A7A1D70135E46200DD2B4F, - 00A7A1D80135E46200DD2B4F, - 00A7A1D90135E46200DD2B4F, - 00A7A1DA0135E46200DD2B4F, - F59F643001449BE001000104, - F59F643101449BE001000104, - F59F643201449BE001000104, - F59F643301449BE001000104, - F59F64370144BCEB01000104, - F59F64380144BCEB01000104, - F59F64390144BCEB01000104, - E9686BA501B2D0D309DD2838, - E957C41A01454E2109DD2838, - E9423B940146CCD009DD2838, - E90CF1AC014FDE2809DD2838, - F574E249015FE07001000127, - E9E7E9C5016BDDD609DD2838, - E978DC41017F827D09DD2838, - F56EA4BF0199D1800100010F, - 00CA8FCA01AB113F00DD2B4C, - E924776F01C6CFD309DD2838, - E93DD2F1027876B709DD2838, - E93941060291C82509DD2838, - E98933B802F6140609DD2838, - E98933B902F6140609DD2838, - E97F11EF04313E7C09DD2838, - E97F11F104313E8A09DD2838, + dependencies = ( + F52E38740279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + name = QTSSAccessLogModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSAccessLogModule.bundle; + productReference = F5E91D2F02775C5601DD2AFC /* QTSSAccessLogModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSAccessLogModule + CFBundleGetInfoString + QTSSAccessLogModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.accesslogmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSAccessLogModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A79FC201359D6900DD2B4F = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/AdminHtml/html_en; - dstSubfolderSpec = 0; - files = ( - 00A7A1DC0135E46200DD2B4F, - E97D18ED0150316E09DD2838, + F5E91D4002775C5601DD2AFC /* QTSSReflectorModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9097A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSReflectorModule.bundle" */; + buildPhases = ( + F5E91D4102775C5601DD2AFC /* Headers */, + F5E91D4F02775C5601DD2AFC /* Resources */, + F5E91D5002775C5601DD2AFC /* Sources */, + F5E91D5D02775C5601DD2AFC /* Frameworks */, + F5E91D6502775C5601DD2AFC /* Rez */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A79FC801359D6900DD2B4F = { - buildActionMask = 8; - dstPath = Library/QuickTimeStreaming/AdminHtml/images; - dstSubfolderSpec = 0; - files = ( - 00A7A1DF0135E46200DD2B4F, - 00A7A1E00135E46200DD2B4F, - E9A7DCF4015180FC09FF1BBE, - 00A7A1E10135E46200DD2B4F, - 00A7A1E20135E46200DD2B4F, - E9A7DCF5015180FC09FF1BBE, - 00A7A1E30135E46200DD2B4F, - 00A7A1E40135E46200DD2B4F, - 00A7A1E50135E46200DD2B4F, - 00A7A1E60135E46200DD2B4F, - 00A7A1E70135E46200DD2B4F, - F5610DA601B5C81501DD2F6B, - F568F9790254EE29010001C8, - F5C3E6EC017CFE25010001C8, - E98FF20B01860AAC09DD2838, - 00A7A1E80135E46200DD2B4F, - 00A7A1E90135E46200DD2B4F, - F56CBE670136D97301000102, - E90CD038016133D109DD2838, - F56CBE680136D97301000102, - 00A7A1EA0135E46200DD2B4F, - 00A7A1EB0135E46200DD2B4F, - 00A7A1EC0135E46200DD2B4F, - 00A7A1ED0135E46200DD2B4F, - 00A7A1EE0135E46200DD2B4F, - E90CD03A016133F309DD2838, - 00A7A1EF0135E46200DD2B4F, - 00A7A1F00135E46200DD2B4F, - 00A7A1F10135E46200DD2B4F, - 00A7A1F20135E46200DD2B4F, - 00A7A1F30135E46200DD2B4F, - 00A7A1F40135E46200DD2B4F, - 00A7A1F50135E46200DD2B4F, - 00A7A1F60135E46200DD2B4F, - 00A7A1F70135E46200DD2B4F, - 00A7A1F80135E46200DD2B4F, - E9029E250188C0DB09DD2838, - E9029E270188C10809DD2838, - 00A7A1FB0135E46200DD2B4F, - 00A7A1FC0135E46200DD2B4F, - 00A7A1FF0135E46200DD2B4F, - 00A7A2000135E46200DD2B4F, - 00A7A2010135E46200DD2B4F, - 00A7A2020135E46200DD2B4F, - F5C7F02701B6CE3601DD2F6B, - F596A33C019319320189D339, - 00A7A2030135E46200DD2B4F, - E9013529018645DF09DD2838, - E901352A018645DF09DD2838, - E901352B018645DF09DD2838, - E901352C018645DF09DD2838, - E901352D018645DF09DD2838, - 00A7A2040135E46200DD2B4F, - 00A7A2050135E46200DD2B4F, - 00A7A2060135E46200DD2B4F, - 00A7A2070135E46200DD2B4F, - 00A7A2080135E46200DD2B4F, - 00A7A2090135E46200DD2B4F, - E9BA8EF0027A14D109DD2838, - E9BA8EF2027A14DA09DD2838, - 00A7A20A0135E46200DD2B4F, + dependencies = ( + F52E38750279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + name = QTSSReflectorModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSReflectorModule.bundle; + productReference = F5E91D3002775C5601DD2AFC /* QTSSReflectorModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSReflectorModule + CFBundleGetInfoString + QTSSReflectorModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.reflectormodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSReflectorModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A79FF501359D6900DD2B4F = { - buildActionMask = 8; - dstPath = Library/QuickTimeStreaming/AdminHtml/includes; - dstSubfolderSpec = 0; - files = ( - 00A7A20B0135E47700DD2B4F, - E9E2F95601C9716609DD2838, - 00A7A20C0135E47700DD2B4F, + F5E91D6902775D2501DD2AFC /* QTSSFlowControlModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9097E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSFlowControlModule.bundle" */; + buildPhases = ( + F5E91D6A02775D2501DD2AFC /* Headers */, + F5E91D6C02775D2501DD2AFC /* Resources */, + F5E91D6D02775D2501DD2AFC /* Sources */, + F5E91D6F02775D2501DD2AFC /* Frameworks */, + F5E91D7702775D2501DD2AFC /* Rez */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - 00A7A0B30135DF8700DD2B4F = { - children = ( - 522ACD4F041CC4220062FFCE, - 00A7A0CC0135DF8700DD2B4F, + dependencies = ( + F52E38760279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXGroup; - name = NetSSLeay; - path = WebAdmin/NetSSLeay; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0CC0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = SSLeay.pm; - path = WebAdmin/NetSSLeay/SSLeay.pm; - refType = 2; - sourceTree = SOURCE_ROOT; + name = QTSSFlowControlModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSFlowControlModule.bundle; + productReference = F5E91D6602775D2501DD2AFC /* QTSSFlowControlModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSFlowControlModule + CFBundleGetInfoString + QTSSFlowControlModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.flowcontrolmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSFlowControlModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A0D00135DF8700DD2B4F = { - children = ( - 00A7A0D10135DF8700DD2B4F, + F5E91D7802775D2501DD2AFC /* QTSSWebDebugModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90982099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSWebDebugModule.bundle" */; + buildPhases = ( + F5E91D7902775D2501DD2AFC /* Headers */, + F5E91D7B02775D2501DD2AFC /* Resources */, + F5E91D7C02775D2501DD2AFC /* Sources */, + F5E91D7E02775D2501DD2AFC /* Frameworks */, + F5E91D8602775D2501DD2AFC /* Rez */, ); - isa = PBXGroup; - name = src; - path = WebAdmin/src; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D10135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = streamingadminserver.pl; - refType = 4; - sourceTree = ""; - }; - 00A7A0D20135DF8700DD2B4F = { - children = ( - 00A7A0D30135DF8700DD2B4F, - 00A7A0D40135DF8700DD2B4F, - 00A7A0D60135DF8700DD2B4F, - 00A7A0D70135DF8700DD2B4F, + dependencies = ( + F52E38770279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXGroup; - name = StartupItems.bproj; - path = WebAdmin/StartupItems.bproj; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D30135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = dummy.c; - refType = 4; - sourceTree = ""; + name = QTSSWebDebugModule.bundle; + productName = QTSSWebDebugModule.bundle; + productReference = F5E91D6702775D2501DD2AFC /* QTSSWebDebugModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSWebDebugModule + CFBundleGetInfoString + QTSSWebDebugModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.webdebugmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSWebDebugModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A0D40135DF8700DD2B4F = { - children = ( - 00A7A0D50135DF8700DD2B4F, + F5E91D8702775D2501DD2AFC /* QTSSWebStatsModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90932099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSWebStatsModule (Bundle)" */; + buildPhases = ( + F5E91D8802775D2501DD2AFC /* Headers */, + F5E91D8A02775D2501DD2AFC /* Resources */, + F5E91D8B02775D2501DD2AFC /* Sources */, + F5E91D8D02775D2501DD2AFC /* Frameworks */, + F5E91D9502775D2501DD2AFC /* Rez */, ); - isa = PBXVariantGroup; - name = Localizable.strings; - path = ""; - refType = 4; - sourceTree = ""; - }; - 00A7A0D50135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.plist.strings; - name = English; - path = English.lproj/Localizable.strings; - refType = 4; - sourceTree = ""; - }; - 00A7A0D60135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.sh; - path = QuickTimeStreamingServer; - refType = 4; - sourceTree = ""; - }; - 00A7A0D70135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.plist; - path = StartupParameters.plist; - refType = 4; - sourceTree = ""; - }; - 00A7A0D80135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver_autostart.conf; - path = WebAdmin/streamingadminserver_autostart.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0D90135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver_Darwin.conf; - path = WebAdmin/streamingadminserver_Darwin.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DA0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver_NT.conf; - path = WebAdmin/streamingadminserver_NT.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DB0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver.conf; - path = WebAdmin/streamingadminserver.conf; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DC0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = streamingadminserver.pem; - path = WebAdmin/streamingadminserver.pem; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DD0135DF8700DD2B4F = { - children = ( - E9ACCA5E013C52EB09DD2838, - 00A7A0DE0135DF8700DD2B4F, - E98933B602F6140609DD2838, - E98933B702F6140609DD2838, - 00A7A0DF0135DF8700DD2B4F, - E90CF1AB014FDE2709DD2838, - 846E9B7D0728600F00E7A587, - E95AB76D013AC8BF09DD2838, - E978DC40017F827C09DD2838, - F551E69C013818ED01000102, - 00A7A0E00135DF8700DD2B4F, - E9ACCA5C013C317B09DD2838, - 00A7A0E60135DF8700DD2B4F, - 00A7A0E70135DF8700DD2B4F, - E9EC923C0137107609DD2838, - E957C41901454E2009DD2838, - E96314AC013B155309DD2838, - E96314AD013B155309DD2838, - 00A7A0EE0135DF8700DD2B4F, - 00A7A1000135DF8700DD2B4F, - 00A7A12D0135DF8700DD2B4F, - 00A7A1310135DF8700DD2B4F, - E924776E01C6CFD209DD2838, - 00A7A1330135DF8700DD2B4F, - 00A7A1340135DF8700DD2B4F, - E93941050291C82409DD2838, - 00A7A1350135DF8700DD2B4F, - 00A7A1360135DF8700DD2B4F, - F574E248015FE06F01000127, - 00A7A1370135DF8700DD2B4F, - F56EA4BE0199D17E0100010F, - F59F642C01449BDF01000104, - F59F642D01449BDF01000104, - F59F642E01449BDF01000104, - F59F642F01449BDF01000104, - E9423B930146CCCF09DD2838, - E97F11F004313E8A09DD2838, - 00A7A13A0135DF8700DD2B4F, - F59F64340144BCEA01000104, - F59F64350144BCEA01000104, - F59F64360144BCEA01000104, - E9686BA401B2D0D209DD2838, - E97F11EE04313E7C09DD2838, - E9E7E9C4016BDDD509DD2838, - 00A7A13C0135DF8700DD2B4F, - 00A7A13D0135DF8700DD2B4F, - 00A7A13E0135DF8700DD2B4F, - 00A7A13F0135DF8700DD2B4F, - 00A7A1400135DF8700DD2B4F, - 00A7A1410135DF8700DD2B4F, - E93DD2F0027876B609DD2838, - 00A7A1420135DF8700DD2B4F, - 00CA8FC901AB113E00DD2B4C, + dependencies = ( + F52E38780279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXGroup; - name = WebAdminHtml; - path = WebAdmin/WebAdminHtml; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 00A7A0DE0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = "adminprotocol-lib.pl"; - refType = 4; - sourceTree = ""; - }; - 00A7A0DF0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = "cgi-lib.pl"; - refType = 4; - sourceTree = ""; - }; - 00A7A0E00135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = connected.html; - refType = 4; - sourceTree = ""; - }; - 00A7A0E60135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = format.html; - refType = 4; - sourceTree = ""; - }; - 00A7A0E70135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = frameset.html; - refType = 4; - sourceTree = ""; + name = "QTSSWebStatsModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = QTSSWebStatsModule.bundle; + productReference = F5E91D6802775D2501DD2AFC /* QTSSWebStatsModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSWebStatsModule + CFBundleGetInfoString + QTSSWebStatsModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.webstatsmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSWebStatsModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A0EE0135DF8700DD2B4F = { - children = ( - 00A7A0F10135DF8700DD2B4F, - E97D18EC0150316E09DD2838, + F5E91D9E02775EEC01DD2AFC /* QTSSPOSIXFileSysModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90986099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSPOSIXFileSysModule.bundle" */; + buildPhases = ( + F5E91D9F02775EEC01DD2AFC /* Headers */, + F5E91DA102775EEC01DD2AFC /* Resources */, + F5E91DA202775EEC01DD2AFC /* Sources */, + F5E91DA402775EEC01DD2AFC /* Frameworks */, + F5E91DA502775EEC01DD2AFC /* Rez */, ); - isa = PBXGroup; - path = html_en; - refType = 4; - sourceTree = ""; - }; - 00A7A0F10135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - path = messages; - refType = 4; - sourceTree = ""; - }; - 00A7A1000135DF8700DD2B4F = { - children = ( - F56CBE630136D97301000102, - F56CBE640136D97301000102, - E98FF20A01860AAB09DD2838, - E9A7DCF2015180FB09FF1BBE, - E9A7DCF3015180FB09FF1BBE, - 00A7A1010135DF8700DD2B4F, - 00A7A1020135DF8700DD2B4F, - 00A7A1030135DF8700DD2B4F, - 00A7A1040135DF8700DD2B4F, - 00A7A1050135DF8700DD2B4F, - 00A7A1060135DF8700DD2B4F, - 00A7A1070135DF8700DD2B4F, - 00A7A1080135DF8700DD2B4F, - 00A7A1090135DF8700DD2B4F, - 00A7A10A0135DF8700DD2B4F, - 00A7A10B0135DF8700DD2B4F, - F5610DA501B5C81301DD2F6B, - 00A7A10C0135DF8700DD2B4F, - 00A7A10D0135DF8700DD2B4F, - 00A7A10E0135DF8700DD2B4F, - 00A7A10F0135DF8700DD2B4F, - 00A7A1100135DF8700DD2B4F, - 00A7A1110135DF8700DD2B4F, - 00A7A1120135DF8700DD2B4F, - 00A7A1130135DF8700DD2B4F, - 00A7A1140135DF8700DD2B4F, - 00A7A1150135DF8700DD2B4F, - 00A7A1160135DF8700DD2B4F, - 00A7A1170135DF8700DD2B4F, - F5C3E6EB017CFE24010001C8, - E90CD039016133F209DD2838, - 00A7A1180135DF8700DD2B4F, - E9BA8EF1027A14D909DD2838, - 00A7A1190135DF8700DD2B4F, - 00A7A11A0135DF8700DD2B4F, - 00A7A11D0135DF8700DD2B4F, - 00A7A11E0135DF8700DD2B4F, - E9029E240188C0DA09DD2838, - E9029E260188C10709DD2838, - E9BA8EEF027A14D009DD2838, - 00A7A1210135DF8700DD2B4F, - 00A7A1220135DF8700DD2B4F, - 00A7A1230135DF8700DD2B4F, - 00A7A1240135DF8700DD2B4F, - F596A33B019319300189D339, - F568F9780254EE28010001C8, - F5C7F02601B6CE3401DD2F6B, - 00A7A1250135DF8700DD2B4F, - E9013524018645DE09DD2838, - E9013525018645DE09DD2838, - E9013526018645DE09DD2838, - E9013527018645DE09DD2838, - E9013528018645DE09DD2838, - 00A7A1260135DF8700DD2B4F, - E90CD037016133D009DD2838, - 00A7A1270135DF8700DD2B4F, - 00A7A1280135DF8700DD2B4F, - 00A7A1290135DF8700DD2B4F, - 00A7A12A0135DF8700DD2B4F, - 00A7A12B0135DF8700DD2B4F, - 00A7A12C0135DF8700DD2B4F, + dependencies = ( + F52E38790279D50701DD2AFC /* PBXTargetDependency */, ); - isa = PBXGroup; - path = images; - refType = 4; - sourceTree = ""; - }; - 00A7A1010135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = apple_logo.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1020135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = arrow_down.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1030135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = back.gif; - refType = 4; - sourceTree = ""; + name = QTSSPOSIXFileSysModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSPOSIXFileSysModule.bundle; + productReference = F5E91D9D02775EEB01DD2AFC /* QTSSPosixFileSysModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSPosixFileSysModule + CFBundleGetInfoString + QTSSPosixFileSysModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.posixfileystemmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSPosixFileSysModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A1040135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = blackpixel.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A1050135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = clearpixel.gif; - refType = 4; - sourceTree = ""; + F5E91DB90277603301DD2AFC /* QTSSAdminModule.bundle */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9098A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSAdminModule.bundle" */; + buildPhases = ( + F5E91DBA0277603301DD2AFC /* Headers */, + F5E91DBE0277603301DD2AFC /* Resources */, + F5E91DBF0277603301DD2AFC /* Sources */, + F5E91DC30277603301DD2AFC /* Frameworks */, + F5E91DCB0277603301DD2AFC /* Rez */, + ); + dependencies = ( + F52E387A0279D50701DD2AFC /* PBXTargetDependency */, + ); + name = QTSSAdminModule.bundle; + productInstallPath = /Library/QuickTimeStreaming/Modules; + productName = QTSSAdminModule.bundle; + productReference = F5E91DA60277603301DD2AFC /* QTSSAdminModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSAdminModule + CFBundleGetInfoString + QTSSAdminModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.adminmodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSAdminModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A1060135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_alert.gif; - refType = 4; - sourceTree = ""; + F5E91DCD0277603301DD2AFC /* QTSSHttpFileModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F90922099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSHttpFileModule (Bundle)" */; + buildPhases = ( + F5E91DCE0277603301DD2AFC /* Headers */, + F5E91DD00277603301DD2AFC /* Resources */, + F5E91DD10277603301DD2AFC /* Sources */, + F5E91DD30277603301DD2AFC /* Frameworks */, + F5E91DDB0277603301DD2AFC /* Rez */, + ); + dependencies = ( + F52E387B0279D50701DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSHttpFileModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = QTSSHttpFileModule.bundle; + productReference = F5E91DA70277603301DD2AFC /* QTSSHttpFileModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSHttpFileModule + CFBundleGetInfoString + QTSSHttpFileModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.httpfilemodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSHttpFileModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A1070135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_bottom.gif; - refType = 4; - sourceTree = ""; + F5E91DDD0277603301DD2AFC /* QTSSRTPFileModule (Bundle) */ = { + isa = PBXBundleTarget; + buildConfigurationList = 52F9092A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSRTPFileModule (Bundle)" */; + buildPhases = ( + F5E91DDE0277603301DD2AFC /* Headers */, + F5E91DE10277603301DD2AFC /* Resources */, + F5E91DE20277603301DD2AFC /* Sources */, + F5E91DE50277603301DD2AFC /* Frameworks */, + F5E91DED0277603301DD2AFC /* Rez */, + ); + dependencies = ( + F52E387C0279D50701DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSRTPFileModule (Bundle)"; + productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; + productName = QTSSRTPFileModule.bundle; + productReference = F5E91DA80277603301DD2AFC /* QTSSRTPFileModule.bundle */; + productSettingsXML = " + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + QTSSRTPFileModule + CFBundleGetInfoString + QTSSRTPFileModule + CFBundleIconFile + + CFBundleIdentifier + com.apple.qtss.rtpfilemodule + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + QTSSRTPFileModule + CFBundlePackageType + BNDL + CFBundleShortVersionString + 6.0.0 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + + +"; }; - 00A7A1080135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_bottom_sm.gif; - refType = 4; - sourceTree = ""; +/* End PBXBundleTarget section */ + +/* Begin PBXContainerItemProxy section */ + 5235759E0C33A0890098823D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1090135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_middle.gif; - refType = 4; - sourceTree = ""; + 523575A00C33A0890098823D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; + remoteInfo = APIModules_Static; }; - 00A7A10A0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_middle_sm.gif; - refType = 4; - sourceTree = ""; + 523576260C33A12C0098823D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5235759C0C33A0890098823D; + remoteInfo = "Server 10.5"; }; - 00A7A10B0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_qtss.gif; - refType = 4; - sourceTree = ""; + 529E3D550CED953500403BB3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00E5906700F4DD0500DD2B4C; + remoteInfo = StreamingLoadTool; }; - 00A7A10C0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_top.gif; - refType = 4; - sourceTree = ""; + 52B24EA80B3000D900A6567F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A10D0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dialog_top_sm.gif; - refType = 4; - sourceTree = ""; + 5DB82F210DD3AC4C005193F8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A10E0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = divider.gif; - refType = 4; - sourceTree = ""; + 5DB82F3A0DD3ADE8005193F8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5DB82F1F0DD3AC4C005193F8 /* QTSSDemoRedirectModule (Bundle) */; + remoteInfo = "QTSSDemoRedirectModule (Bundle)"; }; - 00A7A10F0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = divider_vert.gif; - refType = 4; - sourceTree = ""; + 5DB82F3C0DD3AE03005193F8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5DB82F1F0DD3AC4C005193F8 /* QTSSDemoRedirectModule (Bundle) */; + remoteInfo = "QTSSDemoRedirectModule (Bundle)"; }; - 00A7A1100135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = dot.gif; - refType = 4; - sourceTree = ""; + 5E6ED93E0A8957FA00657251 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C900C567B77F000001; + remoteInfo = "RTCPUtilitiesLib (Library)"; }; - 00A7A1110135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = folder.gif; - refType = 4; - sourceTree = ""; + 84CE3BA00CEE5A510056DB85 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3972C00C567B77F000001; + remoteInfo = Server; }; - 00A7A1120135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = greypixel.gif; - refType = 4; - sourceTree = ""; + 84CE3C4E0CEE621B0056DB85 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5293FDFE0B2A45DD00141B86; + remoteInfo = "QTSSDSAuthModule (Library) DSS"; }; - 00A7A1130135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = headerpixel.gif; - refType = 4; - sourceTree = ""; + 84CE3C500CEE622E0056DB85 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 84CE3C360CEE607F0056DB85; + remoteInfo = "QTSSDSAuthModule (Library) OSXServer"; }; - 00A7A1140135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = help.gif; - refType = 4; - sourceTree = ""; + FB0D1D19064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F57EED29027E9E1201FF7AB9; + remoteInfo = "SafeDynamicModuleStdLib (Library)"; }; - 00A7A1150135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = highlight.gif; - refType = 4; - sourceTree = ""; + FB0D1D1A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987300C567B77F000001; + remoteInfo = "AtomicLib (Library)"; }; - 00A7A1160135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = horz_line.gif; - refType = 4; - sourceTree = ""; + FB0D1D1B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3971700C567B77F000001; + remoteInfo = RTPFileGen; }; - 00A7A1170135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_alert.gif; - refType = 4; - sourceTree = ""; + FB0D1D1C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1180135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_folder.gif; - refType = 4; - sourceTree = ""; + FB0D1D1D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1190135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_movie.gif; - refType = 4; - sourceTree = ""; + FB0D1D1E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A11A0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_movie_off.gif; - refType = 4; - sourceTree = ""; + FB0D1D1F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A11D0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_playlist.gif; - refType = 4; - sourceTree = ""; + FB0D1D20064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D7802775D2501DD2AFC; + remoteInfo = QTSSWebDebugModule.bundle; }; - 00A7A11E0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = icon_playlist_off.gif; - refType = 4; - sourceTree = ""; + FB0D1D21064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A3600C567B77F000001; + remoteInfo = "APICommonCode (Library)"; }; - 00A7A1210135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = LB_arrow_dn.gif; - refType = 4; - sourceTree = ""; + FB0D1D22064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1220135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = LB_arrow_up.gif; - refType = 4; - sourceTree = ""; + FB0D1D23064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1230135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = line.gif; - refType = 4; - sourceTree = ""; + FB0D1D24064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1240135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = mp3_file.gif; - refType = 4; - sourceTree = ""; + FB0D1D25064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396F900C567B77F000001; + remoteInfo = QTFileInfo; }; - 00A7A1250135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = pixel.gif; - refType = 4; - sourceTree = ""; + FB0D1D26064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1260135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = sort_arrow.gif; - refType = 4; - sourceTree = ""; + FB0D1D28064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3970300C567B77F000001; + remoteInfo = QTFileTest; }; - 00A7A1270135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = spacer.gif; - refType = 4; - sourceTree = ""; + FB0D1D29064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3995200C567B77F000001; + remoteInfo = "QTSSFilePrivsModule (Bundle)"; }; - 00A7A1280135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = stripes_gray.gif; - refType = 4; - sourceTree = ""; + FB0D1D2A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1290135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = stripes_gray_dark.gif; - refType = 4; - sourceTree = ""; + FB0D1D2B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399F500C567B77F000001; + remoteInfo = "HTTPUtilitiesLib (Library)"; }; - 00A7A12A0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = trashcan.gif; - refType = 4; - sourceTree = ""; + FB0D1D2C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A12B0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = vert_line.gif; - refType = 4; - sourceTree = ""; - }; - 00A7A12C0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - path = whitepixel.gif; - refType = 4; - sourceTree = ""; + FB0D1D2D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A12D0135DF8700DD2B4F = { - children = ( - 00A7A12E0135DF8700DD2B4F, - E9E2F95501C9716509DD2838, - 00A7A12F0135DF8700DD2B4F, - ); - isa = PBXGroup; - path = includes; - refType = 4; - sourceTree = ""; + FB0D1D2E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91DCD0277603301DD2AFC; + remoteInfo = "QTSSHttpFileModule (Bundle)"; }; - 00A7A12E0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.javascript; - path = draglib.js; - refType = 4; - sourceTree = ""; + FB0D1D2F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A12F0135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.javascript; - path = standardNav.js; - refType = 4; - sourceTree = ""; + FB0D1D31064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396E500C567B77F000001; + remoteInfo = QTSampleLister; }; - 00A7A1310135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = login.html; - refType = 4; - sourceTree = ""; + FB0D1D32064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A1330135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = nav.html; - refType = 4; - sourceTree = ""; + FB0D1D33064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1340135DF8700DD2B4F = { - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = parse_xml.cgi; - refType = 4; - sourceTree = ""; + FB0D1D34064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1350135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = "playlist-lib.pl"; - refType = 4; - sourceTree = ""; + FB0D1D35064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1360135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = playlist_detail.html; - refType = 4; - sourceTree = ""; + FB0D1D36064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; + remoteInfo = APIModules_Static; }; - 00A7A1370135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = playlists.html; - refType = 4; - sourceTree = ""; + FB0D1D37064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396C600C567B77F000001; + remoteInfo = "TestQTFileLib (Library)"; }; - 00A7A13A0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = setup_assistant.html; - refType = 4; - sourceTree = ""; + FB0D1D38064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A13C0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = tag_formats.pl; - refType = 4; - sourceTree = ""; + FB0D1D39064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D0E027758E801DD2AFC; + remoteInfo = QTSSAccessModule.bundle; }; - 00A7A13D0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = tag_types.pl; - refType = 4; - sourceTree = ""; + FB0D1D3A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 004E288A025B787100DD2B50; + remoteInfo = "QTSSHomeDirectoryModule (Bundle)"; }; - 00A7A13E0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = tag_vals.pl; - refType = 4; - sourceTree = ""; + FB0D1D3B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F57EED29027E9E1201FF7AB9; + remoteInfo = "SafeDynamicModuleStdLib (Library)"; }; - 00A7A13F0135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = template.html; - refType = 4; - sourceTree = ""; + FB0D1D3C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F57EED24027E9E1201FF7AB9; + remoteInfo = "SafeInternalStdLib (Library)"; }; - 00A7A1400135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = template_blank.html; - refType = 4; - sourceTree = ""; + FB0D1D3D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A4700C567B77F000001; + remoteInfo = "RTSPClientLib (Library)"; }; - 00A7A1410135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = top.html; - refType = 4; - sourceTree = ""; + FB0D1D3E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1420135DF8700DD2B4F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = welcome.html; - refType = 4; - sourceTree = ""; + FB0D1D3F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C900C567B77F000001; + remoteInfo = "RTCPUtilitiesLib (Library)"; }; - 00A7A1430135DF8800DD2B4F = { - fileRef = 00A7A0D30135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D40064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0900C567B77F000001; + remoteInfo = "QTFileLib (Library)"; }; - 00A7A1AE0135E35800DD2B4F = { - fileRef = 00A7A0D80135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D41064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A1B10135E35800DD2B4F = { - fileRef = 00A7A0D10135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D42064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399D800C567B77F000001; + remoteInfo = "PrefsSourceLib (Library)"; }; - 00A7A1B20135E35800DD2B4F = { - fileRef = 00A7A0D60135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D43064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C398E000C567B77F000001; + remoteInfo = "OSMemory_Modules (Library)"; }; - 00A7A1B30135E35800DD2B4F = { - fileRef = 00A7A0D70135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D44064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1C70135E46200DD2B4F = { - fileRef = 00A7A0DE0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D45064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399F500C567B77F000001; + remoteInfo = "HTTPUtilitiesLib (Library)"; }; - 00A7A1C80135E46200DD2B4F = { - fileRef = 00A7A0DF0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D46064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1C90135E46200DD2B4F = { - fileRef = 00A7A0E00135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D47064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399EA00C567B77F000001; + remoteInfo = "APIStubLib (Library)"; }; - 00A7A1CA0135E46200DD2B4F = { - fileRef = 00A7A0E60135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D48064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A3600C567B77F000001; + remoteInfo = "APICommonCode (Library)"; }; - 00A7A1CB0135E46200DD2B4F = { - fileRef = 00A7A0E70135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D49064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987300C567B77F000001; + remoteInfo = "AtomicLib (Library)"; }; - 00A7A1CC0135E46200DD2B4F = { - fileRef = 00A7A1310135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D4A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3997B00C567B77F000001; + remoteInfo = "QTSSDemoSMILModule (Bundle)"; }; - 00A7A1CD0135E46200DD2B4F = { - fileRef = 00A7A1330135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D4B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C398E800C567B77F000001; + remoteInfo = "QTSSAccessLogModule (Library)"; }; - 00A7A1CE0135E46200DD2B4F = { - fileRef = 00A7A1340135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D4C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B6DC97FB02FB2EAB0BDD2A6C; + remoteInfo = "QTSSProxyModule (Library)"; }; - 00A7A1CF0135E46200DD2B4F = { - fileRef = 00A7A1350135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D4D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396D100C567B77F000001; + remoteInfo = QTRTPGen; }; - 00A7A1D00135E46200DD2B4F = { - fileRef = 00A7A1360135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D4E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399D800C567B77F000001; + remoteInfo = "PrefsSourceLib (Library)"; }; - 00A7A1D10135E46200DD2B4F = { - fileRef = 00A7A1370135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D4F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91DCD0277603301DD2AFC; + remoteInfo = "QTSSHttpFileModule (Bundle)"; }; - 00A7A1D30135E46200DD2B4F = { - fileRef = 00A7A13A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D50064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1D40135E46200DD2B4F = { - fileRef = 00A7A13C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D51064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1D50135E46200DD2B4F = { - fileRef = 00A7A13D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D52064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1D60135E46200DD2B4F = { - fileRef = 00A7A13E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D53064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1D70135E46200DD2B4F = { - fileRef = 00A7A13F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D55064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E98FD95B02F5BC3309DD2838; + remoteInfo = QTSSLinkApp; }; - 00A7A1D80135E46200DD2B4F = { - fileRef = 00A7A1400135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D56064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1D90135E46200DD2B4F = { - fileRef = 00A7A1410135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D58064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1DA0135E46200DD2B4F = { - fileRef = 00A7A1420135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D59064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1DC0135E46200DD2B4F = { - fileRef = 00A7A0F10135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D5A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D8702775D2501DD2AFC; + remoteInfo = "QTSSWebStatsModule (Bundle)"; }; - 00A7A1DF0135E46200DD2B4F = { - fileRef = 00A7A1010135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D5B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A4700C567B77F000001; + remoteInfo = "RTSPClientLib (Library)"; }; - 00A7A1E00135E46200DD2B4F = { - fileRef = 00A7A1020135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D5C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1E10135E46200DD2B4F = { - fileRef = 00A7A1030135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D5D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1E20135E46200DD2B4F = { - fileRef = 00A7A1040135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D5E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1E30135E46200DD2B4F = { - fileRef = 00A7A1050135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D5F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1E40135E46200DD2B4F = { - fileRef = 00A7A1060135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D60064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1E50135E46200DD2B4F = { - fileRef = 00A7A1070135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D61064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F533DA97011744B701DD292F; + remoteInfo = MP3Broadcaster; }; - 00A7A1E60135E46200DD2B4F = { - fileRef = 00A7A1080135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D62064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1E70135E46200DD2B4F = { - fileRef = 00A7A1090135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D63064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A1E80135E46200DD2B4F = { - fileRef = 00A7A10A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D64064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1E90135E46200DD2B4F = { - fileRef = 00A7A10B0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D65064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1EA0135E46200DD2B4F = { - fileRef = 00A7A10C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D67064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 008788DE026B412B00DD2B4C; + remoteInfo = DSS_Generic; }; - 00A7A1EB0135E46200DD2B4F = { - fileRef = 00A7A10D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D68064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1EC0135E46200DD2B4F = { - fileRef = 00A7A10E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D69064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1ED0135E46200DD2B4F = { - fileRef = 00A7A10F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D6A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3970D00C567B77F000001; + remoteInfo = QTBroadcaster; }; - 00A7A1EE0135E46200DD2B4F = { - fileRef = 00A7A1100135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D6B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1EF0135E46200DD2B4F = { - fileRef = 00A7A1110135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D6C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1F00135E46200DD2B4F = { - fileRef = 00A7A1120135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D6D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00E5906700F4DD0500DD2B4C; + remoteInfo = StreamingLoadTool; }; - 00A7A1F10135E46200DD2B4F = { - fileRef = 00A7A1130135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D6E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A1F20135E46200DD2B4F = { - fileRef = 00A7A1140135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D6F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A1F30135E46200DD2B4F = { - fileRef = 00A7A1150135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D70064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A1F40135E46200DD2B4F = { - fileRef = 00A7A1160135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D71064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1F50135E46200DD2B4F = { - fileRef = 00A7A1170135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D72064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A1F60135E46200DD2B4F = { - fileRef = 00A7A1180135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D74064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A1F70135E46200DD2B4F = { - fileRef = 00A7A1190135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D75064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A1F80135E46200DD2B4F = { - fileRef = 00A7A11A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D76064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D6902775D2501DD2AFC; + remoteInfo = QTSSFlowControlModule.bundle; }; - 00A7A1FB0135E46200DD2B4F = { - fileRef = 00A7A11D0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D77064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396EF00C567B77F000001; + remoteInfo = QTTrackInfo; }; - 00A7A1FC0135E46200DD2B4F = { - fileRef = 00A7A11E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D78064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A1FF0135E46200DD2B4F = { - fileRef = 00A7A1210135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D79064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A2000135E46200DD2B4F = { - fileRef = 00A7A1220135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D7A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A2010135E46200DD2B4F = { - fileRef = 00A7A1230135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D7B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00A7A2020135E46200DD2B4F = { - fileRef = 00A7A1240135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D7C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D2002775B5E01DD2AFC; + remoteInfo = QTSSFileModule.bundle; }; - 00A7A2030135E46200DD2B4F = { - fileRef = 00A7A1250135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D7D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3998A00C567B77F000001; + remoteInfo = "QTSSAdminModule (Library)"; }; - 00A7A2040135E46200DD2B4F = { - fileRef = 00A7A1260135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D7E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00A7A2050135E46200DD2B4F = { - fileRef = 00A7A1270135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D7F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0900C567B77F000001; + remoteInfo = "QTFileLib (Library)"; }; - 00A7A2060135E46200DD2B4F = { - fileRef = 00A7A1280135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D80064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A7A2070135E46200DD2B4F = { - fileRef = 00A7A1290135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D81064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A7A2080135E46200DD2B4F = { - fileRef = 00A7A12A0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D82064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00A7A2090135E46200DD2B4F = { - fileRef = 00A7A12B0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D84064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399EA00C567B77F000001; + remoteInfo = "APIStubLib (Library)"; }; - 00A7A20A0135E46200DD2B4F = { - fileRef = 00A7A12C0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D85064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 484082A403D78E0900DD2838; + remoteInfo = broadcasterctl; }; - 00A7A20B0135E47700DD2B4F = { - fileRef = 00A7A12E0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D86064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 000DA9E40135948600DD2B4F; + remoteInfo = WebAdmin; }; - 00A7A20C0135E47700DD2B4F = { - fileRef = 00A7A12F0135DF8700DD2B4F; - isa = PBXBuildFile; - settings = { - }; + FB0D1D87064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C397B700C567B77F000001; + remoteInfo = qtpasswd; }; - 00A90E1B029EBB6300DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_Dynamic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E1D029EBBC300DD2B4C, - 00A90E1E029EBC1600DD2B4C, - 00A90E24029EBF5300DD2B4C, - 00A90E25029EC03100DD2B4C, - 00A90E23029EBF5300DD2B4C, - 00A90E20029EBD9600DD2B4C, - 00A90E22029EBEA400DD2B4C, - 00A90E26029EC0A600DD2B4C, - 00A90E21029EBE4000DD2B4C, - 00A90E1C029EBB8500DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules_Dynamic; - productName = APIModules_Dynamic; + FB0D1D88064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C397C000C567B77F000001; + remoteInfo = StreamingProxy; }; - 00A90E1C029EBB8500DD2B4C = { - isa = PBXTargetDependency; - target = F5E91D8702775D2501DD2AFC; - targetProxy = FB0D1DDE064AFB71006F2774; + FB0D1D89064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3978800C567B77F000001; + remoteInfo = PlaylistBroadcaster; }; - 00A90E1D029EBBC300DD2B4C = { - isa = PBXTargetDependency; - target = 004E288A025B787100DD2B50; - targetProxy = FB0D1D3A064AFB71006F2774; + FB0D1D8B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C398DE00C567B77F000001; + remoteInfo = APIModules; }; - 00A90E1E029EBC1600DD2B4C = { - isa = PBXTargetDependency; - target = B6494F960279F7500BDD2A6C; - targetProxy = FB0D1DD2064AFB71006F2774; + FB0D1D8C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396BA00C567B77F000001; + remoteInfo = QTFileTools; }; - 00A90E1F029EBCC600DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E1B029EBB6300DD2B4C; - targetProxy = FB0D1DB1064AFB71006F2774; + FB0D1D8D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0900C567B77F000001; + remoteInfo = "QTFileLib (Library)"; }; - 00A90E20029EBD9600DD2B4C = { - isa = PBXTargetDependency; - target = F5E91DCD0277603301DD2AFC; - targetProxy = FB0D1D2E064AFB71006F2774; + FB0D1D8E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C900C567B77F000001; + remoteInfo = "RTCPUtilitiesLib (Library)"; }; - 00A90E21029EBE4000DD2B4C = { - isa = PBXTargetDependency; - target = 68C3993400C567B77F000001; - targetProxy = FB0D1DDB064AFB71006F2774; + FB0D1D8F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00A90E22029EBEA400DD2B4C = { - isa = PBXTargetDependency; - target = 68C3994300C567B77F000001; - targetProxy = FB0D1DD5064AFB71006F2774; + FB0D1D90064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00A90E23029EBF5300DD2B4C = { - isa = PBXTargetDependency; - target = 68C3995200C567B77F000001; - targetProxy = FB0D1D29064AFB71006F2774; + FB0D1D91064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F57EED29027E9E1201FF7AB9; + remoteInfo = "SafeDynamicModuleStdLib (Library)"; }; - 00A90E24029EBF5300DD2B4C = { - isa = PBXTargetDependency; - target = 68C3996200C567B77F000001; - targetProxy = FB0D1DD7064AFB71006F2774; + FB0D1D92064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F57EED24027E9E1201FF7AB9; + remoteInfo = "SafeInternalStdLib (Library)"; }; - 00A90E25029EC03100DD2B4C = { - isa = PBXTargetDependency; - target = 68C3997B00C567B77F000001; - targetProxy = FB0D1D4A064AFB71006F2774; + FB0D1D93064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987300C567B77F000001; + remoteInfo = "AtomicLib (Library)"; }; - 00A90E26029EC0A600DD2B4C = { - isa = PBXTargetDependency; - target = F5E91DDD0277603301DD2AFC; - targetProxy = FB0D1DD1064AFB71006F2774; + FB0D1D94064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91DDD0277603301DD2AFC; + remoteInfo = "QTSSRTPFileModule (Bundle)"; }; - 00A90E27029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E28029EC2E700DD2B4C; - targetProxy = FB0D1DB2064AFB71006F2774; + FB0D1D96064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396DB00C567B77F000001; + remoteInfo = QTRTPFileTest; }; - 00A90E28029EC2E700DD2B4C = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_Static; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00A90E29029EC2E700DD2B4C, - 00A90E2A029EC2E700DD2B4C, - 00A90E2B029EC2E700DD2B4C, - 00A90E2C029EC2E700DD2B4C, - 00A90E2D029EC2E700DD2B4C, - 00A90E2E029EC2E700DD2B4C, - 00A90E2F029EC2E700DD2B4C, - 00A90E30029EC2E700DD2B4C, - 00A90E31029EC2E700DD2B4C, - B6DC980302FB313E0BDD2A6C, - 00A90E32029EC2E700DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules_Static; - productName = APIModules_Static; - }; - 00A90E29029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398E000C567B77F000001; - targetProxy = FB0D1DCA064AFB71006F2774; + FB0D1D97064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A3600C567B77F000001; + remoteInfo = "APICommonCode (Library)"; }; - 00A90E2A029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C399AF00C567B77F000001; - targetProxy = FB0D1DC1064AFB71006F2774; + FB0D1D98064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3994300C567B77F000001; + remoteInfo = "QTSSRawFileModule (Bundle)"; }; - 00A90E2B029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398E800C567B77F000001; - targetProxy = FB0D1D4B064AFB71006F2774; + FB0D1D99064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3997B00C567B77F000001; + remoteInfo = "QTSSDemoSMILModule (Bundle)"; }; - 00A90E2C029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3998A00C567B77F000001; - targetProxy = FB0D1D7D064AFB71006F2774; + FB0D1D9A064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3996200C567B77F000001; + remoteInfo = "QTSSDemoAuthorizationModule (Bundle)"; }; - 00A90E2D029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398F100C567B77F000001; - targetProxy = FB0D1DBC064AFB71006F2774; + FB0D1D9B064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3995200C567B77F000001; + remoteInfo = "QTSSFilePrivsModule (Bundle)"; }; - 00A90E2E029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3991900C567B77F000001; - targetProxy = FB0D1DC9064AFB71006F2774; + FB0D1D9C064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3993400C567B77F000001; + remoteInfo = "QTSSSpamDefenseModule (Bundle)"; }; - 00A90E2F029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = B62C45C6012B21880BDD2A6C; - targetProxy = FB0D1DC8064AFB71006F2774; + FB0D1D9D064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B6494F960279F7500BDD2A6C; + remoteInfo = "QTSSRefMovieModule (Bundle)"; }; - 00A90E30029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3997200C567B77F000001; - targetProxy = FB0D1DC7064AFB71006F2774; + FB0D1D9E064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91DB90277603301DD2AFC; + remoteInfo = QTSSAdminModule.bundle; }; - 00A90E31029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C398FA00C567B77F000001; - targetProxy = FB0D1DC6064AFB71006F2774; + FB0D1D9F064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D9E02775EEC01DD2AFC; + remoteInfo = QTSSPOSIXFileSysModule.bundle; }; - 00A90E32029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 68C3992200C567B77F000001; - targetProxy = FB0D1DC5064AFB71006F2774; + FB0D1DA0064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D4002775C5601DD2AFC; + remoteInfo = QTSSReflectorModule.bundle; }; - 00A90E33029EC2E700DD2B4C = { - isa = PBXTargetDependency; - target = 00A90E28029EC2E700DD2B4C; - targetProxy = FB0D1D36064AFB71006F2774; + FB0D1DA1064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D3102775C5601DD2AFC; + remoteInfo = QTSSAccessLogModule.bundle; }; - 00A90E34029ECF7E00DD2B4C = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D41064AFB71006F2774; + FB0D1DA2064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 004E288A025B787100DD2B50; + remoteInfo = "QTSSHomeDirectoryModule (Bundle)"; }; - 00B8FC1600F4E32D00DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1D1A064AFB71006F2774; + FB0D1DA3064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C396BC00C567B77F000001; + remoteInfo = QTSDPGen; }; - 00B8FC1700F4E32D00DD2B4C = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DA4064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00BC5F60025E827300DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = DirectoryInfo.cpp; - path = QTSSHomeDirectoryModule/DirectoryInfo.cpp; - refType = 4; - sourceTree = ""; + FB0D1DA5064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A0000C567B77F000001; + remoteInfo = "RTPMetaInfoLib (Library)"; }; - 00BC5F61025E827300DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = DirectoryInfo.h; - path = QTSSHomeDirectoryModule/DirectoryInfo.h; - refType = 4; - sourceTree = ""; + FB0D1DA6064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00BC5F62025E827400DD2B50 = { - fileRef = 00BC5F61025E827300DD2B50; - isa = PBXBuildFile; - settings = { - }; + FB0D1DA7064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00BC5F63025E827400DD2B50 = { - fileRef = 00BC5F60025E827300DD2B50; - isa = PBXBuildFile; - settings = { - }; + FB0D1DA8064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00CA8FC901AB113E00DD2B4C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - path = startplaylists.pl; - refType = 4; - sourceTree = ""; + FB0D1DAA064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00CA8FCA01AB113F00DD2B4C = { - fileRef = 00CA8FC901AB113E00DD2B4C; - isa = PBXBuildFile; - settings = { - }; + FB0D1DAC064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00D2D75600F4E88000DD2B4C = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - 004086EF02F0A2EE00DD2B4C, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + FB0D1DAD064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00E58F9000F4D95A00DD2B4C = { - children = ( - 004086EC02F0A2ED00DD2B4C, - 00E58F9100F4DA8200DD2B4C, - ); - isa = PBXGroup; - name = StreamingLoadTool; - path = ""; - refType = 4; - sourceTree = ""; + FB0D1DAE064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00E58F9100F4DA8200DD2B4C = { - children = ( - 004086ED02F0A2ED00DD2B4C, - ); - isa = PBXGroup; - name = "Supporting Files"; - path = ""; - refType = 4; - sourceTree = ""; + FB0D1DB0064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00E5906600F4DD0400DD2B4C = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = StreamingLoadTool; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; + FB0D1DB1064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00A90E1B029EBB6300DD2B4C; + remoteInfo = APIModules_Dynamic; }; - 00E5906700F4DD0500DD2B4C = { - buildPhases = ( - 00E5906800F4DD0500DD2B4C, - 00E5906900F4DD0500DD2B4C, - 00E5906B00F4DD0500DD2B4C, - 00E5907300F4DD0500DD2B4C, - 00D2D75600F4E88000DD2B4C, - 52335F2E04EA47D60003CA12, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = StreamingLoadTool; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 00B8FC1600F4E32D00DD2B4C, - 00E5907900F4DD6000DD2B4C, - 00E5907A00F4DD6000DD2B4C, - 00E5907B00F4DD6000DD2B4C, - 00E5907C00F4DD6000DD2B4C, - 00E5907D00F4DD6000DD2B4C, - 00E5907E00F4DD6A00DD2B4C, - ); - isa = PBXToolTarget; - name = StreamingLoadTool; - productInstallPath = /usr/bin; - productName = SpamPro; - productReference = 00E5906600F4DD0400DD2B4C; + FB0D1DB2064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; + remoteInfo = APIModules_Static; }; - 00E5906800F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + FB0D1DB3064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A3600C567B77F000001; + remoteInfo = "APICommonCode (Library)"; }; - 00E5906900F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - 004086EE02F0A2EE00DD2B4C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + FB0D1DB4064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C39A4700C567B77F000001; + remoteInfo = "RTSPClientLib (Library)"; }; - 00E5906B00F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - 00E5906D00F4DD0500DD2B4C, - F57EED60027EA94401FF7AB9, - 00B8FC1700F4E32D00DD2B4C, - 00E5906E00F4DD0500DD2B4C, - 00E5906F00F4DD0500DD2B4C, - 00E5907000F4DD0500DD2B4C, - 00E5907100F4DD0500DD2B4C, - 00E5907200F4DD0500DD2B4C, - 00E5907500F4DD2C00DD2B4C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + FB0D1DB5064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399D800C567B77F000001; + remoteInfo = "PrefsSourceLib (Library)"; }; - 00E5906D00F4DD0500DD2B4C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DB7064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 00E5906E00F4DD0500DD2B4C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DB8064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00E5906F00F4DD0500DD2B4C = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DB9064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00E5907000F4DD0500DD2B4C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DBB064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00E5907100F4DD0500DD2B4C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DBC064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C398F100C567B77F000001; + remoteInfo = "QTSSFileModule (Library)"; }; - 00E5907200F4DD0500DD2B4C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DBD064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00E5907300F4DD0500DD2B4C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + FB0D1DBE064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987F00C567B77F000001; + remoteInfo = "CommonUtilitiesLib (Library)"; }; - 00E5907500F4DD2C00DD2B4C = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DBF064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399C100C567B77F000001; + remoteInfo = "OSMemoryLib (Library)"; }; - 00E5907900F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DA6064AFB71006F2774; + FB0D1DC1064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399AF00C567B77F000001; + remoteInfo = "QTSSAccessModule (Library)"; }; - 00E5907A00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D35064AFB71006F2774; + FB0D1DC3064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 00E5907B00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - targetProxy = FB0D1DB5064AFB71006F2774; + FB0D1DC5064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3992200C567B77F000001; + remoteInfo = "QTSSWebDebugModule (Library)"; }; - 00E5907C00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - targetProxy = FB0D1DB4064AFB71006F2774; + FB0D1DC6064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C398FA00C567B77F000001; + remoteInfo = "QTSSReflectorModule (Library)"; }; - 00E5907D00F4DD6000DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D2D064AFB71006F2774; - }; - 00E5907E00F4DD6A00DD2B4C = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1DB3064AFB71006F2774; - }; -//000 -//001 -//002 -//003 -//004 -//010 -//011 -//012 -//013 -//014 - 0138E52700C5C0DD7F000001 = { - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - OPTIMIZATION_CFLAGS = "-O0"; - ZERO_LINK = YES; - }; - isa = PBXBuildStyle; - name = Development; - }; - 0138E52800C5C0DD7F000001 = { - buildSettings = { - COPY_PHASE_STRIP = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - ZERO_LINK = NO; - }; - isa = PBXBuildStyle; - name = Deployment; - }; - 0138E52A00C5C1787F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52B00C5C22A7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52C00C5C22A7F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52D00C5C22A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E52E00C5C22A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53700C6A7E27F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53800C6A7E27F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53900C6A7E27F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53A00C6A7E27F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53B00C6A8B97F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53C00C6A8B97F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53D00C6A8B97F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53E00C6A8B97F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E53F00C6A9C67F000001 = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54000C6AACF7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54100C6AACF7F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54200C6AACF7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 0138E54300C6AACF7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DC7064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3997200C567B77F000001; + remoteInfo = "QTSSPOSIXFileSysModule (Library)"; }; - 0138E54400C6AC357F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DC8064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B62C45C6012B21880BDD2A6C; + remoteInfo = "QTSSMP3StreamingModule (Library)"; }; - 0138E54500C6AC357F000001 = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DC9064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3991900C567B77F000001; + remoteInfo = "QTSSFlowControlModule (Library)"; }; - 0138E54600C6AC357F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DCA064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C398E000C567B77F000001; + remoteInfo = "OSMemory_Modules (Library)"; }; - 0138E54700C6AC357F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DCB064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 0138E56E00C6B15A7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DCC064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 0138E56F00C6B15A7F000001 = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DCD064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 0138E57000C6B15A7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DCE064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 0138E57100C6B15A7F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DCF064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 0138E57200C6B15A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD0064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C399EA00C567B77F000001; + remoteInfo = "APIStubLib (Library)"; }; - 0138E57300C6B15A7F000001 = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD1064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91DDD0277603301DD2AFC; + remoteInfo = "QTSSRTPFileModule (Bundle)"; }; - 0138E57400C6B15A7F000001 = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD2064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B6494F960279F7500BDD2A6C; + remoteInfo = "QTSSRefMovieModule (Bundle)"; }; - 0138E57500C6B15A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD3064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6A48AF002390D0401000103; + remoteInfo = "QTFileExternalLib (Library)"; }; - 0138E57600C6B15A7F000001 = { - fileRef = 68C396AB00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD4064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F57EED24027E9E1201FF7AB9; + remoteInfo = "SafeInternalStdLib (Library)"; }; - 0138E57700C6B15A7F000001 = { - fileRef = 68C396AE00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD5064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3994300C567B77F000001; + remoteInfo = "QTSSRawFileModule (Bundle)"; }; - 0138E57800C6B15A7F000001 = { - fileRef = 68C3969F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD7064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3996200C567B77F000001; + remoteInfo = "QTSSDemoAuthorizationModule (Bundle)"; }; - 0138E57A00C6B15A7F000001 = { - fileRef = 68C396A200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD8064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 008788DE026B412B00DD2B4C; + remoteInfo = DSS_Generic; }; - 0138E57C00C6B15A7F000001 = { - fileRef = 68C396A100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DD9064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; + remoteInfo = Libraries; }; - 0138E57D00C6B15A7F000001 = { - fileRef = 68C396A900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DDB064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3993400C567B77F000001; + remoteInfo = "QTSSSpamDefenseModule (Bundle)"; }; - 0138E57F00C6B15A7F000001 = { - fileRef = 68C396A000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + FB0D1DDD064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 68C3987300C567B77F000001; + remoteInfo = "AtomicLib (Library)"; }; - 0138E58200C6B3A57F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D2F064AFB71006F2774; + FB0D1DDE064AFB71006F2774 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 68C3920500C567B67F000001 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F5E91D8702775D2501DD2AFC; + remoteInfo = "QTSSWebStatsModule (Bundle)"; }; - 0138E58300C6B3A57F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 000DAB6B013598E400DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Config; + dstSubfolderSpec = 0; + files = ( + 00A7A1AE0135E35800DD2B4F /* streamingadminserver_autostart.conf in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; -//010 -//011 -//012 -//013 -//014 -//280 -//281 -//282 -//283 -//284 - 287CBF2800D174BE11DD2B4C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + 00759B2B00F2586E00DD2B4C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Config; + dstSubfolderSpec = 0; + files = ( + 005B0879013B079300DD292F /* relayconfig.xml-Sample in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; -//280 -//281 -//282 -//283 -//284 -//480 -//481 -//482 -//483 -//484 - 482C16F104CF5700003E91E5 = { - buildPhases = ( + 00759B2E00F2593E00DD2B4C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Movies; + dstSubfolderSpec = 0; + files = ( + 0082672D01A2F39B00DD2AFC /* sample.mp3 in CopyFiles */, + FB776F0207DD002E00C0B6CE /* sample_50kbit.3gp in CopyFiles */, + 61B8971A017F4FDD0EDD2AFC /* sample_100kbit.mov in CopyFiles */, + 0075360F02EE064100DD2B4C /* sample_100kbit.mp4 in CopyFiles */, + 61B89719017F4FDD0EDD2AFC /* sample_300kbit.mov in CopyFiles */, + 0075361002EE064100DD2B4C /* sample_300kbit.mp4 in CopyFiles */, + FB776EEF07DCFD6100C0B6CE /* sample_h264_100kbit.mp4 in CopyFiles */, + FB776EEE07DCFD6100C0B6CE /* sample_h264_300kbit.mp4 in CopyFiles */, + FB776EF107DCFD6100C0B6CE /* sample_h264_1mbit.mp4 in CopyFiles */, ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = DSS_Generic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 482C16F204CF575A003E91E5, - 482C16F304CF5773003E91E5, + runOnlyForDeploymentPostprocessing = 1; + }; + 00A79F8E01359A6200DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /usr/sbin; + dstSubfolderSpec = 0; + files = ( + 00A7A1B10135E35800DD2B4F /* streamingadminserver.pl in CopyFiles */, ); - isa = PBXAggregateTarget; - name = DSS; - productName = DSS_Generic; + runOnlyForDeploymentPostprocessing = 1; }; - 482C16F204CF575A003E91E5 = { - isa = PBXTargetDependency; - target = 008788DE026B412B00DD2B4C; - targetProxy = FB0D1D67064AFB71006F2774; + 00A79F9001359ACA00DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = "$(SYSTEM_LIBRARY_DIR)/StartupItems/QuickTimeStreamingServer"; + dstSubfolderSpec = 0; + files = ( + 00A7A1B20135E35800DD2B4F /* QuickTimeStreamingServer in CopyFiles */, + 00A7A1B30135E35800DD2B4F /* StartupParameters.plist in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; - 482C16F304CF5773003E91E5 = { - isa = PBXTargetDependency; - target = E98FD95B02F5BC3309DD2838; - targetProxy = FB0D1D55064AFB71006F2774; + 00A79FAB01359C5F00DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/AdminHtml; + dstSubfolderSpec = 0; + files = ( + 00A7A1C70135E46200DD2B4F /* adminprotocol-lib.pl in CopyFiles */, + E9ACCA5F013C52EC09DD2838 /* access_log.html in CopyFiles */, + 00A7A1C80135E46200DD2B4F /* cgi-lib.pl in CopyFiles */, + 846E9B7E0728602900E7A587 /* change_broadcast_password.html in CopyFiles */, + E95AB76F013AC8C009DD2838 /* change_password.html in CopyFiles */, + E9ACCA5D013C317C09DD2838 /* error_log.html in CopyFiles */, + E96314B0013B155409DD2838 /* log_settings.html in CopyFiles */, + E96314B1013B155409DD2838 /* ports.html in CopyFiles */, + F551E69E0138190801000102 /* confirm.html in CopyFiles */, + 00A7A1C90135E46200DD2B4F /* connected.html in CopyFiles */, + 00A7A1CA0135E46200DD2B4F /* format.html in CopyFiles */, + 00A7A1CB0135E46200DD2B4F /* frameset.html in CopyFiles */, + E9EC923E0137107709DD2838 /* general_settings.html in CopyFiles */, + 00A7A1CC0135E46200DD2B4F /* login.html in CopyFiles */, + 00A7A1CD0135E46200DD2B4F /* nav.html in CopyFiles */, + 00A7A1CE0135E46200DD2B4F /* parse_xml.cgi in CopyFiles */, + 00A7A1CF0135E46200DD2B4F /* playlist-lib.pl in CopyFiles */, + 00A7A1D00135E46200DD2B4F /* playlist_detail.html in CopyFiles */, + 00A7A1D10135E46200DD2B4F /* playlists.html in CopyFiles */, + 00A7A1D30135E46200DD2B4F /* setup_assistant.html in CopyFiles */, + 00A7A1D40135E46200DD2B4F /* tag_formats.pl in CopyFiles */, + 00A7A1D50135E46200DD2B4F /* tag_types.pl in CopyFiles */, + 00A7A1D60135E46200DD2B4F /* tag_vals.pl in CopyFiles */, + 00A7A1D70135E46200DD2B4F /* template.html in CopyFiles */, + 00A7A1D80135E46200DD2B4F /* template_blank.html in CopyFiles */, + 00A7A1D90135E46200DD2B4F /* top.html in CopyFiles */, + 00A7A1DA0135E46200DD2B4F /* welcome.html in CopyFiles */, + F59F643001449BE001000104 /* relay_targets.html in CopyFiles */, + F59F643101449BE001000104 /* relay_details_default.html in CopyFiles */, + F59F643201449BE001000104 /* relay_details.html in CopyFiles */, + F59F643301449BE001000104 /* relay.html in CopyFiles */, + F59F64370144BCEB01000104 /* setup_assistant2.html in CopyFiles */, + F59F64380144BCEB01000104 /* setup_assistant3.html in CopyFiles */, + F59F64390144BCEB01000104 /* setup_assistant4.html in CopyFiles */, + E9686BA501B2D0D309DD2838 /* setup_assistant5.html in CopyFiles */, + E957C41A01454E2109DD2838 /* index.html in CopyFiles */, + E9423B940146CCD009DD2838 /* relayxmlparser.pl in CopyFiles */, + E90CF1AC014FDE2809DD2838 /* change_mp3_password.html in CopyFiles */, + F574E249015FE07001000127 /* playlist_error_log.html in CopyFiles */, + E9E7E9C5016BDDD609DD2838 /* start_server.html in CopyFiles */, + E978DC41017F827D09DD2838 /* change_password_redirect.html in CopyFiles */, + F56EA4BF0199D1800100010F /* relay_status.html in CopyFiles */, + 00CA8FCA01AB113F00DD2B4C /* startplaylists.pl in CopyFiles */, + E924776F01C6CFD309DD2838 /* MapUTF.pl in CopyFiles */, + E93DD2F1027876B709DD2838 /* users.html in CopyFiles */, + E93941060291C82509DD2838 /* password-utils.pl in CopyFiles */, + E98933B802F6140609DD2838 /* broadcaster_lib.pl in CopyFiles */, + E98933B902F6140609DD2838 /* broadcaster_settings.html in CopyFiles */, + E97F11EF04313E7C09DD2838 /* start_broadcaster.html in CopyFiles */, + E97F11F104313E8A09DD2838 /* restart_broadcaster.html in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; - 484082A003D78E0900DD2838 = { - buildActionMask = 2147483647; + 00A79FC201359D6900DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/AdminHtml/html_en; + dstSubfolderSpec = 0; files = ( - 484082AF03D78E3600DD2838, - 484082B203D78E3600DD2838, - 484082B303D78E4A00DD2838, + 00A7A1DC0135E46200DD2B4F /* messages in CopyFiles */, + E97D18ED0150316E09DD2838 /* genres in CopyFiles */, ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 1; }; - 484082A103D78E0900DD2838 = { - buildActionMask = 2147483647; + 00A79FC801359D6900DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = Library/QuickTimeStreaming/AdminHtml/images; + dstSubfolderSpec = 0; files = ( - 484082B003D78E3600DD2838, - 484082B103D78E3600DD2838, + 00A7A1DF0135E46200DD2B4F /* apple_logo.gif in CopyFiles */, + 00A7A1E00135E46200DD2B4F /* arrow_down.gif in CopyFiles */, + E9A7DCF4015180FC09FF1BBE /* link.gif in CopyFiles */, + 00A7A1E10135E46200DD2B4F /* back.gif in CopyFiles */, + 00A7A1E20135E46200DD2B4F /* blackpixel.gif in CopyFiles */, + E9A7DCF5015180FC09FF1BBE /* link_disabled.gif in CopyFiles */, + 00A7A1E30135E46200DD2B4F /* clearpixel.gif in CopyFiles */, + 00A7A1E40135E46200DD2B4F /* dialog_alert.gif in CopyFiles */, + 00A7A1E50135E46200DD2B4F /* dialog_bottom.gif in CopyFiles */, + 00A7A1E60135E46200DD2B4F /* dialog_bottom_sm.gif in CopyFiles */, + 00A7A1E70135E46200DD2B4F /* dialog_middle.gif in CopyFiles */, + F5610DA601B5C81501DD2F6B /* dialog_side.gif in CopyFiles */, + F568F9790254EE29010001C8 /* nav_logo_small.gif in CopyFiles */, + F5C3E6EC017CFE25010001C8 /* icon_doc.gif in CopyFiles */, + E98FF20B01860AAC09DD2838 /* icon_generic.gif in CopyFiles */, + 00A7A1E80135E46200DD2B4F /* dialog_middle_sm.gif in CopyFiles */, + 00A7A1E90135E46200DD2B4F /* dialog_qtss.gif in CopyFiles */, + F56CBE670136D97301000102 /* weight_up_arrow.gif in CopyFiles */, + E90CD038016133D109DD2838 /* sort_arrow_desc.gif in CopyFiles */, + F56CBE680136D97301000102 /* wieght_down_arrow.gif in CopyFiles */, + 00A7A1EA0135E46200DD2B4F /* dialog_top.gif in CopyFiles */, + 00A7A1EB0135E46200DD2B4F /* dialog_top_sm.gif in CopyFiles */, + 00A7A1EC0135E46200DD2B4F /* divider.gif in CopyFiles */, + 00A7A1ED0135E46200DD2B4F /* divider_vert.gif in CopyFiles */, + 00A7A1EE0135E46200DD2B4F /* dot.gif in CopyFiles */, + E90CD03A016133F309DD2838 /* icon_error.gif in CopyFiles */, + 00A7A1EF0135E46200DD2B4F /* folder.gif in CopyFiles */, + 00A7A1F00135E46200DD2B4F /* greypixel.gif in CopyFiles */, + 00A7A1F10135E46200DD2B4F /* headerpixel.gif in CopyFiles */, + 00A7A1F20135E46200DD2B4F /* help.gif in CopyFiles */, + 00A7A1F30135E46200DD2B4F /* highlight.gif in CopyFiles */, + 00A7A1F40135E46200DD2B4F /* horz_line.gif in CopyFiles */, + 00A7A1F50135E46200DD2B4F /* icon_alert.gif in CopyFiles */, + 00A7A1F60135E46200DD2B4F /* icon_folder.gif in CopyFiles */, + 00A7A1F70135E46200DD2B4F /* icon_movie.gif in CopyFiles */, + 00A7A1F80135E46200DD2B4F /* icon_movie_off.gif in CopyFiles */, + E9029E250188C0DB09DD2838 /* icon_start_playlist.gif in CopyFiles */, + E9029E270188C10809DD2838 /* icon_stop_playlist.gif in CopyFiles */, + 00A7A1FB0135E46200DD2B4F /* icon_playlist.gif in CopyFiles */, + 00A7A1FC0135E46200DD2B4F /* icon_playlist_off.gif in CopyFiles */, + 00A7A1FF0135E46200DD2B4F /* LB_arrow_dn.gif in CopyFiles */, + 00A7A2000135E46200DD2B4F /* LB_arrow_up.gif in CopyFiles */, + 00A7A2010135E46200DD2B4F /* line.gif in CopyFiles */, + 00A7A2020135E46200DD2B4F /* mp3_file.gif in CopyFiles */, + F5C7F02701B6CE3601DD2F6B /* nav_logo.gif in CopyFiles */, + F596A33C019319320189D339 /* nav_help.gif in CopyFiles */, + 00A7A2030135E46200DD2B4F /* pixel.gif in CopyFiles */, + E9013529018645DF09DD2838 /* scroll_arrow_down.gif in CopyFiles */, + E901352A018645DF09DD2838 /* scroll_arrow_up.gif in CopyFiles */, + E901352B018645DF09DD2838 /* scroll_bg.gif in CopyFiles */, + E901352C018645DF09DD2838 /* scroll_bg_inactive.gif in CopyFiles */, + E901352D018645DF09DD2838 /* scroll_thumb.gif in CopyFiles */, + 00A7A2040135E46200DD2B4F /* sort_arrow.gif in CopyFiles */, + 00A7A2050135E46200DD2B4F /* spacer.gif in CopyFiles */, + 00A7A2060135E46200DD2B4F /* stripes_gray.gif in CopyFiles */, + 00A7A2070135E46200DD2B4F /* stripes_gray_dark.gif in CopyFiles */, + 00A7A2080135E46200DD2B4F /* trashcan.gif in CopyFiles */, + 00A7A2090135E46200DD2B4F /* vert_line.gif in CopyFiles */, + E9BA8EF0027A14D109DD2838 /* icon_user.gif in CopyFiles */, + E9BA8EF2027A14DA09DD2838 /* icon_group.gif in CopyFiles */, + 00A7A20A0135E46200DD2B4F /* whitepixel.gif in CopyFiles */, ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 1; }; - 484082A203D78E0900DD2838 = { - buildActionMask = 2147483647; + 00A79FF501359D6900DD2B4F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = Library/QuickTimeStreaming/AdminHtml/includes; + dstSubfolderSpec = 0; files = ( - 484082B403D78E5D00DD2838, + 00A7A20B0135E47700DD2B4F /* draglib.js in CopyFiles */, + E9E2F95601C9716609DD2838 /* encode_unicode.js in CopyFiles */, + 00A7A20C0135E47700DD2B4F /* standardNav.js in CopyFiles */, ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 1; }; - 484082A303D78E0900DD2838 = { - buildActionMask = 2147483647; + 00D2D75600F4E88000DD2B4C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Config; + dstSubfolderSpec = 0; files = ( + 004086EF02F0A2EE00DD2B4C /* streamingloadtool.conf in CopyFiles */, ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 1; }; - 484082A403D78E0900DD2838 = { - buildPhases = ( - 484082A003D78E0900DD2838, - 484082A103D78E0900DD2838, - 484082A203D78E0900DD2838, - 484082A303D78E0900DD2838, - 484082B503D78E6B00DD2838, + 484082B503D78E6B00DD2838 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + 484082B603D78E9F00DD2838 /* broadcasterctl.1 in CopyFiles */, ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = broadcasterctl; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXToolTarget; - name = broadcasterctl; - productInstallPath = /usr/bin; - productName = broadcasterctl; - productReference = 484082A503D78E0900DD2838; - }; - 484082A503D78E0900DD2838 = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = broadcasterctl; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; + runOnlyForDeploymentPostprocessing = 1; }; - 484082A803D78E3600DD2838 = { - children = ( - 484082AA03D78E3600DD2838, - 484082AB03D78E3600DD2838, - 484082AC03D78E3600DD2838, - 484082AD03D78E3600DD2838, - 484082AE03D78E3600DD2838, + 523576050C33A0890098823D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Config; + dstSubfolderSpec = 0; + files = ( + 523576060C33A0890098823D /* relayconfig.xml-Sample in CopyFiles */, ); - isa = PBXGroup; - path = broadcasterctl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 484082AA03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcasterAdminController.h; - refType = 4; - sourceTree = ""; - }; - 484082AB03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = BroadcasterAdminController.m; - refType = 4; - sourceTree = ""; - }; - 484082AC03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - path = broadcasterctl.1; - refType = 4; - sourceTree = ""; - }; - 484082AD03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = broadcasterctl_main.m; - refType = 4; - sourceTree = ""; - }; - 484082AE03D78E3600DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcasterRemoteAdmin.h; - refType = 4; - sourceTree = ""; - }; - 484082AF03D78E3600DD2838 = { - fileRef = 484082AA03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B003D78E3600DD2838 = { - fileRef = 484082AB03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B103D78E3600DD2838 = { - fileRef = 484082AD03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B203D78E3600DD2838 = { - fileRef = 484082AE03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B303D78E4A00DD2838 = { - fileRef = 68C3920C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 484082B403D78E5D00DD2838 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + runOnlyForDeploymentPostprocessing = 1; }; - 484082B503D78E6B00DD2838 = { + 523576070C33A0890098823D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; buildActionMask = 8; - dstPath = /usr/share/man/man1/; + dstPath = /Library/QuickTimeStreaming/Movies; dstSubfolderSpec = 0; files = ( - 484082B603D78E9F00DD2838, + 523576080C33A0890098823D /* sample.mp3 in CopyFiles */, + 523576090C33A0890098823D /* sample_50kbit.3gp in CopyFiles */, + 5235760A0C33A0890098823D /* sample_100kbit.mov in CopyFiles */, + 5235760B0C33A0890098823D /* sample_100kbit.mp4 in CopyFiles */, + 5235760C0C33A0890098823D /* sample_300kbit.mov in CopyFiles */, + 5235760D0C33A0890098823D /* sample_300kbit.mp4 in CopyFiles */, + 5235760E0C33A0890098823D /* sample_h264_100kbit.mp4 in CopyFiles */, + 5235760F0C33A0890098823D /* sample_h264_300kbit.mp4 in CopyFiles */, + 523576100C33A0890098823D /* sample_h264_1mbit.mp4 in CopyFiles */, ); + runOnlyForDeploymentPostprocessing = 1; + }; + 523576110C33A0890098823D /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Docs; + dstSubfolderSpec = 0; + files = ( + 523576120C33A0890098823D /* 3rdPartyAcknowledgements.rtf in CopyFiles */, + ); runOnlyForDeploymentPostprocessing = 1; }; - 484082B603D78E9F00DD2838 = { - fileRef = 484082AC03D78E3600DD2838; - isa = PBXBuildFile; - settings = { - }; + 523576130C33A0890098823D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /usr/bin; + dstSubfolderSpec = 0; + files = ( + 523576140C33A0890098823D /* createuserstreamingdir in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; -//480 -//481 -//482 -//483 -//484 -//520 -//521 -//522 -//523 -//524 - 520F71F2070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = qtpasswd; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F4070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSFilePrivsModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F5070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = RTPFileGen; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F7070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTFileTest; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71F9070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSampleLister; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FB070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSDemoSMILModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FC070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSSpamDefenseModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FD070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTRTPGen; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F71FF070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = StreamingProxy; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7201070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QuickTimeStreamingServer; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7203070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTBroadcaster; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7205070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTTrackInfo; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7207070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTRTPFileTest; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7209070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSDPGen; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F720B070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = PlaylistBroadcaster; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F720D070B767800B604C1 = { - explicitFileType = "compiled.mach-o.executable"; - includeInIndex = 0; - isa = PBXFileReference; - path = QTFileInfo; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F720F070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSDemoAuthorizationModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F7210070B767800B604C1 = { - explicitFileType = wrapper.cfbundle; - includeInIndex = 0; - isa = PBXFileReference; - path = QTSSRawFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 520F723B070B8F7600B604C1 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B62C45C6012B21880BDD2A6C; - remoteInfo = "QTSSMP3StreamingModule (Library)"; + 61E7BB7F01A1D4AB0EDD2AFC /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Docs; + dstSubfolderSpec = 0; + files = ( + 0082672701A1D6A400DD2AFC /* 3rdPartyAcknowledgements.rtf in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; - 520F723C070B8F7600B604C1 = { - isa = PBXTargetDependency; - target = B62C45C6012B21880BDD2A6C; - targetProxy = 520F723B070B8F7600B604C1; - }; - 522ACD4F041CC4220062FFCE = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - name = SSLeay.c; - path = WebAdmin/NetSSLeay/SSLeay.c; - refType = 2; - sourceTree = SOURCE_ROOT; + 68C3972100C567B77F000001 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 7; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 522ACD55041CC52B0062FFCE = { - isa = PBXFileReference; - lastKnownFileType = file; - name = libperl.dylib; - path = /System/Library/Perl/darwin/CORE/libperl.dylib; - refType = 0; - sourceTree = ""; - }; - 522ACD57041CC5700062FFCE = { - isa = PBXFileReference; - lastKnownFileType = "compiled.mach-o.dylib"; - name = libcrypto.dylib; - path = /usr/lib/libcrypto.dylib; - refType = 0; - sourceTree = ""; - }; - 522ACD59041CC5E90062FFCE = { - isa = PBXFileReference; - lastKnownFileType = "compiled.mach-o.dylib"; - name = libssl.0.9.dylib; - path = /usr/lib/libssl.0.9.dylib; - refType = 0; - sourceTree = ""; - }; - 522B6D3804E1708000244363 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; + 68C399BA00C567B77F000001 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 7; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 52335F2D04EA47CC0003CA12 = { + DB5FB4DC07C433A600A894EA /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; buildActionMask = 8; + comments = man1; + dstPath = /usr/share/man/man1; + dstSubfolderSpec = 0; files = ( + DBDEE63C07C435A1007A0296 /* MP3Broadcaster.1 in CopyFiles */, + DBDEE63D07C435A1007A0296 /* PlaylistBroadcaster.1 in CopyFiles */, + DBDEE63E07C435A1007A0296 /* qtpasswd.1 in CopyFiles */, ); - isa = PBXShellScriptBuildPhase; runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingadminserver_autostart.conf"; }; - 52335F2E04EA47D60003CA12 = { + DB5FB50507C433EA00A894EA /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; buildActionMask = 8; + comments = man8; + dstPath = /usr/share/man/man8; + dstSubfolderSpec = 0; files = ( + DBDEE64707C435A6007A0296 /* createuserstreamingdir.8 in CopyFiles */, + DBDEE64807C435A6007A0296 /* QuickTimeStreamingServer.8 in CopyFiles */, + DBDEE64907C435A6007A0296 /* streamingadminserver.pl.8 in CopyFiles */, + DBDEE64A07C435A6007A0296 /* StreamingLoadTool.8 in CopyFiles */, ); - isa = PBXShellScriptBuildPhase; runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingloadtool.conf"; }; - 5264A2C0041FD10500B9CAA7 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; + F56B5ABF0278B00A01DD2AFC /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Config; + dstSubfolderSpec = 0; + files = ( + F56B5AC00278B00A01DD2AFC /* streamingserver.xml in CopyFiles */, + F56B5AC10278B00A01DD2AFC /* relayconfig.xml-Sample in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; - 5269CD670429FFC400DD2EDD = { - isa = PBXTargetDependency; - target = 484082A403D78E0900DD2838; - targetProxy = FB0D1D85064AFB71006F2774; + F56B5AC20278B00A01DD2AFC /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 8; + dstPath = /Library/QuickTimeStreaming/Movies; + dstSubfolderSpec = 0; + files = ( + F56B5AC30278B00A01DD2AFC /* sample.mp3 in CopyFiles */, + F56B5AC50278B00A01DD2AFC /* sample_300kbit.mov in CopyFiles */, + F56B5AC60278B00A01DD2AFC /* sample_100kbit.mov in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; }; - 5273046504303F0B000ECF53 = { + FBCB7F4C0507F23500A273B4 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; buildActionMask = 8; + dstPath = /usr/bin; + dstSubfolderSpec = 0; files = ( + FBCB7F5B0507F2D700A273B4 /* createuserstreamingdir in CopyFiles */, ); - isa = PBXShellScriptBuildPhase; runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chown 76:80 ${DSTROOT}/Library/QuickTimeStreaming\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Movies\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Playlists\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Logs"; }; - 52E30B0A041DD13500FFB433 = { +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 000DA9E30135948500DD2B4F /* WebAdmin */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = WebAdmin; sourceTree = BUILT_PRODUCTS_DIR; }; + 003D3EDC0132F64000DD292F /* XMLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = XMLParser.cpp; sourceTree = ""; }; + 003D3EDD0132F64000DD292F /* XMLParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLParser.h; sourceTree = ""; }; + 004086EC02F0A2ED00DD2B4C /* StreamingLoadTool.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = StreamingLoadTool.cpp; path = StreamingLoadTool/StreamingLoadTool.cpp; sourceTree = ""; }; + 004086ED02F0A2ED00DD2B4C /* streamingloadtool.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = streamingloadtool.conf; path = StreamingLoadTool/streamingloadtool.conf; sourceTree = ""; }; + 004E2889025B787000DD2B50 /* QTSSHomeDirectoryModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSHomeDirectoryModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 004E2891025B798400DD2B50 /* QTSSHomeDirectoryModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = QTSSHomeDirectoryModule.cpp; path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.cpp; sourceTree = ""; }; + 004E2892025B798400DD2B50 /* QTSSHomeDirectoryModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = QTSSHomeDirectoryModule.h; path = QTSSHomeDirectoryModule/QTSSHomeDirectoryModule.h; sourceTree = ""; }; + 005B0878013B079200DD292F /* relayconfig.xml-Sample */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = "relayconfig.xml-Sample"; sourceTree = ""; }; + 0066F5CE016E6AD000DD2B4C /* RelaySession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RelaySession.cpp; sourceTree = ""; }; + 0066F5CF016E6AD000DD2B4C /* RelaySession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RelaySession.h; sourceTree = ""; }; + 0075360D02EE064000DD2B4C /* sample_100kbit.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = sample_100kbit.mp4; sourceTree = ""; }; + 0075360E02EE064000DD2B4C /* sample_300kbit.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = sample_300kbit.mp4; sourceTree = ""; }; + 0082672501A1D6A300DD2AFC /* 3rdPartyAcknowledgements.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = 3rdPartyAcknowledgements.rtf; path = Documentation/3rdPartyAcknowledgements.rtf; sourceTree = ""; }; + 0082672B01A2F39A00DD2AFC /* sample.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = sample.mp3; sourceTree = ""; }; + 00A7A0CC0135DF8700DD2B4F /* SSLeay.pm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; name = SSLeay.pm; path = WebAdmin/NetSSLeay/SSLeay.pm; sourceTree = SOURCE_ROOT; }; + 00A7A0D10135DF8700DD2B4F /* streamingadminserver.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = streamingadminserver.pl; sourceTree = ""; }; + 00A7A0D30135DF8700DD2B4F /* dummy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dummy.c; sourceTree = ""; }; + 00A7A0D50135DF8700DD2B4F /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; + 00A7A0D60135DF8700DD2B4F /* QuickTimeStreamingServer */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; path = QuickTimeStreamingServer; sourceTree = ""; }; + 00A7A0D70135DF8700DD2B4F /* StartupParameters.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist; path = StartupParameters.plist; sourceTree = ""; }; + 00A7A0D80135DF8700DD2B4F /* streamingadminserver_autostart.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = streamingadminserver_autostart.conf; path = WebAdmin/streamingadminserver_autostart.conf; sourceTree = SOURCE_ROOT; }; + 00A7A0D90135DF8700DD2B4F /* streamingadminserver_Darwin.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = streamingadminserver_Darwin.conf; path = WebAdmin/streamingadminserver_Darwin.conf; sourceTree = SOURCE_ROOT; }; + 00A7A0DA0135DF8700DD2B4F /* streamingadminserver_NT.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = streamingadminserver_NT.conf; path = WebAdmin/streamingadminserver_NT.conf; sourceTree = SOURCE_ROOT; }; + 00A7A0DB0135DF8700DD2B4F /* streamingadminserver.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = streamingadminserver.conf; path = WebAdmin/streamingadminserver.conf; sourceTree = SOURCE_ROOT; }; + 00A7A0DC0135DF8700DD2B4F /* streamingadminserver.pem */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = streamingadminserver.pem; path = WebAdmin/streamingadminserver.pem; sourceTree = SOURCE_ROOT; }; + 00A7A0DE0135DF8700DD2B4F /* adminprotocol-lib.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = "adminprotocol-lib.pl"; sourceTree = ""; }; + 00A7A0DF0135DF8700DD2B4F /* cgi-lib.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = "cgi-lib.pl"; sourceTree = ""; }; + 00A7A0E00135DF8700DD2B4F /* connected.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = connected.html; sourceTree = ""; }; + 00A7A0E60135DF8700DD2B4F /* format.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = format.html; sourceTree = ""; }; + 00A7A0E70135DF8700DD2B4F /* frameset.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = frameset.html; sourceTree = ""; }; + 00A7A0F10135DF8700DD2B4F /* messages */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = messages; sourceTree = ""; }; + 00A7A1010135DF8700DD2B4F /* apple_logo.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = apple_logo.gif; sourceTree = ""; }; + 00A7A1020135DF8700DD2B4F /* arrow_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = arrow_down.gif; sourceTree = ""; }; + 00A7A1030135DF8700DD2B4F /* back.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = back.gif; sourceTree = ""; }; + 00A7A1040135DF8700DD2B4F /* blackpixel.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = blackpixel.gif; sourceTree = ""; }; + 00A7A1050135DF8700DD2B4F /* clearpixel.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = clearpixel.gif; sourceTree = ""; }; + 00A7A1060135DF8700DD2B4F /* dialog_alert.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_alert.gif; sourceTree = ""; }; + 00A7A1070135DF8700DD2B4F /* dialog_bottom.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_bottom.gif; sourceTree = ""; }; + 00A7A1080135DF8700DD2B4F /* dialog_bottom_sm.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_bottom_sm.gif; sourceTree = ""; }; + 00A7A1090135DF8700DD2B4F /* dialog_middle.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_middle.gif; sourceTree = ""; }; + 00A7A10A0135DF8700DD2B4F /* dialog_middle_sm.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_middle_sm.gif; sourceTree = ""; }; + 00A7A10B0135DF8700DD2B4F /* dialog_qtss.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_qtss.gif; sourceTree = ""; }; + 00A7A10C0135DF8700DD2B4F /* dialog_top.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_top.gif; sourceTree = ""; }; + 00A7A10D0135DF8700DD2B4F /* dialog_top_sm.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dialog_top_sm.gif; sourceTree = ""; }; + 00A7A10E0135DF8700DD2B4F /* divider.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = divider.gif; sourceTree = ""; }; + 00A7A10F0135DF8700DD2B4F /* divider_vert.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = divider_vert.gif; sourceTree = ""; }; + 00A7A1100135DF8700DD2B4F /* dot.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = dot.gif; sourceTree = ""; }; + 00A7A1110135DF8700DD2B4F /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 00A7A1120135DF8700DD2B4F /* greypixel.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = greypixel.gif; sourceTree = ""; }; + 00A7A1130135DF8700DD2B4F /* headerpixel.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = headerpixel.gif; sourceTree = ""; }; + 00A7A1140135DF8700DD2B4F /* help.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = help.gif; sourceTree = ""; }; + 00A7A1150135DF8700DD2B4F /* highlight.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = highlight.gif; sourceTree = ""; }; + 00A7A1160135DF8700DD2B4F /* horz_line.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = horz_line.gif; sourceTree = ""; }; + 00A7A1170135DF8700DD2B4F /* icon_alert.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon_alert.gif; sourceTree = ""; }; + 00A7A1180135DF8700DD2B4F /* icon_folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon_folder.gif; sourceTree = ""; }; + 00A7A1190135DF8700DD2B4F /* icon_movie.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon_movie.gif; sourceTree = ""; }; + 00A7A11A0135DF8700DD2B4F /* icon_movie_off.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon_movie_off.gif; sourceTree = ""; }; + 00A7A11D0135DF8700DD2B4F /* icon_playlist.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon_playlist.gif; sourceTree = ""; }; + 00A7A11E0135DF8700DD2B4F /* icon_playlist_off.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon_playlist_off.gif; sourceTree = ""; }; + 00A7A1210135DF8700DD2B4F /* LB_arrow_dn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = LB_arrow_dn.gif; sourceTree = ""; }; + 00A7A1220135DF8700DD2B4F /* LB_arrow_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = LB_arrow_up.gif; sourceTree = ""; }; + 00A7A1230135DF8700DD2B4F /* line.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = line.gif; sourceTree = ""; }; + 00A7A1240135DF8700DD2B4F /* mp3_file.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mp3_file.gif; sourceTree = ""; }; + 00A7A1250135DF8700DD2B4F /* pixel.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = pixel.gif; sourceTree = ""; }; + 00A7A1260135DF8700DD2B4F /* sort_arrow.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = sort_arrow.gif; sourceTree = ""; }; + 00A7A1270135DF8700DD2B4F /* spacer.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = spacer.gif; sourceTree = ""; }; + 00A7A1280135DF8700DD2B4F /* stripes_gray.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = stripes_gray.gif; sourceTree = ""; }; + 00A7A1290135DF8700DD2B4F /* stripes_gray_dark.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = stripes_gray_dark.gif; sourceTree = ""; }; + 00A7A12A0135DF8700DD2B4F /* trashcan.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = trashcan.gif; sourceTree = ""; }; + 00A7A12B0135DF8700DD2B4F /* vert_line.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = vert_line.gif; sourceTree = ""; }; + 00A7A12C0135DF8700DD2B4F /* whitepixel.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = whitepixel.gif; sourceTree = ""; }; + 00A7A12E0135DF8700DD2B4F /* draglib.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = draglib.js; sourceTree = ""; }; + 00A7A12F0135DF8700DD2B4F /* standardNav.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = standardNav.js; sourceTree = ""; }; + 00A7A1310135DF8700DD2B4F /* login.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = login.html; sourceTree = ""; }; + 00A7A1330135DF8700DD2B4F /* nav.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = nav.html; sourceTree = ""; }; + 00A7A1340135DF8700DD2B4F /* parse_xml.cgi */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = parse_xml.cgi; sourceTree = ""; }; + 00A7A1350135DF8700DD2B4F /* playlist-lib.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = "playlist-lib.pl"; sourceTree = ""; }; + 00A7A1360135DF8700DD2B4F /* playlist_detail.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = playlist_detail.html; sourceTree = ""; }; + 00A7A1370135DF8700DD2B4F /* playlists.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = playlists.html; sourceTree = ""; }; + 00A7A13A0135DF8700DD2B4F /* setup_assistant.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = setup_assistant.html; sourceTree = ""; }; + 00A7A13C0135DF8700DD2B4F /* tag_formats.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = tag_formats.pl; sourceTree = ""; }; + 00A7A13D0135DF8700DD2B4F /* tag_types.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = tag_types.pl; sourceTree = ""; }; + 00A7A13E0135DF8700DD2B4F /* tag_vals.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = tag_vals.pl; sourceTree = ""; }; + 00A7A13F0135DF8700DD2B4F /* template.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = template.html; sourceTree = ""; }; + 00A7A1400135DF8700DD2B4F /* template_blank.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = template_blank.html; sourceTree = ""; }; + 00A7A1410135DF8700DD2B4F /* top.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = top.html; sourceTree = ""; }; + 00A7A1420135DF8700DD2B4F /* welcome.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = welcome.html; sourceTree = ""; }; + 00BC5F60025E827300DD2B50 /* DirectoryInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = DirectoryInfo.cpp; path = QTSSHomeDirectoryModule/DirectoryInfo.cpp; sourceTree = ""; }; + 00BC5F61025E827300DD2B50 /* DirectoryInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DirectoryInfo.h; path = QTSSHomeDirectoryModule/DirectoryInfo.h; sourceTree = ""; }; + 00CA8FC901AB113E00DD2B4C /* startplaylists.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; path = startplaylists.pl; sourceTree = ""; }; + 00E5906600F4DD0400DD2B4C /* StreamingLoadTool */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = StreamingLoadTool; sourceTree = BUILT_PRODUCTS_DIR; }; + 140020320A5C488E002AF86E /* SVector.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVector.h; sourceTree = ""; }; + 484082A503D78E0900DD2838 /* broadcasterctl */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = broadcasterctl; sourceTree = BUILT_PRODUCTS_DIR; }; + 484082AA03D78E3600DD2838 /* BroadcasterAdminController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BroadcasterAdminController.h; sourceTree = ""; }; + 484082AB03D78E3600DD2838 /* BroadcasterAdminController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = BroadcasterAdminController.m; sourceTree = ""; }; + 484082AC03D78E3600DD2838 /* broadcasterctl.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; path = broadcasterctl.1; sourceTree = ""; }; + 484082AD03D78E3600DD2838 /* broadcasterctl_main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = broadcasterctl_main.m; sourceTree = ""; }; + 484082AE03D78E3600DD2838 /* BroadcasterRemoteAdmin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BroadcasterRemoteAdmin.h; sourceTree = ""; }; + 520EF57009A60B21009892F1 /* RTPStream3gpp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPStream3gpp.cpp; sourceTree = ""; }; + 520EF57109A60B21009892F1 /* RTPStream3gpp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPStream3gpp.h; sourceTree = ""; }; + 520F71F2070B767800B604C1 /* qtpasswd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = qtpasswd; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71F4070B767800B604C1 /* QTSSFilePrivsModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSFilePrivsModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71F5070B767800B604C1 /* RTPFileGen */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = RTPFileGen; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71F7070B767800B604C1 /* QTFileTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTFileTest; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71F9070B767800B604C1 /* QTSampleLister */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTSampleLister; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71FB070B767800B604C1 /* QTSSDemoSMILModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSDemoSMILModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71FC070B767800B604C1 /* QTSSSpamDefenseModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSSpamDefenseModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71FD070B767800B604C1 /* QTRTPGen */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTRTPGen; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F71FF070B767800B604C1 /* StreamingProxy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = StreamingProxy; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F7201070B767800B604C1 /* QuickTimeStreamingServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QuickTimeStreamingServer; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F7203070B767800B604C1 /* QTBroadcaster */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTBroadcaster; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F7205070B767800B604C1 /* QTTrackInfo */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTTrackInfo; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F7207070B767800B604C1 /* QTRTPFileTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTRTPFileTest; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F7209070B767800B604C1 /* QTSDPGen */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTSDPGen; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F720B070B767800B604C1 /* PlaylistBroadcaster */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = PlaylistBroadcaster; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F720D070B767800B604C1 /* QTFileInfo */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QTFileInfo; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F720F070B767800B604C1 /* QTSSDemoAuthorizationModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSDemoAuthorizationModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 520F7210070B767800B604C1 /* QTSSRawFileModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSRawFileModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 52240D0B09C17A0100E87224 /* RTCPAPPNADUPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPAPPNADUPacket.cpp; sourceTree = ""; }; + 52240D0C09C17A0100E87224 /* RTCPAPPNADUPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPAPPNADUPacket.h; sourceTree = ""; }; + 522ACD4F041CC4220062FFCE /* SSLeay.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = SSLeay.c; path = WebAdmin/NetSSLeay/SSLeay.c; sourceTree = SOURCE_ROOT; }; + 522ACD55041CC52B0062FFCE /* libperl.dylib */ = {isa = PBXFileReference; lastKnownFileType = file; name = libperl.dylib; path = /System/Library/Perl/darwin/CORE/libperl.dylib; sourceTree = ""; }; + 522ACD57041CC5700062FFCE /* libcrypto.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcrypto.dylib; path = /usr/lib/libcrypto.dylib; sourceTree = ""; }; + 522ACD59041CC5E90062FFCE /* libssl.0.9.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libssl.0.9.dylib; path = /usr/lib/libssl.0.9.dylib; sourceTree = ""; }; + 523576220C33A0890098823D /* QuickTimeStreamingServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = QuickTimeStreamingServer; sourceTree = BUILT_PRODUCTS_DIR; }; + 523A8FF50A0AE08D0091F744 /* QTSS3GPPModuleUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSS3GPPModuleUtils.cpp; sourceTree = ""; }; + 523A8FF60A0AE08D0091F744 /* QTSS3GPPModuleUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSS3GPPModuleUtils.h; sourceTree = ""; }; + 525CF5E909A634FF0096D127 /* RTPSession3GPP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPSession3GPP.cpp; sourceTree = ""; }; + 525CF5EA09A634FF0096D127 /* RTPSession3GPP.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPSession3GPP.h; sourceTree = ""; }; + 525CF5ED09A635180096D127 /* RTSPSession3GPP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPSession3GPP.cpp; sourceTree = ""; }; + 525CF5EE09A635180096D127 /* RTSPSession3GPP.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPSession3GPP.h; sourceTree = ""; }; + 5293FDFF0B2A45DD00141B86 /* libQTSSDSAuthModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libQTSSDSAuthModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 52B24EA40B30005400A6567F /* QTSSDSAuthModule.bundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSDSAuthModule.bundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 52D93C830B29A30800633F60 /* DirectoryService.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DirectoryService.framework; path = /System/Library/Frameworks/DirectoryService.framework; sourceTree = ""; }; + 52E30B10041DD13500FFB433 /* SSLeay.bundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = SSLeay.bundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 52E625E309ADD2AE00DDAFD6 /* RTCPAPPQTSSPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPAPPQTSSPacket.cpp; sourceTree = ""; }; + 52E625E509ADD2B500DDAFD6 /* RTCPAPPQTSSPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPAPPQTSSPacket.h; sourceTree = ""; }; + 52F901000B2A561D00D99AE0 /* DSAccessChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DSAccessChecker.cpp; sourceTree = ""; }; + 52F901010B2A561D00D99AE0 /* DSAccessChecker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DSAccessChecker.h; sourceTree = ""; }; + 52F901020B2A561D00D99AE0 /* dsqtaccess */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = dsqtaccess; sourceTree = ""; }; + 52F901040B2A561D00D99AE0 /* CDirService.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CDirService.cpp; sourceTree = ""; }; + 52F901050B2A561D00D99AE0 /* CDirService.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CDirService.h; sourceTree = ""; }; + 52F901060B2A561D00D99AE0 /* DSBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DSBuffer.cpp; sourceTree = ""; }; + 52F901070B2A561D00D99AE0 /* DSBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DSBuffer.h; sourceTree = ""; }; + 52F901080B2A561D00D99AE0 /* DSDataList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DSDataList.h; sourceTree = ""; }; + 52F901090B2A561D00D99AE0 /* DSDataNode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DSDataNode.h; sourceTree = ""; }; + 52F9010A0B2A561D00D99AE0 /* QTSSDSAuthModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSDSAuthModule.cpp; sourceTree = ""; }; + 52F9010B0B2A561D00D99AE0 /* QTSSDSAuthModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSDSAuthModule.h; sourceTree = ""; }; + 52F9010C0B2A561D00D99AE0 /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = ""; }; + 52F909B8099D6AF5006F0FCA /* RTSPRequest3GPP.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPRequest3GPP.h; sourceTree = ""; }; + 52F909B9099D6AF5006F0FCA /* RTSPRequest3GPP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPRequest3GPP.cpp; sourceTree = ""; }; + 5D6E2C6F0D57A11700D6774E /* QTSSDemoAuthorizationModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QTSSDemoAuthorizationModule.h; sourceTree = ""; }; + 5D6E2C700D57A11700D6774E /* QTSSDemoAuthorizationModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSDemoAuthorizationModule.cpp; sourceTree = ""; }; + 5DB82F190DD3AB8D005193F8 /* QTSSDemoRedirectModule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSDemoRedirectModule.cpp; sourceTree = ""; }; + 5DB82F1A0DD3AB8D005193F8 /* QTSSDemoRedirectModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QTSSDemoRedirectModule.h; sourceTree = ""; }; + 5DB82F340DD3AC4C005193F8 /* QTSSDemoRedirectModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = QTSSDemoRedirectModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 5E3095E70A70485A0055DEFA /* RTPPacket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTPPacket.h; sourceTree = ""; }; + 5E31EA180A76E3670042B6D0 /* RTCPRRPacket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCPRRPacket.h; sourceTree = ""; }; + 5E31EA230A76E39F0042B6D0 /* RTCPAckPacketFmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCPAckPacketFmt.h; sourceTree = ""; }; + 5E4F28590A8922460011409D /* RTCPNADUPacketFmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCPNADUPacketFmt.h; sourceTree = ""; }; + 5E642DE80A9CC77500ABD5AD /* parseSLTOut.py */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.python; name = parseSLTOut.py; path = StreamingLoadTool/parseSLTOut.py; sourceTree = ""; }; + 5E642DF00A9CC80A00ABD5AD /* Nokia_N90.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = Nokia_N90.conf; path = StreamingLoadTool/Nokia_N90.conf; sourceTree = ""; }; + 5E64F7ED0A759C9000715BC3 /* PlayerSimulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayerSimulator.h; sourceTree = ""; }; + 61B89716017F4FDD0EDD2AFC /* sample_300kbit.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = sample_300kbit.mov; sourceTree = ""; }; + 61B89717017F4FDD0EDD2AFC /* sample_100kbit.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = sample_100kbit.mov; sourceTree = ""; }; + 68C3920B00C567B67F000001 /* PlatformHeader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlatformHeader.h; sourceTree = ""; }; + 68C3920C00C567B67F000001 /* revision.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = revision.h; sourceTree = ""; }; + 68C3920E00C567B67F000001 /* streamingserver.xml */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = streamingserver.xml; sourceTree = ""; }; + 68C3921B00C567B67F000001 /* QTSDPGen.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSDPGen.cpp; sourceTree = ""; }; + 68C3922B00C567B67F000001 /* QTRTPGen.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTRTPGen.cpp; sourceTree = ""; }; + 68C3923400C567B67F000001 /* QTRTPFileTest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTRTPFileTest.cpp; sourceTree = ""; }; + 68C3923D00C567B67F000001 /* QTSampleLister.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSampleLister.cpp; sourceTree = ""; }; + 68C3924600C567B67F000001 /* QTTrackInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTTrackInfo.cpp; sourceTree = ""; }; + 68C3924F00C567B67F000001 /* QTFileInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTFileInfo.cpp; sourceTree = ""; }; + 68C3925800C567B67F000001 /* QTFileTest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTFileTest.cpp; sourceTree = ""; }; + 68C3926100C567B67F000001 /* QTBroadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTBroadcaster.cpp; sourceTree = ""; }; + 68C3926A00C567B67F000001 /* RTPFileGen.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPFileGen.cpp; sourceTree = ""; }; + 68C3926C00C567B67F000001 /* RTPFileDefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPFileDefs.h; sourceTree = ""; }; + 68C3927500C567B67F000001 /* GenerateXMLPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = GenerateXMLPrefs.cpp; sourceTree = ""; }; + 68C3927600C567B67F000001 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; + 68C3927700C567B67F000001 /* QTSSCallbacks.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSCallbacks.cpp; sourceTree = ""; }; + 68C3927800C567B67F000001 /* QTSSDataConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSDataConverter.cpp; sourceTree = ""; }; + 68C3927900C567B67F000001 /* QTSSDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSDictionary.cpp; sourceTree = ""; }; + 68C3927A00C567B67F000001 /* QTSSErrorLogModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSErrorLogModule.cpp; sourceTree = ""; }; + 68C3927B00C567B67F000001 /* QTSServer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSServer.cpp; sourceTree = ""; }; + 68C3927C00C567B67F000001 /* QTSServerInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSServerInterface.cpp; sourceTree = ""; }; + 68C3927D00C567B67F000001 /* QTSServerPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSServerPrefs.cpp; sourceTree = ""; }; + 68C3927E00C567B67F000001 /* QTSSExpirationDate.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSExpirationDate.cpp; sourceTree = ""; }; + 68C3927F00C567B67F000001 /* QTSSFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSFile.cpp; sourceTree = ""; }; + 68C3928000C567B67F000001 /* QTSSMessages.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSMessages.cpp; sourceTree = ""; }; + 68C3928100C567B67F000001 /* QTSSModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSModule.cpp; sourceTree = ""; }; + 68C3928200C567B67F000001 /* QTSSPrefs.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSPrefs.cpp; sourceTree = ""; }; + 68C3928300C567B67F000001 /* QTSSSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSSocket.cpp; sourceTree = ""; }; + 68C3928400C567B67F000001 /* QTSSUserProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSUserProfile.cpp; sourceTree = ""; }; + 68C3928500C567B67F000001 /* RTCPTask.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPTask.cpp; sourceTree = ""; }; + 68C3928600C567B67F000001 /* RTPBandwidthTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPBandwidthTracker.cpp; sourceTree = ""; }; + 68C3928700C567B67F000001 /* RTPOverbufferWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPOverbufferWindow.cpp; sourceTree = ""; }; + 68C3928800C567B67F000001 /* RTPPacketResender.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPPacketResender.cpp; sourceTree = ""; }; + 68C3928900C567B67F000001 /* RTPSession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPSession.cpp; sourceTree = ""; }; + 68C3928A00C567B67F000001 /* RTPSessionInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPSessionInterface.cpp; sourceTree = ""; }; + 68C3928B00C567B67F000001 /* RTPStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPStream.cpp; sourceTree = ""; }; + 68C3928C00C567B67F000001 /* RTSPProtocol.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPProtocol.cpp; sourceTree = ""; }; + 68C3928D00C567B67F000001 /* RTSPRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPRequest.cpp; sourceTree = ""; }; + 68C3928E00C567B67F000001 /* RTSPRequestInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPRequestInterface.cpp; sourceTree = ""; }; + 68C3928F00C567B67F000001 /* RTSPRequestStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPRequestStream.cpp; sourceTree = ""; }; + 68C3929000C567B67F000001 /* RTSPResponseStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPResponseStream.cpp; sourceTree = ""; }; + 68C3929100C567B67F000001 /* RTSPSession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPSession.cpp; sourceTree = ""; }; + 68C3929200C567B67F000001 /* RTSPSessionInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPSessionInterface.cpp; sourceTree = ""; }; + 68C3929300C567B67F000001 /* RunServer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RunServer.cpp; sourceTree = ""; }; + 68C3929600C567B67F000001 /* GenerateXMLPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GenerateXMLPrefs.h; sourceTree = ""; }; + 68C3929700C567B67F000001 /* QTSSCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSCallbacks.h; sourceTree = ""; }; + 68C3929800C567B67F000001 /* QTSSDataConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSDataConverter.h; sourceTree = ""; }; + 68C3929900C567B67F000001 /* QTSSDictionary.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSDictionary.h; sourceTree = ""; }; + 68C3929A00C567B67F000001 /* QTSSErrorLogModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSErrorLogModule.h; sourceTree = ""; }; + 68C3929B00C567B67F000001 /* QTSServer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSServer.h; sourceTree = ""; }; + 68C3929C00C567B67F000001 /* QTSServerInterface.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSServerInterface.h; sourceTree = ""; }; + 68C3929D00C567B67F000001 /* QTSServerPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSServerPrefs.h; sourceTree = ""; }; + 68C3929E00C567B67F000001 /* QTSSExpirationDate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSExpirationDate.h; sourceTree = ""; }; + 68C3929F00C567B67F000001 /* QTSSFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSFile.h; sourceTree = ""; }; + 68C392A000C567B67F000001 /* QTSSMessages.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSMessages.h; sourceTree = ""; }; + 68C392A100C567B67F000001 /* QTSSModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSModule.h; sourceTree = ""; }; + 68C392A200C567B67F000001 /* QTSSPrefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSPrefs.h; sourceTree = ""; }; + 68C392A300C567B67F000001 /* QTSSSocket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSSocket.h; sourceTree = ""; }; + 68C392A400C567B67F000001 /* QTSSStream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSStream.h; sourceTree = ""; }; + 68C392A500C567B67F000001 /* QTSSUserProfile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSUserProfile.h; sourceTree = ""; }; + 68C392A600C567B67F000001 /* RTCPTask.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPTask.h; sourceTree = ""; }; + 68C392A700C567B67F000001 /* RTPBandwidthTracker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPBandwidthTracker.h; sourceTree = ""; }; + 68C392A800C567B67F000001 /* RTPOverbufferWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPOverbufferWindow.h; sourceTree = ""; }; + 68C392A900C567B67F000001 /* RTPPacketResender.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPPacketResender.h; sourceTree = ""; }; + 68C392AA00C567B67F000001 /* RTPSession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPSession.h; sourceTree = ""; }; + 68C392AB00C567B67F000001 /* RTPSessionInterface.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPSessionInterface.h; sourceTree = ""; }; + 68C392AC00C567B67F000001 /* RTPStream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPStream.h; sourceTree = ""; }; + 68C392AD00C567B67F000001 /* RTSPProtocol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPProtocol.h; sourceTree = ""; }; + 68C392AE00C567B67F000001 /* RTSPRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPRequest.h; sourceTree = ""; }; + 68C392AF00C567B67F000001 /* RTSPRequestInterface.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPRequestInterface.h; sourceTree = ""; }; + 68C392B000C567B67F000001 /* RTSPRequestStream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPRequestStream.h; sourceTree = ""; }; + 68C392B100C567B67F000001 /* RTSPResponseStream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPResponseStream.h; sourceTree = ""; }; + 68C392B200C567B67F000001 /* RTSPSession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPSession.h; sourceTree = ""; }; + 68C392B300C567B67F000001 /* RTSPSessionInterface.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPSessionInterface.h; sourceTree = ""; }; + 68C392B400C567B67F000001 /* RunServer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RunServer.h; sourceTree = ""; }; + 68C392BE00C567B67F000001 /* BCasterTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BCasterTracker.cpp; sourceTree = ""; }; + 68C392BF00C567B67F000001 /* BroadcastLog.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BroadcastLog.cpp; sourceTree = ""; }; + 68C392C000C567B67F000001 /* NoRepeat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = NoRepeat.cpp; sourceTree = ""; }; + 68C392C100C567B67F000001 /* PickerFromFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PickerFromFile.cpp; sourceTree = ""; }; + 68C392C200C567B67F000001 /* PlaylistBroadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PlaylistBroadcaster.cpp; sourceTree = ""; }; + 68C392C300C567B67F000001 /* playlist_broadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_broadcaster.cpp; sourceTree = ""; }; + 68C392C400C567B67F000001 /* playlist_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_elements.cpp; sourceTree = ""; }; + 68C392C500C567B67F000001 /* playlist_lists.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_lists.cpp; sourceTree = ""; }; + 68C392C600C567B67F000001 /* playlist_parsers.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_parsers.cpp; sourceTree = ""; }; + 68C392C700C567B67F000001 /* PlaylistPicker.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PlaylistPicker.cpp; sourceTree = ""; }; + 68C392C800C567B67F000001 /* playlist_QTRTPBroadcastFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_QTRTPBroadcastFile.cpp; sourceTree = ""; }; + 68C392C900C567B67F000001 /* playlist_SDPGen.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_SDPGen.cpp; sourceTree = ""; }; + 68C392CA00C567B67F000001 /* playlist_SimpleParse.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_SimpleParse.cpp; sourceTree = ""; }; + 68C392CB00C567B67F000001 /* playlist_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = playlist_utils.cpp; sourceTree = ""; }; + 68C392CC00C567B67F000001 /* PLBroadcastDef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PLBroadcastDef.cpp; sourceTree = ""; }; + 68C392CD00C567B67F000001 /* BroadcasterSession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BroadcasterSession.cpp; sourceTree = ""; }; + 68C392CF00C567B67F000001 /* BCasterTracker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BCasterTracker.h; sourceTree = ""; }; + 68C392D000C567B67F000001 /* BroadcastLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BroadcastLog.h; sourceTree = ""; }; + 68C392D100C567B67F000001 /* NoRepeat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NoRepeat.h; sourceTree = ""; }; + 68C392D200C567B67F000001 /* PickerFromFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PickerFromFile.h; sourceTree = ""; }; + 68C392D300C567B67F000001 /* playlist_broadcaster.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_broadcaster.h; sourceTree = ""; }; + 68C392D400C567B67F000001 /* playlist_elements.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_elements.h; sourceTree = ""; }; + 68C392D500C567B67F000001 /* playlist_lists.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_lists.h; sourceTree = ""; }; + 68C392D600C567B67F000001 /* playlist_parsers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_parsers.h; sourceTree = ""; }; + 68C392D700C567B67F000001 /* PlaylistPicker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlaylistPicker.h; sourceTree = ""; }; + 68C392D800C567B67F000001 /* playlist_QTRTPBroadcastFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_QTRTPBroadcastFile.h; sourceTree = ""; }; + 68C392D900C567B67F000001 /* playlist_SDPGen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_SDPGen.h; sourceTree = ""; }; + 68C392DA00C567B67F000001 /* playlist_SimpleParse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_SimpleParse.h; sourceTree = ""; }; + 68C392DB00C567B67F000001 /* playlist_utils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_utils.h; sourceTree = ""; }; + 68C392DC00C567B67F000001 /* PLBroadcastDef.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PLBroadcastDef.h; sourceTree = ""; }; + 68C392DD00C567B67F000001 /* playlist_array.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = playlist_array.h; sourceTree = ""; }; + 68C392DE00C567B67F000001 /* SimplePlayListElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SimplePlayListElement.h; sourceTree = ""; }; + 68C392DF00C567B67F000001 /* StSmartArrayPointer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StSmartArrayPointer.h; sourceTree = ""; }; + 68C392E000C567B67F000001 /* TrackingElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TrackingElement.h; sourceTree = ""; }; + 68C392E100C567B67F000001 /* tailor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tailor.h; sourceTree = ""; }; + 68C392E200C567B67F000001 /* BroadcasterSession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BroadcasterSession.h; sourceTree = ""; }; + 68C392EB00C567B67F000001 /* QTSSPasswd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = QTSSPasswd.cpp; sourceTree = ""; }; + 68C392F400C567B67F000001 /* proxy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = proxy.h; sourceTree = ""; }; + 68C392F500C567B67F000001 /* proxy_plat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = proxy_plat.h; sourceTree = ""; }; + 68C392F600C567B67F000001 /* shared_udp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = shared_udp.h; sourceTree = ""; }; + 68C392F700C567B67F000001 /* util.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; + 68C392FA00C567B67F000001 /* proxy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = proxy.c; sourceTree = ""; }; + 68C392FB00C567B67F000001 /* proxy_unix.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = proxy_unix.c; sourceTree = ""; }; + 68C392FC00C567B67F000001 /* shared_udp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = shared_udp.c; sourceTree = ""; }; + 68C392FD00C567B67F000001 /* util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = ""; }; + 68C3930400C567B67F000001 /* streamingproxy.conf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = streamingproxy.conf; sourceTree = ""; }; + 68C3930500C567B67F000001 /* StreamingProxy.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = StreamingProxy.html; sourceTree = ""; }; + 68C3946F00C567B67F000001 /* atomic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = atomic.h; sourceTree = ""; }; + 68C3947000C567B67F000001 /* timestamp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = timestamp.h; sourceTree = ""; }; + 68C3947200C567B67F000001 /* atomic_subr.s */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.asm; path = atomic_subr.s; sourceTree = ""; }; + 68C3947300C567B67F000001 /* timescale.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = timescale.c; sourceTree = ""; }; + 68C3947400C567B67F000001 /* timestamp.s */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.asm; path = timestamp.s; sourceTree = ""; }; + 68C3947B00C567B67F000001 /* ConfParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ConfParser.cpp; sourceTree = ""; }; + 68C3947C00C567B67F000001 /* DateTranslator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DateTranslator.cpp; sourceTree = ""; }; + 68C3947D00C567B67F000001 /* EventContext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EventContext.cpp; sourceTree = ""; }; + 68C3947E00C567B67F000001 /* IdleTask.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = IdleTask.cpp; sourceTree = ""; }; + 68C3947F00C567B67F000001 /* md5digest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = md5digest.cpp; sourceTree = ""; }; + 68C3948000C567B67F000001 /* MyAssert.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MyAssert.cpp; sourceTree = ""; }; + 68C3948100C567B67F000001 /* OS.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OS.cpp; sourceTree = ""; }; + 68C3948200C567B67F000001 /* OSBufferPool.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSBufferPool.cpp; sourceTree = ""; }; + 68C3948300C567B67F000001 /* OSCodeFragment.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSCodeFragment.cpp; sourceTree = ""; }; + 68C3948400C567B67F000001 /* OSCond.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSCond.cpp; sourceTree = ""; }; + 68C3948500C567B67F000001 /* OSFileSource.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSFileSource.cpp; sourceTree = ""; }; + 68C3948600C567B67F000001 /* OSHeap.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSHeap.cpp; sourceTree = ""; }; + 68C3948700C567B67F000001 /* OSMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSMutex.cpp; sourceTree = ""; }; + 68C3948800C567B67F000001 /* OSMutexRW.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSMutexRW.cpp; sourceTree = ""; }; + 68C3948900C567B67F000001 /* OSQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSQueue.cpp; sourceTree = ""; }; + 68C3948A00C567B67F000001 /* OSRef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSRef.cpp; sourceTree = ""; }; + 68C3948B00C567B67F000001 /* OSThread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSThread.cpp; sourceTree = ""; }; + 68C3948C00C567B67F000001 /* QueryParamList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QueryParamList.cpp; sourceTree = ""; }; + 68C3948D00C567B67F000001 /* ResizeableStringFormatter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ResizeableStringFormatter.cpp; sourceTree = ""; }; + 68C3948E00C567B67F000001 /* Socket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Socket.cpp; sourceTree = ""; }; + 68C3948F00C567B67F000001 /* SocketUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SocketUtils.cpp; sourceTree = ""; }; + 68C3949000C567B67F000001 /* StringFormatter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StringFormatter.cpp; sourceTree = ""; }; + 68C3949100C567B67F000001 /* StringParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StringParser.cpp; sourceTree = ""; }; + 68C3949200C567B67F000001 /* StringTranslator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StringTranslator.cpp; sourceTree = ""; }; + 68C3949300C567B67F000001 /* StrPtrLen.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StrPtrLen.cpp; sourceTree = ""; }; + 68C3949400C567B67F000001 /* Task.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Task.cpp; sourceTree = ""; }; + 68C3949500C567B67F000001 /* TCPListenerSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TCPListenerSocket.cpp; sourceTree = ""; }; + 68C3949600C567B67F000001 /* TCPSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TCPSocket.cpp; sourceTree = ""; }; + 68C3949700C567B67F000001 /* TimeoutTask.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TimeoutTask.cpp; sourceTree = ""; }; + 68C3949800C567B67F000001 /* UDPDemuxer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UDPDemuxer.cpp; sourceTree = ""; }; + 68C3949900C567B67F000001 /* UDPSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UDPSocket.cpp; sourceTree = ""; }; + 68C3949A00C567B67F000001 /* UDPSocketPool.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UDPSocketPool.cpp; sourceTree = ""; }; + 68C3949B00C567B67F000001 /* UserAgentParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UserAgentParser.cpp; sourceTree = ""; }; + 68C3949D00C567B67F000001 /* base64.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = base64.h; sourceTree = ""; }; + 68C3949E00C567B67F000001 /* ConfParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ConfParser.h; sourceTree = ""; }; + 68C3949F00C567B67F000001 /* DateTranslator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DateTranslator.h; sourceTree = ""; }; + 68C394A000C567B67F000001 /* DssStopwatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DssStopwatch.h; sourceTree = ""; }; + 68C394A100C567B67F000001 /* ev.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ev.h; sourceTree = ""; }; + 68C394A200C567B67F000001 /* EventContext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = EventContext.h; sourceTree = ""; }; + 68C394A300C567B67F000001 /* FastCopyMacros.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FastCopyMacros.h; sourceTree = ""; }; + 68C394A400C567B67F000001 /* getopt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = getopt.h; sourceTree = ""; }; + 68C394A500C567B67F000001 /* GetWord.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GetWord.h; sourceTree = ""; }; + 68C394A600C567B67F000001 /* IdleTask.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IdleTask.h; sourceTree = ""; }; + 68C394A700C567B67F000001 /* md5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = ""; }; + 68C394A800C567B67F000001 /* md5digest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = md5digest.h; sourceTree = ""; }; + 68C394A900C567B67F000001 /* MyAssert.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MyAssert.h; sourceTree = ""; }; + 68C394AA00C567B67F000001 /* OS.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OS.h; sourceTree = ""; }; + 68C394AB00C567B67F000001 /* OSArrayObjectDeleter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSArrayObjectDeleter.h; sourceTree = ""; }; + 68C394AC00C567B67F000001 /* OSBufferPool.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSBufferPool.h; sourceTree = ""; }; + 68C394AD00C567B67F000001 /* OSCodeFragment.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSCodeFragment.h; sourceTree = ""; }; + 68C394AE00C567B67F000001 /* OSCond.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSCond.h; sourceTree = ""; }; + 68C394AF00C567B67F000001 /* OSFileSource.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSFileSource.h; sourceTree = ""; }; + 68C394B000C567B67F000001 /* OSHashTable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSHashTable.h; sourceTree = ""; }; + 68C394B100C567B67F000001 /* OSHeaders.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSHeaders.h; sourceTree = ""; }; + 68C394B200C567B67F000001 /* OSHeap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSHeap.h; sourceTree = ""; }; + 68C394B300C567B67F000001 /* OSMemory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSMemory.h; sourceTree = ""; }; + 68C394B400C567B67F000001 /* OSMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSMutex.h; sourceTree = ""; }; + 68C394B500C567B67F000001 /* OSMutexRW.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSMutexRW.h; sourceTree = ""; }; + 68C394B600C567B67F000001 /* OSQueue.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSQueue.h; sourceTree = ""; }; + 68C394B700C567B67F000001 /* OSRef.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSRef.h; sourceTree = ""; }; + 68C394B800C567B67F000001 /* OSThread.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = OSThread.h; sourceTree = ""; }; + 68C394B900C567B67F000001 /* PLDoubleLinkedList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PLDoubleLinkedList.h; sourceTree = ""; }; + 68C394BA00C567B67F000001 /* QueryParamList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QueryParamList.h; sourceTree = ""; }; + 68C394BB00C567B67F000001 /* ResizeableStringFormatter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ResizeableStringFormatter.h; sourceTree = ""; }; + 68C394BC00C567B67F000001 /* Socket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Socket.h; sourceTree = ""; }; + 68C394BD00C567B67F000001 /* SocketUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SocketUtils.h; sourceTree = ""; }; + 68C394BE00C567B67F000001 /* StopWatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StopWatch.h; sourceTree = ""; }; + 68C394BF00C567B67F000001 /* StringFormatter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StringFormatter.h; sourceTree = ""; }; + 68C394C000C567B67F000001 /* StringParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StringParser.h; sourceTree = ""; }; + 68C394C100C567B67F000001 /* StringTranslator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StringTranslator.h; sourceTree = ""; }; + 68C394C200C567B67F000001 /* StrPtrLen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StrPtrLen.h; sourceTree = ""; }; + 68C394C300C567B67F000001 /* Task.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Task.h; sourceTree = ""; }; + 68C394C400C567B67F000001 /* TCPListenerSocket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TCPListenerSocket.h; sourceTree = ""; }; + 68C394C500C567B67F000001 /* TCPSocket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TCPSocket.h; sourceTree = ""; }; + 68C394C600C567B67F000001 /* tempcalls.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = tempcalls.h; sourceTree = ""; }; + 68C394C700C567B67F000001 /* TimeoutTask.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TimeoutTask.h; sourceTree = ""; }; + 68C394C800C567B67F000001 /* Trim.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Trim.h; sourceTree = ""; }; + 68C394C900C567B67F000001 /* UDPDemuxer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UDPDemuxer.h; sourceTree = ""; }; + 68C394CA00C567B67F000001 /* UDPSocket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UDPSocket.h; sourceTree = ""; }; + 68C394CB00C567B67F000001 /* UDPSocketPool.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UDPSocketPool.h; sourceTree = ""; }; + 68C394CC00C567B67F000001 /* UserAgentParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UserAgentParser.h; sourceTree = ""; }; + 68C394CE00C567B67F000001 /* base64.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = base64.c; sourceTree = ""; }; + 68C394CF00C567B67F000001 /* getopt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = getopt.c; sourceTree = ""; }; + 68C394D000C567B67F000001 /* GetWord.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = GetWord.c; sourceTree = ""; }; + 68C394D100C567B67F000001 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = ""; }; + 68C394D200C567B67F000001 /* Trim.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = Trim.c; sourceTree = ""; }; + 68C394E100C567B67F000001 /* OSMemory_Modules.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSMemory_Modules.cpp; sourceTree = ""; }; + 68C394EA00C567B67F000001 /* QTSSAccessLogModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSAccessLogModule.cpp; sourceTree = ""; }; + 68C394EC00C567B67F000001 /* QTSSAccessLogModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSAccessLogModule.h; sourceTree = ""; }; + 68C394F500C567B67F000001 /* QTSSFileModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSFileModule.cpp; sourceTree = ""; }; + 68C394F700C567B67F000001 /* QTSSFileModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSFileModule.h; sourceTree = ""; }; + 68C3950000C567B67F000001 /* QTSSReflectorModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSReflectorModule.cpp; sourceTree = ""; }; + 68C3950100C567B67F000001 /* QTSSRelayModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSRelayModule.cpp; sourceTree = ""; }; + 68C3950200C567B67F000001 /* QTSSSplitterModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSSplitterModule.cpp; sourceTree = ""; }; + 68C3950300C567B67F000001 /* RCFSourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RCFSourceInfo.cpp; sourceTree = ""; }; + 68C3950400C567B67F000001 /* ReflectorSession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ReflectorSession.cpp; sourceTree = ""; }; + 68C3950500C567B67F000001 /* ReflectorStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ReflectorStream.cpp; sourceTree = ""; }; + 68C3950600C567B67F000001 /* RelayOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RelayOutput.cpp; sourceTree = ""; }; + 68C3950700C567B67F000001 /* RelaySDPSourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RelaySDPSourceInfo.cpp; sourceTree = ""; }; + 68C3950800C567B67F000001 /* RTPSessionOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPSessionOutput.cpp; sourceTree = ""; }; + 68C3950900C567B67F000001 /* RTSPSourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPSourceInfo.cpp; sourceTree = ""; }; + 68C3950A00C567B67F000001 /* SequenceNumberMap.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SequenceNumberMap.cpp; sourceTree = ""; }; + 68C3950C00C567B67F000001 /* QTSSReflectorModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSReflectorModule.h; sourceTree = ""; }; + 68C3950D00C567B67F000001 /* QTSSRelayModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSRelayModule.h; sourceTree = ""; }; + 68C3950E00C567B67F000001 /* QTSSSplitterModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSSplitterModule.h; sourceTree = ""; }; + 68C3950F00C567B67F000001 /* RCFSourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RCFSourceInfo.h; sourceTree = ""; }; + 68C3951000C567B67F000001 /* ReflectorOutput.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ReflectorOutput.h; sourceTree = ""; }; + 68C3951100C567B67F000001 /* ReflectorSession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ReflectorSession.h; sourceTree = ""; }; + 68C3951200C567B67F000001 /* ReflectorStream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ReflectorStream.h; sourceTree = ""; }; + 68C3951300C567B67F000001 /* RelayOutput.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RelayOutput.h; sourceTree = ""; }; + 68C3951400C567B67F000001 /* RelaySDPSourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RelaySDPSourceInfo.h; sourceTree = ""; }; + 68C3951500C567B67F000001 /* RTPSessionOutput.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPSessionOutput.h; sourceTree = ""; }; + 68C3951600C567B67F000001 /* RTSPSourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPSourceInfo.h; sourceTree = ""; }; + 68C3951700C567B67F000001 /* SequenceNumberMap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SequenceNumberMap.h; sourceTree = ""; }; + 68C3952000C567B67F000001 /* QTSSFlowControlModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSFlowControlModule.cpp; sourceTree = ""; }; + 68C3952200C567B67F000001 /* QTSSFlowControlModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSFlowControlModule.h; sourceTree = ""; }; + 68C3952B00C567B67F000001 /* QTSSWebDebugModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSWebDebugModule.cpp; sourceTree = ""; }; + 68C3952D00C567B67F000001 /* QTSSWebDebugModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSWebDebugModule.h; sourceTree = ""; }; + 68C3953600C567B67F000001 /* QTSSWebStatsModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSWebStatsModule.cpp; sourceTree = ""; }; + 68C3953800C567B67F000001 /* QTSSWebStatsModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSWebStatsModule.h; sourceTree = ""; }; + 68C3954100C567B67F000001 /* QTSSSpamDefenseModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSSpamDefenseModule.cpp; sourceTree = ""; }; + 68C3954300C567B67F000001 /* QTSSSpamDefenseModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSSpamDefenseModule.h; sourceTree = ""; }; + 68C3954C00C567B67F000001 /* QTSSRawFileModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSRawFileModule.cpp; sourceTree = ""; }; + 68C3954E00C567B67F000001 /* QTSSRawFileModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSRawFileModule.h; sourceTree = ""; }; + 68C3955700C567B67F000001 /* QTSSFilePrivsModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSFilePrivsModule.cpp; sourceTree = ""; }; + 68C3955900C567B67F000001 /* QTSSFilePrivsModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSFilePrivsModule.h; sourceTree = ""; }; + 68C3956F00C567B67F000001 /* QTSSPosixFileSysModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSPosixFileSysModule.cpp; sourceTree = ""; }; + 68C3957100C567B67F000001 /* QTSSPosixFileSysModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSPosixFileSysModule.h; sourceTree = ""; }; + 68C3957A00C567B67F000001 /* QTSSDemoSMILModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSDemoSMILModule.cpp; sourceTree = ""; }; + 68C3957C00C567B67F000001 /* QTSSDemoSMILModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSDemoSMILModule.h; sourceTree = ""; }; + 68C3958500C567B67F000001 /* AdminElementNode.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AdminElementNode.cpp; sourceTree = ""; }; + 68C3958600C567B67F000001 /* AdminQuery.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AdminQuery.cpp; sourceTree = ""; }; + 68C3958700C567B67F000001 /* QTSSAdminModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSAdminModule.cpp; sourceTree = ""; }; + 68C3958900C567B67F000001 /* AdminElementNode.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AdminElementNode.h; sourceTree = ""; }; + 68C3958A00C567B67F000001 /* AdminQuery.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AdminQuery.h; sourceTree = ""; }; + 68C3958B00C567B67F000001 /* QTSSAdminModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSAdminModule.h; sourceTree = ""; }; + 68C3959400C567B77F000001 /* QTSSHttpFileModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSHttpFileModule.cpp; sourceTree = ""; }; + 68C3959600C567B77F000001 /* QTSSHttpFileModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSHttpFileModule.h; sourceTree = ""; }; + 68C3959F00C567B77F000001 /* QTSSRTPFileModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSRTPFileModule.cpp; sourceTree = ""; }; + 68C395A000C567B77F000001 /* RTPFileSession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPFileSession.cpp; sourceTree = ""; }; + 68C395A200C567B77F000001 /* QTSSRTPFileModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSRTPFileModule.h; sourceTree = ""; }; + 68C395A300C567B77F000001 /* RTPFileSession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPFileSession.h; sourceTree = ""; }; + 68C395AC00C567B77F000001 /* AccessChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AccessChecker.cpp; sourceTree = ""; }; + 68C395AD00C567B77F000001 /* QTSSAccessModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSAccessModule.cpp; sourceTree = ""; }; + 68C395AF00C567B77F000001 /* AccessChecker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AccessChecker.h; sourceTree = ""; }; + 68C395B000C567B77F000001 /* QTSSAccessModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSAccessModule.h; sourceTree = ""; }; + 68C395B900C567B77F000001 /* OSMemory.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OSMemory.cpp; sourceTree = ""; }; + 68C395C200C567B77F000001 /* RTCPAckPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPAckPacket.cpp; sourceTree = ""; }; + 68C395C300C567B77F000001 /* RTCPAPPPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPAPPPacket.cpp; sourceTree = ""; }; + 68C395C400C567B77F000001 /* RTCPPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPPacket.cpp; sourceTree = ""; }; + 68C395C500C567B77F000001 /* RTCPSRPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTCPSRPacket.cpp; sourceTree = ""; }; + 68C395C700C567B77F000001 /* RTCPAckPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPAckPacket.h; sourceTree = ""; }; + 68C395C800C567B77F000001 /* RTCPAPPPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPAPPPacket.h; sourceTree = ""; }; + 68C395C900C567B77F000001 /* RTCPPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPPacket.h; sourceTree = ""; }; + 68C395CA00C567B77F000001 /* RTCPSRPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTCPSRPacket.h; sourceTree = ""; }; + 68C395D300C567B77F000001 /* FilePrefsSource.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FilePrefsSource.cpp; sourceTree = ""; }; + 68C395D600C567B77F000001 /* XMLPrefsParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = XMLPrefsParser.cpp; sourceTree = ""; }; + 68C395D800C567B77F000001 /* FilePrefsSource.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FilePrefsSource.h; sourceTree = ""; }; + 68C395DB00C567B77F000001 /* PrefsSource.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PrefsSource.h; sourceTree = ""; }; + 68C395DD00C567B77F000001 /* XMLPrefsParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLPrefsParser.h; sourceTree = ""; }; + 68C395E800C567B77F000001 /* QTSS_Private.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSS_Private.cpp; sourceTree = ""; }; + 68C395EA00C567B77F000001 /* QTSS.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSS.h; sourceTree = ""; }; + 68C395EB00C567B77F000001 /* QTSSRTSPProtocol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSRTSPProtocol.h; sourceTree = ""; }; + 68C395EC00C567B77F000001 /* QTSS_Private.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSS_Private.h; sourceTree = ""; }; + 68C395F500C567B77F000001 /* HTTPProtocol.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPProtocol.cpp; sourceTree = ""; }; + 68C395F600C567B77F000001 /* HTTPRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPRequest.cpp; sourceTree = ""; }; + 68C395F800C567B77F000001 /* HTTPProtocol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HTTPProtocol.h; sourceTree = ""; }; + 68C395F900C567B77F000001 /* HTTPRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HTTPRequest.h; sourceTree = ""; }; + 68C3960200C567B77F000001 /* RTPMetaInfoPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTPMetaInfoPacket.cpp; sourceTree = ""; }; + 68C3960400C567B77F000001 /* RTPMetaInfoPacket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTPMetaInfoPacket.h; sourceTree = ""; }; + 68C3960D00C567B77F000001 /* QTAtom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom.cpp; sourceTree = ""; }; + 68C3960E00C567B77F000001 /* QTAtom_dref.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_dref.cpp; sourceTree = ""; }; + 68C3960F00C567B77F000001 /* QTAtom_elst.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_elst.cpp; sourceTree = ""; }; + 68C3961000C567B77F000001 /* QTAtom_hinf.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_hinf.cpp; sourceTree = ""; }; + 68C3961100C567B77F000001 /* QTAtom_mdhd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_mdhd.cpp; sourceTree = ""; }; + 68C3961200C567B77F000001 /* QTAtom_mvhd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_mvhd.cpp; sourceTree = ""; }; + 68C3961300C567B77F000001 /* QTAtom_stco.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_stco.cpp; sourceTree = ""; }; + 68C3961400C567B77F000001 /* QTAtom_stsc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_stsc.cpp; sourceTree = ""; }; + 68C3961500C567B77F000001 /* QTAtom_stsd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_stsd.cpp; sourceTree = ""; }; + 68C3961600C567B77F000001 /* QTAtom_stss.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_stss.cpp; sourceTree = ""; }; + 68C3961700C567B77F000001 /* QTAtom_stsz.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_stsz.cpp; sourceTree = ""; }; + 68C3961800C567B77F000001 /* QTAtom_stts.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_stts.cpp; sourceTree = ""; }; + 68C3961900C567B77F000001 /* QTAtom_tkhd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_tkhd.cpp; sourceTree = ""; }; + 68C3961A00C567B77F000001 /* QTAtom_tref.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAtom_tref.cpp; sourceTree = ""; }; + 68C3961B00C567B77F000001 /* QTFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTFile.cpp; sourceTree = ""; }; + 68C3961C00C567B77F000001 /* QTFile_FileControlBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTFile_FileControlBlock.cpp; sourceTree = ""; }; + 68C3961D00C567B77F000001 /* QTHintTrack.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTHintTrack.cpp; sourceTree = ""; }; + 68C3961E00C567B77F000001 /* QTRTPFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTRTPFile.cpp; sourceTree = ""; }; + 68C3961F00C567B77F000001 /* QTTrack.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTTrack.cpp; sourceTree = ""; }; + 68C3962100C567B77F000001 /* QTAtom.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom.h; sourceTree = ""; }; + 68C3962200C567B77F000001 /* QTAtom_dref.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_dref.h; sourceTree = ""; }; + 68C3962300C567B77F000001 /* QTAtom_elst.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_elst.h; sourceTree = ""; }; + 68C3962400C567B77F000001 /* QTAtom_hinf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_hinf.h; sourceTree = ""; }; + 68C3962500C567B77F000001 /* QTAtom_mdhd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_mdhd.h; sourceTree = ""; }; + 68C3962600C567B77F000001 /* QTAtom_mvhd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_mvhd.h; sourceTree = ""; }; + 68C3962700C567B77F000001 /* QTAtom_stco.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_stco.h; sourceTree = ""; }; + 68C3962800C567B77F000001 /* QTAtom_stsc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_stsc.h; sourceTree = ""; }; + 68C3962900C567B77F000001 /* QTAtom_stsd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_stsd.h; sourceTree = ""; }; + 68C3962A00C567B77F000001 /* QTAtom_stss.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_stss.h; sourceTree = ""; }; + 68C3962B00C567B77F000001 /* QTAtom_stsz.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_stsz.h; sourceTree = ""; }; + 68C3962C00C567B77F000001 /* QTAtom_stts.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_stts.h; sourceTree = ""; }; + 68C3962D00C567B77F000001 /* QTAtom_tkhd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_tkhd.h; sourceTree = ""; }; + 68C3962E00C567B77F000001 /* QTAtom_tref.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAtom_tref.h; sourceTree = ""; }; + 68C3962F00C567B77F000001 /* QTFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTFile.h; sourceTree = ""; }; + 68C3963000C567B77F000001 /* QTFile_FileControlBlock.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTFile_FileControlBlock.h; sourceTree = ""; }; + 68C3963100C567B77F000001 /* QTHintTrack.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTHintTrack.h; sourceTree = ""; }; + 68C3963200C567B77F000001 /* QTRTPFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTRTPFile.h; sourceTree = ""; }; + 68C3963300C567B77F000001 /* QTTrack.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTTrack.h; sourceTree = ""; }; + 68C3963C00C567B77F000001 /* QTAccessFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTAccessFile.cpp; sourceTree = ""; }; + 68C3963D00C567B77F000001 /* QTSSModuleUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSModuleUtils.cpp; sourceTree = ""; }; + 68C3963E00C567B77F000001 /* QTSSRollingLog.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSRollingLog.cpp; sourceTree = ""; }; + 68C3963F00C567B77F000001 /* SDPSourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SDPSourceInfo.cpp; sourceTree = ""; }; + 68C3964000C567B77F000001 /* SourceInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SourceInfo.cpp; sourceTree = ""; }; + 68C3964200C567B77F000001 /* QTAccessFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTAccessFile.h; sourceTree = ""; }; + 68C3964300C567B77F000001 /* QTSSModuleUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSModuleUtils.h; sourceTree = ""; }; + 68C3964400C567B77F000001 /* QTSSRollingLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSRollingLog.h; sourceTree = ""; }; + 68C3964500C567B77F000001 /* SDPSourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDPSourceInfo.h; sourceTree = ""; }; + 68C3964600C567B77F000001 /* SourceInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SourceInfo.h; sourceTree = ""; }; + 68C3964F00C567B77F000001 /* ClientSession.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ClientSession.cpp; sourceTree = ""; }; + 68C3965000C567B77F000001 /* ClientSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ClientSocket.cpp; sourceTree = ""; }; + 68C3965100C567B77F000001 /* RTSPClient.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RTSPClient.cpp; sourceTree = ""; }; + 68C3965300C567B77F000001 /* ClientSession.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClientSession.h; sourceTree = ""; }; + 68C3965400C567B77F000001 /* ClientSocket.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClientSocket.h; sourceTree = ""; }; + 68C3965500C567B77F000001 /* RTSPClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RTSPClient.h; sourceTree = ""; }; + 68C3965E00C567B77F000001 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 68C3967A00C567B77F000001 /* libTestQTFileLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libTestQTFileLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C3969C00C567B77F000001 /* libAtomicLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libAtomicLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libCommonUtilitiesLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libOSMemory_Modules.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C3969F00C567B77F000001 /* libQTSSAccessLogModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSAccessLogModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396A000C567B77F000001 /* libQTSSFileModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSFileModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396A100C567B77F000001 /* libQTSSReflectorModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSReflectorModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396A200C567B77F000001 /* libQTSSFlowControlModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSFlowControlModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396A300C567B77F000001 /* libQTSSWebDebugModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSWebDebugModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396A900C567B77F000001 /* libQTSSPOSIXFileSysModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSPOSIXFileSysModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396AB00C567B77F000001 /* libQTSSAdminModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSAdminModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396AE00C567B77F000001 /* libQTSSAccessModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSAccessModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396AF00C567B77F000001 /* libOSMemoryLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libOSMemoryLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libRTCPUtilitiesLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B100C567B77F000001 /* libPrefsSourceLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libPrefsSourceLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B200C567B77F000001 /* libAPIStubLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libAPIStubLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libHTTPUtilitiesLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libRTPMetaInfoLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B500C567B77F000001 /* libQTFileLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTFileLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B600C567B77F000001 /* libAPICommonCode.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libAPICommonCode.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C396B700C567B77F000001 /* libRTSPClientLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libRTSPClientLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C39ADF00C5A41F7F000001 /* get_opt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = get_opt.h; sourceTree = ""; }; + 68C39AE000C5A41F7F000001 /* get_opt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = get_opt.c; sourceTree = ""; }; + 8425759F0C334F9300813FC9 /* OpenDirectory.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = OpenDirectory.framework; path = /System/Library/PrivateFrameworks/OpenDirectory.framework; sourceTree = ""; }; + 84413B8909D9FEBB00F2EB8C /* ev.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ev.cpp; sourceTree = ""; }; + 846E9B7D0728600F00E7A587 /* change_broadcast_password.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = change_broadcast_password.html; path = WebAdmin/WebAdminHtml/change_broadcast_password.html; sourceTree = SOURCE_ROOT; }; + 84CE3C490CEE607F0056DB85 /* libQTSSDSAuthModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libQTSSDSAuthModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B62C45C5012B21870BDD2A6C /* libQTSSMP3StreamingModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSMP3StreamingModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B62C45CB012B24BD0BDD2A6C /* QTSSMP3StreamingModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = QTSSMP3StreamingModule.cpp; path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp; sourceTree = ""; }; + B62C45CE012B253B0BDD2A6C /* QTSSMP3StreamingModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = QTSSMP3StreamingModule.h; path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.h; sourceTree = ""; }; + B6494F950279F74E0BDD2A6C /* QTSSRefMovieModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSRefMovieModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + B6494F9E0279F88D0BDD2A6C /* QTSSRefMovieModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = QTSSRefMovieModule.cpp; path = QTSSRefMovieModule/QTSSRefMovieModule.cpp; sourceTree = ""; }; + B6494F9F0279F88D0BDD2A6C /* QTSSRefMovieModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = QTSSRefMovieModule.h; path = QTSSRefMovieModule/QTSSRefMovieModule.h; sourceTree = ""; }; + B649D5CA02B97F160BDD2A6C /* StreamingProxyServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = StreamingProxyServer; sourceTree = BUILT_PRODUCTS_DIR; }; + B66082C20337F1DF0BDD2A6C /* defaultPaths.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = defaultPaths.h; sourceTree = ""; }; + B6DC97FC02FB2EAB0BDD2A6C /* libQTSSProxyModule.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTSSProxyModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B6DC97FE02FB30350BDD2A6C /* QTSSProxyModule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = QTSSProxyModule.cpp; sourceTree = ""; }; + B6DC97FF02FB30350BDD2A6C /* QTSSProxyModule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSProxyModule.h; sourceTree = ""; }; + DB5FB4CD07C4336500A894EA /* createuserstreamingdir.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; name = createuserstreamingdir.8; path = Documentation/man/qtss/createuserstreamingdir.8; sourceTree = ""; }; + DB5FB4CE07C4336500A894EA /* MP3Broadcaster.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; name = MP3Broadcaster.1; path = Documentation/man/qtss/MP3Broadcaster.1; sourceTree = ""; }; + DB5FB4CF07C4336500A894EA /* PlaylistBroadcaster.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; name = PlaylistBroadcaster.1; path = Documentation/man/qtss/PlaylistBroadcaster.1; sourceTree = ""; }; + DB5FB4D007C4336500A894EA /* qtpasswd.1 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.man; name = qtpasswd.1; path = Documentation/man/qtss/qtpasswd.1; sourceTree = ""; }; + DB5FB4D107C4336500A894EA /* QuickTimeStreamingServer.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; name = QuickTimeStreamingServer.8; path = Documentation/man/qtss/QuickTimeStreamingServer.8; sourceTree = ""; }; + DB5FB4D207C4336500A894EA /* streamingadminserver.pl.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; name = streamingadminserver.pl.8; path = Documentation/man/qtss/streamingadminserver.pl.8; sourceTree = ""; }; + DB5FB4D307C4336500A894EA /* StreamingLoadTool.8 */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; name = StreamingLoadTool.8; path = Documentation/man/qtss/StreamingLoadTool.8; sourceTree = ""; }; + E9013524018645DE09DD2838 /* scroll_arrow_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = scroll_arrow_down.gif; path = WebAdmin/WebAdminHtml/images/scroll_arrow_down.gif; sourceTree = SOURCE_ROOT; }; + E9013525018645DE09DD2838 /* scroll_arrow_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = scroll_arrow_up.gif; path = WebAdmin/WebAdminHtml/images/scroll_arrow_up.gif; sourceTree = SOURCE_ROOT; }; + E9013526018645DE09DD2838 /* scroll_bg.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = scroll_bg.gif; path = WebAdmin/WebAdminHtml/images/scroll_bg.gif; sourceTree = SOURCE_ROOT; }; + E9013527018645DE09DD2838 /* scroll_bg_inactive.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = scroll_bg_inactive.gif; path = WebAdmin/WebAdminHtml/images/scroll_bg_inactive.gif; sourceTree = SOURCE_ROOT; }; + E9013528018645DE09DD2838 /* scroll_thumb.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = scroll_thumb.gif; path = WebAdmin/WebAdminHtml/images/scroll_thumb.gif; sourceTree = SOURCE_ROOT; }; + E9029E240188C0DA09DD2838 /* icon_start_playlist.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_start_playlist.gif; path = WebAdmin/WebAdminHtml/images/icon_start_playlist.gif; sourceTree = SOURCE_ROOT; }; + E9029E260188C10709DD2838 /* icon_stop_playlist.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_stop_playlist.gif; path = WebAdmin/WebAdminHtml/images/icon_stop_playlist.gif; sourceTree = SOURCE_ROOT; }; + E90CD037016133D009DD2838 /* sort_arrow_desc.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = sort_arrow_desc.gif; path = WebAdmin/WebAdminHtml/images/sort_arrow_desc.gif; sourceTree = SOURCE_ROOT; }; + E90CD039016133F209DD2838 /* icon_error.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_error.gif; path = WebAdmin/WebAdminHtml/images/icon_error.gif; sourceTree = SOURCE_ROOT; }; + E90CF1AB014FDE2709DD2838 /* change_mp3_password.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = change_mp3_password.html; path = WebAdmin/WebAdminHtml/change_mp3_password.html; sourceTree = SOURCE_ROOT; }; + E924776E01C6CFD209DD2838 /* MapUTF.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; name = MapUTF.pl; path = WebAdmin/WebAdminHtml/MapUTF.pl; sourceTree = SOURCE_ROOT; }; + E93941050291C82409DD2838 /* password-utils.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; name = "password-utils.pl"; path = "WebAdmin/WebAdminHtml/password-utils.pl"; sourceTree = SOURCE_ROOT; }; + E93DD2F0027876B609DD2838 /* users.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = users.html; path = WebAdmin/WebAdminHtml/users.html; sourceTree = SOURCE_ROOT; }; + E9423B930146CCCF09DD2838 /* relayxmlparser.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; name = relayxmlparser.pl; path = WebAdmin/WebAdminHtml/relayxmlparser.pl; sourceTree = SOURCE_ROOT; }; + E957C41901454E2009DD2838 /* index.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = index.html; path = WebAdmin/WebAdminHtml/index.html; sourceTree = SOURCE_ROOT; }; + E95AB76D013AC8BF09DD2838 /* change_password.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = change_password.html; path = WebAdmin/WebAdminHtml/change_password.html; sourceTree = SOURCE_ROOT; }; + E96314AC013B155309DD2838 /* log_settings.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = log_settings.html; path = WebAdmin/WebAdminHtml/log_settings.html; sourceTree = SOURCE_ROOT; }; + E96314AD013B155309DD2838 /* ports.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = ports.html; path = WebAdmin/WebAdminHtml/ports.html; sourceTree = SOURCE_ROOT; }; + E9686BA401B2D0D209DD2838 /* setup_assistant5.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = setup_assistant5.html; path = WebAdmin/WebAdminHtml/setup_assistant5.html; sourceTree = SOURCE_ROOT; }; + E978DC40017F827C09DD2838 /* change_password_redirect.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = change_password_redirect.html; path = WebAdmin/WebAdminHtml/change_password_redirect.html; sourceTree = SOURCE_ROOT; }; + E97D18EC0150316E09DD2838 /* genres */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = genres; path = WebAdmin/WebAdminHtml/html_en/genres; sourceTree = SOURCE_ROOT; }; + E97F11EE04313E7C09DD2838 /* start_broadcaster.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = start_broadcaster.html; sourceTree = ""; }; + E97F11F004313E8A09DD2838 /* restart_broadcaster.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = restart_broadcaster.html; sourceTree = ""; }; + E98933B602F6140609DD2838 /* broadcaster_lib.pl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.perl; name = broadcaster_lib.pl; path = WebAdmin/WebAdminHtml/broadcaster_lib.pl; sourceTree = SOURCE_ROOT; }; + E98933B702F6140609DD2838 /* broadcaster_settings.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = broadcaster_settings.html; path = WebAdmin/WebAdminHtml/broadcaster_settings.html; sourceTree = SOURCE_ROOT; }; + E98FD95C02F5BC3309DD2838 /* QTSS Web Admin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; path = "QTSS Web Admin.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + E98FD96002F5BCF209DD2838 /* QTSS Admin app.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = "QTSS Admin app.icns"; path = "WebAdmin/QTSSLinkApp/QTSS Admin app.icns"; sourceTree = SOURCE_ROOT; }; + E98FD96A02F5BD6309DD2838 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + E98FD97102F5BD9609DD2838 /* qtsslinkapp_main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = qtsslinkapp_main.m; path = WebAdmin/QTSSLinkApp/qtsslinkapp_main.m; sourceTree = SOURCE_ROOT; }; + E98FF20A01860AAB09DD2838 /* icon_generic.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_generic.gif; path = WebAdmin/WebAdminHtml/images/icon_generic.gif; sourceTree = SOURCE_ROOT; }; + E9A7DCF2015180FB09FF1BBE /* link.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = link.gif; path = WebAdmin/WebAdminHtml/images/link.gif; sourceTree = SOURCE_ROOT; }; + E9A7DCF3015180FB09FF1BBE /* link_disabled.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = link_disabled.gif; path = WebAdmin/WebAdminHtml/images/link_disabled.gif; sourceTree = SOURCE_ROOT; }; + E9ACCA5C013C317B09DD2838 /* error_log.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = error_log.html; path = WebAdmin/WebAdminHtml/error_log.html; sourceTree = SOURCE_ROOT; }; + E9ACCA5E013C52EB09DD2838 /* access_log.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = access_log.html; path = WebAdmin/WebAdminHtml/access_log.html; sourceTree = SOURCE_ROOT; }; + E9BA8EEF027A14D009DD2838 /* icon_user.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_user.gif; path = WebAdmin/WebAdminHtml/images/icon_user.gif; sourceTree = SOURCE_ROOT; }; + E9BA8EF1027A14D909DD2838 /* icon_group.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_group.gif; path = WebAdmin/WebAdminHtml/images/icon_group.gif; sourceTree = SOURCE_ROOT; }; + E9E2F95501C9716509DD2838 /* encode_unicode.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = encode_unicode.js; path = WebAdmin/WebAdminHtml/includes/encode_unicode.js; sourceTree = SOURCE_ROOT; }; + E9E7E9C4016BDDD509DD2838 /* start_server.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = start_server.html; path = WebAdmin/WebAdminHtml/start_server.html; sourceTree = SOURCE_ROOT; }; + E9EC923C0137107609DD2838 /* general_settings.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = general_settings.html; path = WebAdmin/WebAdminHtml/general_settings.html; sourceTree = SOURCE_ROOT; }; + F50DFC10025357EB01F41924 /* SDPUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SDPUtils.cpp; sourceTree = ""; }; + F50DFC11025357EB01F41924 /* SDPUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SDPUtils.h; sourceTree = ""; }; + F532558B0288434401DD2B50 /* QTSSMemoryDeleter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = QTSSMemoryDeleter.h; sourceTree = ""; }; + F533DA8C011744B601DD292F /* BroadcasterMain.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BroadcasterMain.cpp; sourceTree = ""; }; + F533DA8D011744B601DD292F /* MP3Broadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MP3Broadcaster.cpp; sourceTree = ""; }; + F533DA8E011744B601DD292F /* MP3Broadcaster.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MP3Broadcaster.h; sourceTree = ""; }; + F533DA8F011744B601DD292F /* MP3BroadcasterLog.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MP3BroadcasterLog.cpp; sourceTree = ""; }; + F533DA90011744B601DD292F /* MP3BroadcasterLog.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MP3BroadcasterLog.h; sourceTree = ""; }; + F533DA91011744B601DD292F /* MP3FileBroadcaster.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MP3FileBroadcaster.cpp; sourceTree = ""; }; + F533DA92011744B601DD292F /* MP3FileBroadcaster.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MP3FileBroadcaster.h; sourceTree = ""; }; + F533DA93011744B601DD292F /* MP3MetaInfoUpdater.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MP3MetaInfoUpdater.cpp; sourceTree = ""; }; + F533DA94011744B601DD292F /* MP3MetaInfoUpdater.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MP3MetaInfoUpdater.h; sourceTree = ""; }; + F533DA95011744B601DD292F /* MP3Broadcaster */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = MP3Broadcaster; sourceTree = BUILT_PRODUCTS_DIR; }; + F551E69C013818ED01000102 /* confirm.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = confirm.html; path = WebAdmin/WebAdminHtml/confirm.html; sourceTree = SOURCE_ROOT; }; + F5610DA501B5C81301DD2F6B /* dialog_side.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = dialog_side.gif; path = WebAdmin/WebAdminHtml/images/dialog_side.gif; sourceTree = SOURCE_ROOT; }; + F568F9780254EE28010001C8 /* nav_logo_small.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = nav_logo_small.gif; path = WebAdmin/WebAdminHtml/images/nav_logo_small.gif; sourceTree = SOURCE_ROOT; }; + F56B5A600278ADD701DD2AFC /* QuickTimeStreamingServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; path = QuickTimeStreamingServer; sourceTree = BUILT_PRODUCTS_DIR; }; + F56CBE630136D97301000102 /* weight_up_arrow.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = weight_up_arrow.gif; path = WebAdmin/WebAdminHtml/images/weight_up_arrow.gif; sourceTree = SOURCE_ROOT; }; + F56CBE640136D97301000102 /* wieght_down_arrow.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = wieght_down_arrow.gif; path = WebAdmin/WebAdminHtml/images/wieght_down_arrow.gif; sourceTree = SOURCE_ROOT; }; + F56EA4BE0199D17E0100010F /* relay_status.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = relay_status.html; path = WebAdmin/WebAdminHtml/relay_status.html; sourceTree = SOURCE_ROOT; }; + F574E248015FE06F01000127 /* playlist_error_log.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = playlist_error_log.html; path = WebAdmin/WebAdminHtml/playlist_error_log.html; sourceTree = SOURCE_ROOT; }; + F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libSafeInternalStdLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libSafeDynamicModuleStdLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + F57EED2E027E9EDD01FF7AB9 /* SafeStdLib.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SafeStdLib.h; sourceTree = ""; }; + F57EED30027E9EDD01FF7AB9 /* DynamicModuleStdLib.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = DynamicModuleStdLib.cpp; path = SafeStdLib/DynamicModuleStdLib.cpp; sourceTree = ""; }; + F57EED31027E9EDD01FF7AB9 /* InternalStdLib.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = InternalStdLib.cpp; path = SafeStdLib/InternalStdLib.cpp; sourceTree = ""; }; + F596A33B019319300189D339 /* nav_help.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = nav_help.gif; path = WebAdmin/WebAdminHtml/images/nav_help.gif; sourceTree = SOURCE_ROOT; }; + F59F642C01449BDF01000104 /* relay_targets.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = relay_targets.html; path = WebAdmin/WebAdminHtml/relay_targets.html; sourceTree = SOURCE_ROOT; }; + F59F642D01449BDF01000104 /* relay_details_default.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = relay_details_default.html; path = WebAdmin/WebAdminHtml/relay_details_default.html; sourceTree = SOURCE_ROOT; }; + F59F642E01449BDF01000104 /* relay_details.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = relay_details.html; path = WebAdmin/WebAdminHtml/relay_details.html; sourceTree = SOURCE_ROOT; }; + F59F642F01449BDF01000104 /* relay.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = relay.html; path = WebAdmin/WebAdminHtml/relay.html; sourceTree = SOURCE_ROOT; }; + F59F64340144BCEA01000104 /* setup_assistant2.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = setup_assistant2.html; path = WebAdmin/WebAdminHtml/setup_assistant2.html; sourceTree = SOURCE_ROOT; }; + F59F64350144BCEA01000104 /* setup_assistant3.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = setup_assistant3.html; path = WebAdmin/WebAdminHtml/setup_assistant3.html; sourceTree = SOURCE_ROOT; }; + F59F64360144BCEA01000104 /* setup_assistant4.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; name = setup_assistant4.html; path = WebAdmin/WebAdminHtml/setup_assistant4.html; sourceTree = SOURCE_ROOT; }; + F5C07FA60415973001DD2E7A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = ""; }; + F5C3E6EB017CFE24010001C8 /* icon_doc.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = icon_doc.gif; path = WebAdmin/WebAdminHtml/images/icon_doc.gif; sourceTree = SOURCE_ROOT; }; + F5C7F02601B6CE3401DD2F6B /* nav_logo.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; name = nav_logo.gif; path = WebAdmin/WebAdminHtml/images/nav_logo.gif; sourceTree = SOURCE_ROOT; }; + F5E91D0D027758E801DD2AFC /* QTSSAccessModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSAccessModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D1F02775B5D01DD2AFC /* QTSSFileModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSFileModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D2F02775C5601DD2AFC /* QTSSAccessLogModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSAccessLogModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D3002775C5601DD2AFC /* QTSSReflectorModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSReflectorModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D6602775D2501DD2AFC /* QTSSFlowControlModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSFlowControlModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D6702775D2501DD2AFC /* QTSSWebDebugModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSWebDebugModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D6802775D2501DD2AFC /* QTSSWebStatsModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSWebStatsModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91D9D02775EEB01DD2AFC /* QTSSPosixFileSysModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSPosixFileSysModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91DA60277603301DD2AFC /* QTSSAdminModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSAdminModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91DA70277603301DD2AFC /* QTSSHttpFileModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSHttpFileModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5E91DA80277603301DD2AFC /* QTSSRTPFileModule.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = QTSSRTPFileModule.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + F5EF9AEF01235DC301DD292F /* atomic.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = atomic.cpp; path = CommonUtilitiesLib/atomic.cpp; sourceTree = SOURCE_ROOT; }; + F6A48AED02390D0401000103 /* libQTFileExternalLib.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; path = libQTFileExternalLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; + FB776EE607DCFD4C00C0B6CE /* sample_h264_300kbit.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = sample_h264_300kbit.mp4; sourceTree = ""; }; + FB776EE707DCFD4C00C0B6CE /* sample_h264_100kbit.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = sample_h264_100kbit.mp4; sourceTree = ""; }; + FB776EE907DCFD4C00C0B6CE /* sample_h264_1mbit.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = sample_h264_1mbit.mp4; sourceTree = ""; }; + FB776F0007DD002400C0B6CE /* sample_50kbit.3gp */ = {isa = PBXFileReference; lastKnownFileType = file; path = sample_50kbit.3gp; sourceTree = ""; }; + FBCB7F580507F2D100A273B4 /* createuserstreamingdir */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.sh; name = createuserstreamingdir; path = QTSSHomeDirectoryModule/createuserstreamingdir; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 000DA9E70135948600DD2B4F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 52E30B0B041DD13500FFB433 = { + 004E288E025B787100DD2B50 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 004E2896025B79F700DD2B50 /* Foundation.framework in Frameworks */, + F57EED49027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 004E2897025B79F700DD2B50 /* libCommonUtilitiesLib.a in Frameworks */, + 004E2898025B79F700DD2B50 /* libOSMemory_Modules.a in Frameworks */, + 004E2899025B79F700DD2B50 /* libAPIStubLib.a in Frameworks */, + 004E289B025B79F700DD2B50 /* libRTPMetaInfoLib.a in Frameworks */, + 004E289A025B79F700DD2B50 /* libAPICommonCode.a in Frameworks */, ); - isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 52E30B0C041DD13500FFB433 = { + 00E5906B00F4DD0500DD2B4C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 52E30B11041DD21600FFB433, + 00E5906D00F4DD0500DD2B4C /* Foundation.framework in Frameworks */, + F57EED60027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 00B8FC1700F4E32D00DD2B4C /* libAtomicLib.a in Frameworks */, + 00E5906E00F4DD0500DD2B4C /* libCommonUtilitiesLib.a in Frameworks */, + 00E5906F00F4DD0500DD2B4C /* libPrefsSourceLib.a in Frameworks */, + 00E5907000F4DD0500DD2B4C /* libRTPMetaInfoLib.a in Frameworks */, + 00E5907100F4DD0500DD2B4C /* libAPICommonCode.a in Frameworks */, + 00E5907200F4DD0500DD2B4C /* libRTSPClientLib.a in Frameworks */, + 00E5907500F4DD2C00DD2B4C /* libOSMemoryLib.a in Frameworks */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 52E30B0D041DD13500FFB433 = { + 484082A203D78E0900DD2838 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 52E30B15041DD22700FFB433, - 52E30B18041DD22B00FFB433, - 52E30B19041DD23100FFB433, + 484082B403D78E5D00DD2838 /* Foundation.framework in Frameworks */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 52E30B0E041DD13500FFB433 = { + 523575E90C33A0890098823D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 523575EA0C33A0890098823D /* Foundation.framework in Frameworks */, + 523575EB0C33A0890098823D /* Security.framework in Frameworks */, + 523575EC0C33A0890098823D /* DirectoryService.framework in Frameworks */, + 523575ED0C33A0890098823D /* OpenDirectory.framework in Frameworks */, + 523575EE0C33A0890098823D /* libSafeInternalStdLib.a in Frameworks */, + 523575EF0C33A0890098823D /* libOSMemoryLib.a in Frameworks */, + 523575F00C33A0890098823D /* libQTFileLib.a in Frameworks */, + 523575F10C33A0890098823D /* libRTPMetaInfoLib.a in Frameworks */, + 523575F20C33A0890098823D /* libRTCPUtilitiesLib.a in Frameworks */, + 523575F30C33A0890098823D /* libAPIStubLib.a in Frameworks */, + 523575F40C33A0890098823D /* libCommonUtilitiesLib.a in Frameworks */, + 523575F50C33A0890098823D /* libPrefsSourceLib.a in Frameworks */, + 523575F60C33A0890098823D /* libHTTPUtilitiesLib.a in Frameworks */, + 523575F70C33A0890098823D /* libAPICommonCode.a in Frameworks */, + 523575F80C33A0890098823D /* libQTSSAdminModule.a in Frameworks */, + 523575F90C33A0890098823D /* libQTSSAccessModule.a in Frameworks */, + 523575FA0C33A0890098823D /* libQTSSDSAuthModule.a in Frameworks */, + 523575FB0C33A0890098823D /* libQTSSAccessLogModule.a in Frameworks */, + 523575FC0C33A0890098823D /* libQTSSFlowControlModule.a in Frameworks */, + 523575FD0C33A0890098823D /* libQTSSReflectorModule.a in Frameworks */, + 523575FE0C33A0890098823D /* libQTSSPOSIXFileSysModule.a in Frameworks */, + 523575FF0C33A0890098823D /* libQTSSWebDebugModule.a in Frameworks */, + 523576000C33A0890098823D /* libQTSSFileModule.a in Frameworks */, + 523576010C33A0890098823D /* libRTSPClientLib.a in Frameworks */, + 523576020C33A0890098823D /* libAtomicLib.a in Frameworks */, + 523576030C33A0890098823D /* libQTSSMP3StreamingModule.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5293FDFC0B2A45DD00141B86 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 52E30B0F041DD13500FFB433 = { - buildPhases = ( - 52E30B0A041DD13500FFB433, - 52E30B0B041DD13500FFB433, - 52E30B0C041DD13500FFB433, - 52E30B0D041DD13500FFB433, - 52E30B0E041DD13500FFB433, - 52E30B1A041DD25100FFB433, - ); - buildSettings = { - HEADER_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; - LIBRARY_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; - OTHER_CFLAGS = "-g -pipe -pipe -fno-common -no-cpp-precomp -flat_namespace -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing"; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = SSLeay.bundle; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( + 52B24EA10B30005400A6567F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 52B2500E0B30055600A6567F /* DirectoryService.framework in Frameworks */, + 52B24F8F0B30018100A6567F /* libAPIStubLib.a in Frameworks */, + 52B24F8E0B30017B00A6567F /* libOSMemory_Modules.a in Frameworks */, + 52B24F8D0B30017100A6567F /* libCommonUtilitiesLib.a in Frameworks */, + 52B24F8C0B30015B00A6567F /* libSafeDynamicModuleStdLib.a in Frameworks */, + 52B24F900B30019500A6567F /* libAPICommonCode.a in Frameworks */, + 52B2501E0B3005C000A6567F /* libRTPMetaInfoLib.a in Frameworks */, + 52B24F8B0B30014900A6567F /* Foundation.framework in Frameworks */, + 842575A10C334F9300813FC9 /* OpenDirectory.framework in Frameworks */, ); - isa = PBXBundleTarget; - name = SSLeay.bundle; - productInstallPath = "$(USER_LIBRARY_DIR)/Bundles"; - productName = SSLeay.bundle; - productReference = 52E30B10041DD13500FFB433; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - - CFBundleGetInfoString - - CFBundleIconFile - - CFBundleIdentifier - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - - CFBundlePackageType - BNDL - CFBundleShortVersionString - - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 52E30B10041DD13500FFB433 = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = SSLeay.bundle.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 52E30B11041DD21600FFB433 = { - fileRef = 522ACD4F041CC4220062FFCE; - isa = PBXBuildFile; - settings = { - }; + runOnlyForDeploymentPostprocessing = 0; }; - 52E30B15041DD22700FFB433 = { - fileRef = 522ACD55041CC52B0062FFCE; - isa = PBXBuildFile; - settings = { - }; + 52E30B0D041DD13500FFB433 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 52E30B15041DD22700FFB433 /* libperl.dylib in Frameworks */, + 52E30B18041DD22B00FFB433 /* libcrypto.dylib in Frameworks */, + 52E30B19041DD23100FFB433 /* libssl.0.9.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 52E30B18041DD22B00FFB433 = { - fileRef = 522ACD57041CC5700062FFCE; - isa = PBXBuildFile; - settings = { - }; + 5DB82F270DD3AC4C005193F8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5DB82F280DD3AC4C005193F8 /* Foundation.framework in Frameworks */, + 5DB82F290DD3AC4C005193F8 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 5DB82F2A0DD3AC4C005193F8 /* libAPIStubLib.a in Frameworks */, + 5DB82F2B0DD3AC4C005193F8 /* libOSMemory_Modules.a in Frameworks */, + 5DB82F2C0DD3AC4C005193F8 /* libCommonUtilitiesLib.a in Frameworks */, + 5DB82F2D0DD3AC4C005193F8 /* libAPICommonCode.a in Frameworks */, + 5DB82F2E0DD3AC4C005193F8 /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 52E30B19041DD23100FFB433 = { - fileRef = 522ACD59041CC5E90062FFCE; - isa = PBXBuildFile; - settings = { - }; + 68C396C000C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396C200C567B77F000001 /* Foundation.framework in Frameworks */, + 68C39A8600C59A9E7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39A8700C59A9E7F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39A8800C59A9E7F000001 /* libRTPMetaInfoLib.a in Frameworks */, + F57EED53027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 522B6D3804E1708000244363 /* libQTFileExternalLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 52E30B1A041DD25100FFB433 = { - buildActionMask = 8; + 68C396C900C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; files = ( + 68C396CA00C567B77F000001 /* Foundation.framework in Frameworks */, + 68C39A7B00C597AB7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39A7C00C597AB7F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39A7D00C597AB7F000001 /* libQTFileLib.a in Frameworks */, + 68C39A7E00C597AB7F000001 /* libRTPMetaInfoLib.a in Frameworks */, ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${TARGET_BUILD_DIR}/SSLeay.bundle.bundle/Contents/MacOS/SSLeay.bundle ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.bundle"; + runOnlyForDeploymentPostprocessing = 0; }; -//520 -//521 -//522 -//523 -//524 -//610 -//611 -//612 -//613 -//614 - 61B89716017F4FDD0EDD2AFC = { - isa = PBXFileReference; - lastKnownFileType = video.quicktime; - path = sample_300kbit.mov; - refType = 4; - sourceTree = ""; + 68C396D500C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396D700C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED54027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39A8E00C59BD47F000001 /* libCommonUtilitiesLib.a in Frameworks */, + F6A3A53102392A2801000103 /* libQTFileExternalLib.a in Frameworks */, + 68C39A9000C59BD47F000001 /* libRTPMetaInfoLib.a in Frameworks */, + 68C39A9100C59BD47F000001 /* libOSMemoryLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 61B89717017F4FDD0EDD2AFC = { - isa = PBXFileReference; - lastKnownFileType = video.quicktime; - path = sample_100kbit.mov; - refType = 4; - sourceTree = ""; + 68C396DF00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396E100C567B77F000001 /* Foundation.framework in Frameworks */, + 68C39A9B00C59D627F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39A9C00C59D627F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39A9E00C59D627F000001 /* libRTPMetaInfoLib.a in Frameworks */, + 5264A2C0041FD10500B9CAA7 /* libSafeInternalStdLib.a in Frameworks */, + F6A3A53202392AE101000103 /* libQTFileExternalLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 61B89719017F4FDD0EDD2AFC = { - fileRef = 61B89716017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; + 68C396E900C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396EB00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED56027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39AA300C59DC47F000001 /* libCommonUtilitiesLib.a in Frameworks */, + F6A3A53302392AE101000103 /* libQTFileExternalLib.a in Frameworks */, + 68C39AA400C59DC47F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39AA600C59DC47F000001 /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 61B8971A017F4FDD0EDD2AFC = { - fileRef = 61B89717017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; + 68C396F300C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396F500C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED57027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39AA700C59E2F7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39AA800C59E2F7F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39AAA00C59E2F7F000001 /* libRTPMetaInfoLib.a in Frameworks */, + F6A3A53402392AE101000103 /* libQTFileExternalLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 61E7BB7F01A1D4AB0EDD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Docs; - dstSubfolderSpec = 0; + 68C396FD00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; files = ( - 0082672701A1D6A400DD2AFC, + 68C396FF00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED58027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39AAB00C59E2F7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39AAC00C59E2F7F000001 /* libOSMemoryLib.a in Frameworks */, + F6A3A53502392AE101000103 /* libQTFileExternalLib.a in Frameworks */, + 68C39AAE00C59E2F7F000001 /* libRTPMetaInfoLib.a in Frameworks */, ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + runOnlyForDeploymentPostprocessing = 0; }; -//610 -//611 -//612 -//613 -//614 -//680 -//681 -//682 -//683 -//684 - 68C3920500C567B67F000001 = { - buildSettings = { - }; - buildStyles = ( - 0138E52700C5C0DD7F000001, - 0138E52800C5C0DD7F000001, + 68C3970700C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3970900C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED59027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39AAF00C59E2F7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39AB000C59E2F7F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39AB600C59ED87F000001 /* libRTPMetaInfoLib.a in Frameworks */, + F6A3A53602392AE101000103 /* libQTFileExternalLib.a in Frameworks */, ); - hasScannedForEncodings = 1; - isa = PBXProject; - mainGroup = 68C3920600C567B67F000001; - productRefGroup = 68C3967800C567B77F000001; - projectDirPath = ""; - targets = ( - 68C396B800C567B77F000001, - 482C16F104CF5700003E91E5, - 008788DE026B412B00DD2B4C, - F5E91E2302786F1501DD2AFC, - 00A90E28029EC2E700DD2B4C, - 00A90E1B029EBB6300DD2B4C, - 68C398DE00C567B77F000001, - F51C62E30279D3BC01DD2AFC, - 68C396BA00C567B77F000001, - 68C3972C00C567B77F000001, - F56B5A610278ADD701DD2AFC, - B649D5CB02B97F170BDD2A6C, - F533DA97011744B701DD292F, - 68C3978800C567B77F000001, - 68C397B700C567B77F000001, - 00E5906700F4DD0500DD2B4C, - 68C397C000C567B77F000001, - 68C396F900C567B77F000001, - 68C3970300C567B77F000001, - 68C396D100C567B77F000001, - 68C396DB00C567B77F000001, - 68C396BC00C567B77F000001, - 68C396E500C567B77F000001, - 68C396EF00C567B77F000001, - 68C3970D00C567B77F000001, - 68C3971700C567B77F000001, - 68C3987300C567B77F000001, - 68C39A3600C567B77F000001, - 68C399EA00C567B77F000001, - 68C3987F00C567B77F000001, - 68C399F500C567B77F000001, - 68C399C100C567B77F000001, - 68C398E000C567B77F000001, - 68C399D800C567B77F000001, - F6A48AF002390D0401000103, - 68C39A0900C567B77F000001, - 68C399C900C567B77F000001, - 68C39A0000C567B77F000001, - 68C39A4700C567B77F000001, - 68C396C600C567B77F000001, - 68C399AF00C567B77F000001, - 68C398E800C567B77F000001, - 68C3998A00C567B77F000001, - 68C398F100C567B77F000001, - 68C3991900C567B77F000001, - B62C45C6012B21880BDD2A6C, - 68C398FA00C567B77F000001, - 68C3997200C567B77F000001, - 68C3992200C567B77F000001, - F5E91D0E027758E801DD2AFC, - F5E91D3102775C5601DD2AFC, - F5E91DB90277603301DD2AFC, - 68C3996200C567B77F000001, - 68C3997B00C567B77F000001, - F5E91D2002775B5E01DD2AFC, - 68C3995200C567B77F000001, - F5E91D6902775D2501DD2AFC, - 004E288A025B787100DD2B50, - F5E91DCD0277603301DD2AFC, - B6DC97FB02FB2EAB0BDD2A6C, - F5E91D9E02775EEC01DD2AFC, - 68C3994300C567B77F000001, - F5E91D4002775C5601DD2AFC, - B6494F960279F7500BDD2A6C, - F5E91DDD0277603301DD2AFC, - 68C3993400C567B77F000001, - F5E91D7802775D2501DD2AFC, - F5E91D8702775D2501DD2AFC, - 000DA9E40135948600DD2B4F, - F57EED24027E9E1201FF7AB9, - F57EED29027E9E1201FF7AB9, - E98FD95B02F5BC3309DD2838, - 484082A403D78E0900DD2838, - 52E30B0F041DD13500FFB433, - ); - }; - 68C3920600C567B67F000001 = { - children = ( - 68C3920700C567B67F000001, - 00E58F9000F4D95A00DD2B4C, - 68C3921300C567B67F000001, - 68C3927300C567B67F000001, - 68C392BC00C567B67F000001, - F533DA8B011744B601DD292F, - 68C392F200C567B67F000001, - 68C392E900C567B67F000001, - 68C394D900C567B67F000001, - 68C3963A00C567B77F000001, - 68C395E600C567B77F000001, - 68C3946D00C567B67F000001, - 68C3947900C567B67F000001, - 68C395B700C567B77F000001, - 68C395D100C567B77F000001, - 68C3960B00C567B77F000001, - 68C395C000C567B77F000001, - 68C3960000C567B77F000001, - 68C3964D00C567B77F000001, - 68C395F300C567B77F000001, - F57EED2F027E9EDD01FF7AB9, - 68C3930600C567B67F000001, - 484082A803D78E3600DD2838, - 68C3965C00C567B77F000001, - 68C3967800C567B77F000001, - DB5FB48607C42A3D00A894EA, - DB5FB4F907C433BC00A894EA, + runOnlyForDeploymentPostprocessing = 0; + }; + 68C3971100C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3971300C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED5A027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39AB700C59ED87F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39AB800C59ED87F000001 /* libOSMemoryLib.a in Frameworks */, + F6A3A53702392AE101000103 /* libQTFileExternalLib.a in Frameworks */, + 68C39ABA00C59ED87F000001 /* libRTPMetaInfoLib.a in Frameworks */, ); - isa = PBXGroup; - name = StreamingServer; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3920700C567B67F000001 = { - children = ( - 68C3920B00C567B67F000001, - 68C3920C00C567B67F000001, - B66082C20337F1DF0BDD2A6C, - 68C3920E00C567B67F000001, - 0082672B01A2F39A00DD2AFC, - FB776F0007DD002400C0B6CE, - FB776EE607DCFD4C00C0B6CE, - FB776EE707DCFD4C00C0B6CE, - FB776EE907DCFD4C00C0B6CE, - 61B89716017F4FDD0EDD2AFC, - 61B89717017F4FDD0EDD2AFC, - 0075360D02EE064000DD2B4C, - 0075360E02EE064000DD2B4C, - 005B0878013B079200DD292F, - 0082672501A1D6A300DD2AFC, + 68C3971C00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3971E00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED5B027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39ABB00C59ED87F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39ABC00C59ED87F000001 /* libOSMemoryLib.a in Frameworks */, + F6A3A53802392AE101000103 /* libQTFileExternalLib.a in Frameworks */, + 68C39ABE00C59ED87F000001 /* libRTPMetaInfoLib.a in Frameworks */, ); - isa = PBXGroup; - name = "Supporting Files"; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3920B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PlatformHeader.h; - refType = 4; - sourceTree = ""; + 68C3976F00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3977100C567B77F000001 /* Foundation.framework in Frameworks */, + F5C080B70415983101DD2E7A /* Security.framework in Frameworks */, + 52AD14830B29EE6800477AE2 /* DirectoryService.framework in Frameworks */, + F57EED5E027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 0138E56E00C6B15A7F000001 /* libOSMemoryLib.a in Frameworks */, + 0138E56F00C6B15A7F000001 /* libQTFileLib.a in Frameworks */, + 0138E57000C6B15A7F000001 /* libRTPMetaInfoLib.a in Frameworks */, + 68C39AE300C5A5217F000001 /* libRTCPUtilitiesLib.a in Frameworks */, + 0138E57100C6B15A7F000001 /* libAPIStubLib.a in Frameworks */, + 0138E57200C6B15A7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 0138E57300C6B15A7F000001 /* libPrefsSourceLib.a in Frameworks */, + 0138E57400C6B15A7F000001 /* libHTTPUtilitiesLib.a in Frameworks */, + 0138E57500C6B15A7F000001 /* libAPICommonCode.a in Frameworks */, + 0138E57600C6B15A7F000001 /* libQTSSAdminModule.a in Frameworks */, + 0138E57700C6B15A7F000001 /* libQTSSAccessModule.a in Frameworks */, + 52F900380B2A520900D99AE0 /* libQTSSDSAuthModule.a in Frameworks */, + 0138E57800C6B15A7F000001 /* libQTSSAccessLogModule.a in Frameworks */, + 0138E57A00C6B15A7F000001 /* libQTSSFlowControlModule.a in Frameworks */, + 0138E57C00C6B15A7F000001 /* libQTSSReflectorModule.a in Frameworks */, + 0138E57D00C6B15A7F000001 /* libQTSSPOSIXFileSysModule.a in Frameworks */, + 68C39AE400C5A5217F000001 /* libQTSSWebDebugModule.a in Frameworks */, + 0138E57F00C6B15A7F000001 /* libQTSSFileModule.a in Frameworks */, + 287CBF2800D174BE11DD2B4C /* libRTSPClientLib.a in Frameworks */, + F5EB63B1011F467801DD292F /* libAtomicLib.a in Frameworks */, + B62F395E012B34C40BDD2A6C /* libQTSSMP3StreamingModule.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C397AF00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C397B100C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED5C027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 68C39AD500C5A04A7F000001 /* libRTSPClientLib.a in Frameworks */, + 68C39ADC00C5A1257F000001 /* libAtomicLib.a in Frameworks */, + 68C39AD600C5A04A7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 68C39AD700C5A04A7F000001 /* libOSMemoryLib.a in Frameworks */, + 68C39AD900C5A04A7F000001 /* libRTPMetaInfoLib.a in Frameworks */, + F6999B67023926FC01000103 /* libQTFileExternalLib.a in Frameworks */, + 68C39ADA00C5A04A7F000001 /* libAPICommonCode.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3920C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = revision.h; - refType = 4; - sourceTree = ""; + 68C397BB00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C397BC00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED5D027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + 0138E58300C6B3A57F000001 /* libCommonUtilitiesLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3920E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = streamingserver.xml; - refType = 4; - sourceTree = ""; + 68C397CC00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C397CD00C567B77F000001 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3921300C567B67F000001 = { - children = ( - 68C3922900C567B67F000001, - 68C3921900C567B67F000001, - 68C3923200C567B67F000001, - 68C3923B00C567B67F000001, - 68C3924400C567B67F000001, - 68C3924D00C567B67F000001, - 68C3925600C567B67F000001, - 68C3925F00C567B67F000001, - 68C3926800C567B67F000001, + 68C3987B00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTFileTools; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3921900C567B67F000001 = { - children = ( - 68C3921B00C567B67F000001, + 68C398D800C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A7600C597627F000001 /* libAtomicLib.a in Frameworks */, ); - isa = PBXGroup; - name = QTSDPGen; - path = QTSDPGen.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3921B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSDPGen.cpp; - refType = 4; - sourceTree = ""; + 68C398E400C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3922900C567B67F000001 = { - children = ( - 68C3922B00C567B67F000001, + 68C398ED00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTRTPGen; - path = QTRTPGen.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3922B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTRTPGen.cpp; - refType = 4; - sourceTree = ""; + 68C398F600C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3923200C567B67F000001 = { - children = ( - 68C3923400C567B67F000001, + 68C3991400C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTRTPFileTest; - path = QTRTPFileTest.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3923400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTRTPFileTest.cpp; - refType = 4; - sourceTree = ""; + 68C3991E00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3923B00C567B67F000001 = { - children = ( - 68C3923D00C567B67F000001, + 68C3992700C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTSampleLister; - path = QTSampleLister.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3923D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSampleLister.cpp; - refType = 4; - sourceTree = ""; + 68C3993A00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3993C00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED3F027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 0138E52B00C5C22A7F000001 /* libAPIStubLib.a in Frameworks */, + 0138E52C00C5C22A7F000001 /* libOSMemory_Modules.a in Frameworks */, + 0138E52D00C5C22A7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 0138E52E00C5C22A7F000001 /* libAPICommonCode.a in Frameworks */, + 70A648BC01162DA102DD292F /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3924400C567B67F000001 = { - children = ( - 68C3924600C567B67F000001, + 68C3994900C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0138E53700C6A7E27F000001 /* libAPIStubLib.a in Frameworks */, + 0138E53800C6A7E27F000001 /* libOSMemory_Modules.a in Frameworks */, + 0138E53900C6A7E27F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 0138E53A00C6A7E27F000001 /* libAPICommonCode.a in Frameworks */, + F57EED45027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 84A76694094F09E100CE1B7A /* libRTPMetaInfoLib.a in Frameworks */, + 84A765CC094F09AB00CE1B7A /* Foundation.framework in Frameworks */, ); - isa = PBXGroup; - name = QTTrackInfo; - path = QTTrackInfo.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3924600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTTrackInfo.cpp; - refType = 4; - sourceTree = ""; + 68C3995800C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3995A00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED46027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 0138E53B00C6A8B97F000001 /* libAPIStubLib.a in Frameworks */, + 0138E53C00C6A8B97F000001 /* libOSMemory_Modules.a in Frameworks */, + 0138E53F00C6A9C67F000001 /* libPrefsSourceLib.a in Frameworks */, + 0138E53D00C6A8B97F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 0138E53E00C6A8B97F000001 /* libAPICommonCode.a in Frameworks */, + 70A6496701162F4E02DD292F /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3924D00C567B67F000001 = { - children = ( - 68C3924F00C567B67F000001, + 68C3996A00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3996B00C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED47027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 0138E54000C6AACF7F000001 /* libAPIStubLib.a in Frameworks */, + 0138E54100C6AACF7F000001 /* libOSMemory_Modules.a in Frameworks */, + 0138E54200C6AACF7F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 0138E54300C6AACF7F000001 /* libAPICommonCode.a in Frameworks */, + 70A6496C01162FAC02DD292F /* libRTPMetaInfoLib.a in Frameworks */, ); - isa = PBXGroup; - name = QTFileInfo; - path = QTFileInfo.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3924F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFileInfo.cpp; - refType = 4; - sourceTree = ""; + 68C3997700C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3925600C567B67F000001 = { - children = ( - 68C3925800C567B67F000001, + 68C3998100C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3998300C567B77F000001 /* Foundation.framework in Frameworks */, + F57EED48027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + 0138E54400C6AC357F000001 /* libAPIStubLib.a in Frameworks */, + 0138E54500C6AC357F000001 /* libOSMemory_Modules.a in Frameworks */, + 0138E54600C6AC357F000001 /* libCommonUtilitiesLib.a in Frameworks */, + 0138E54700C6AC357F000001 /* libAPICommonCode.a in Frameworks */, + 70A649750116302502DD292F /* libRTPMetaInfoLib.a in Frameworks */, ); - isa = PBXGroup; - name = QTFileTest; - path = QTFileTest.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3925800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFileTest.cpp; - refType = 4; - sourceTree = ""; + 68C3999300C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3925F00C567B67F000001 = { - children = ( - 68C3926100C567B67F000001, + 68C399B600C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTBroadcaster; - path = QTBroadcaster.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3926100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTBroadcaster.cpp; - refType = 4; - sourceTree = ""; + 68C399C500C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3926800C567B67F000001 = { - children = ( - 68C3926A00C567B67F000001, - 68C3926C00C567B67F000001, + 68C399D400C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = RTPFileGen; - path = RTPFileGen.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3926A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPFileGen.cpp; - refType = 4; - sourceTree = ""; + 68C399E600C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3926C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPFileDefs.h; - refType = 4; - sourceTree = ""; + 68C399F100C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927300C567B67F000001 = { - children = ( - 68C3927600C567B67F000001, - 68C3927500C567B67F000001, - 68C3929600C567B67F000001, - 68C3927700C567B67F000001, - 68C3929700C567B67F000001, - 68C3927800C567B67F000001, - 68C3929800C567B67F000001, - 68C3927900C567B67F000001, - 68C3929900C567B67F000001, - 68C3927A00C567B67F000001, - 68C3929A00C567B67F000001, - 68C3927B00C567B67F000001, - 68C3929B00C567B67F000001, - 68C3927C00C567B67F000001, - 68C3929C00C567B67F000001, - 68C3927D00C567B67F000001, - 68C3929D00C567B67F000001, - 68C3927E00C567B67F000001, - 68C3929E00C567B67F000001, - 68C3927F00C567B67F000001, - 68C3929F00C567B67F000001, - 68C3928000C567B67F000001, - 68C392A000C567B67F000001, - 68C3928100C567B67F000001, - 68C392A100C567B67F000001, - 68C3928200C567B67F000001, - 68C392A200C567B67F000001, - 68C3928300C567B67F000001, - 68C392A300C567B67F000001, - 68C392A400C567B67F000001, - 68C3928400C567B67F000001, - 68C392A500C567B67F000001, - 68C3928500C567B67F000001, - 68C392A600C567B67F000001, - 68C3928600C567B67F000001, - 68C392A700C567B67F000001, - 68C3928700C567B67F000001, - 68C392A800C567B67F000001, - 68C3928800C567B67F000001, - 68C392A900C567B67F000001, - 68C3928900C567B67F000001, - 68C392AA00C567B67F000001, - 68C3928A00C567B67F000001, - 68C392AB00C567B67F000001, - 68C3928B00C567B67F000001, - 68C392AC00C567B67F000001, - 68C3928C00C567B67F000001, - 68C392AD00C567B67F000001, - 68C3928D00C567B67F000001, - 68C392AE00C567B67F000001, - 68C3928E00C567B67F000001, - 68C392AF00C567B67F000001, - 68C3928F00C567B67F000001, - 68C392B000C567B67F000001, - 68C3929000C567B67F000001, - 68C392B100C567B67F000001, - 68C3929100C567B67F000001, - 68C392B200C567B67F000001, - 68C3929200C567B67F000001, - 68C392B300C567B67F000001, - 68C3929300C567B67F000001, - 68C392B400C567B67F000001, + 68C399FC00C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QuickTimeStreamingServer; - path = Server.tproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = GenerateXMLPrefs.cpp; - refType = 4; - sourceTree = ""; + 68C39A0500C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = main.cpp; - refType = 4; - sourceTree = ""; + 68C39A3200C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSCallbacks.cpp; - refType = 4; - sourceTree = ""; + 68C39A4300C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDataConverter.cpp; - refType = 4; - sourceTree = ""; + 68C39A5000C567B77F000001 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5EB1ACEE0AAF9B91004A288C /* libRTCPUtilitiesLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDictionary.cpp; - refType = 4; - sourceTree = ""; + 84CE3C430CEE607F0056DB85 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSErrorLogModule.cpp; - refType = 4; - sourceTree = ""; + B62C45C9012B21880BDD2A6C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSServer.cpp; - refType = 4; - sourceTree = ""; + B6494F9A0279F7500BDD2A6C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B6494FA40279F98A0BDD2A6C /* Foundation.framework in Frameworks */, + F57EED44027EA28201FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + B6494FA50279F9B10BDD2A6C /* libCommonUtilitiesLib.a in Frameworks */, + B6494FA60279FA6F0BDD2A6C /* libOSMemory_Modules.a in Frameworks */, + B6494FA70279FAB80BDD2A6C /* libAPIStubLib.a in Frameworks */, + B6494FA80279FB8D0BDD2A6C /* libAPICommonCode.a in Frameworks */, + B69647D8027A41EC0BDD2A6C /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSServerInterface.cpp; - refType = 4; - sourceTree = ""; + B649D5CE02B97F170BDD2A6C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B649D69302B983380BDD2A6C /* Foundation.framework in Frameworks */, + B649D69402B983380BDD2A6C /* libAtomicLib.a in Frameworks */, + B649D69502B983380BDD2A6C /* libCommonUtilitiesLib.a in Frameworks */, + B649D69602B983380BDD2A6C /* libRTCPUtilitiesLib.a in Frameworks */, + B649D69702B983380BDD2A6C /* libOSMemoryLib.a in Frameworks */, + B649D69802B983380BDD2A6C /* libPrefsSourceLib.a in Frameworks */, + B649D69902B983380BDD2A6C /* libAPIStubLib.a in Frameworks */, + B649D69A02B983380BDD2A6C /* libHTTPUtilitiesLib.a in Frameworks */, + B649D69B02B983380BDD2A6C /* libRTPMetaInfoLib.a in Frameworks */, + B649D69C02B983380BDD2A6C /* libQTFileLib.a in Frameworks */, + B649D69D02B983380BDD2A6C /* libAPICommonCode.a in Frameworks */, + B649D69E02B983380BDD2A6C /* libRTSPClientLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSServerPrefs.cpp; - refType = 4; - sourceTree = ""; + B6DC97F902FB2EAB0BDD2A6C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3927E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSExpirationDate.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3927F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFile.cpp; - refType = 4; - sourceTree = ""; + E98FD95902F5BC3309DD2838 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E98FD97002F5BD6309DD2838 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSMessages.cpp; - refType = 4; - sourceTree = ""; + F533DAAA011744B701DD292F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F533DAAC011744B701DD292F /* Foundation.framework in Frameworks */, + F57EED5F027EA94401FF7AB9 /* libSafeInternalStdLib.a in Frameworks */, + F533DAAD011744B701DD292F /* libCommonUtilitiesLib.a in Frameworks */, + F533DAAE011744B701DD292F /* libAPICommonCode.a in Frameworks */, + F533DAAF011744B701DD292F /* libOSMemoryLib.a in Frameworks */, + F5EB63B2011F4A8F01DD292F /* libAtomicLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSModule.cpp; - refType = 4; - sourceTree = ""; + F56B5A640278ADD701DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F56B5AB30278AF2501DD2AFC /* Foundation.framework in Frameworks */, + F56B5AB40278AF2501DD2AFC /* libAPICommonCode.a in Frameworks */, + F56B5AB50278AF2501DD2AFC /* libAPIStubLib.a in Frameworks */, + F56B5AB60278AF2501DD2AFC /* libAtomicLib.a in Frameworks */, + F56B5AB70278AF2501DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F56B5AB80278AF2501DD2AFC /* libHTTPUtilitiesLib.a in Frameworks */, + F56B5AB90278AF2501DD2AFC /* libOSMemoryLib.a in Frameworks */, + F56B5ABA0278AF2501DD2AFC /* libPrefsSourceLib.a in Frameworks */, + F56B5ABB0278AF2501DD2AFC /* libQTFileLib.a in Frameworks */, + F56B5ABC0278AF2501DD2AFC /* libRTCPUtilitiesLib.a in Frameworks */, + F56B5ABD0278AF2501DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F56B5ABE0278AF2501DD2AFC /* libRTSPClientLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSPrefs.cpp; - refType = 4; - sourceTree = ""; + F57EED27027E9E1201FF7AB9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSSocket.cpp; - refType = 4; - sourceTree = ""; + F57EED2C027E9E1201FF7AB9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSUserProfile.cpp; - refType = 4; - sourceTree = ""; + F5E91D12027758E801DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D1902775AB101DD2AFC /* Foundation.framework in Frameworks */, + F57EED4A027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F56B5A4E02787A7F01DD2AFC /* libAPIStubLib.a in Frameworks */, + F56B5A4F02787A9501DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F5E91DF0027868CE01DD2AFC /* libAPICommonCode.a in Frameworks */, + F56B5A4D02787A6901DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPTask.cpp; - refType = 4; - sourceTree = ""; + F5E91D2602775B5E01DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D2802775B5E01DD2AFC /* Foundation.framework in Frameworks */, + F57EED4B027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91DF702786AB101DD2AFC /* libQTFileLib.a in Frameworks */, + F5E91DFA02786B0701DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91DF802786AF601DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91DFB02786B0F01DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F5E91DF902786AFF01DD2AFC /* libAPICommonCode.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPBandwidthTracker.cpp; - refType = 4; - sourceTree = ""; + F5E91D3702775C5601DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D3902775C5601DD2AFC /* Foundation.framework in Frameworks */, + F57EED4C027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F56B5A5002787AF101DD2AFC /* libAPIStubLib.a in Frameworks */, + F56B5A5202787AF901DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F56B5A5302787B0101DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F56B5A5102787AF101DD2AFC /* libAPICommonCode.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPOverbufferWindow.cpp; - refType = 4; - sourceTree = ""; + F5E91D5D02775C5601DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D5F02775C5601DD2AFC /* Foundation.framework in Frameworks */, + F57EED43027EA28201FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91DFC02786B4201DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F56B5A440278791501DD2AFC /* libAPIStubLib.a in Frameworks */, + F56B5A450278791501DD2AFC /* libAPICommonCode.a in Frameworks */, + F56B5A460278791501DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F56B5A470278791501DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F56B5A480278791501DD2AFC /* libPrefsSourceLib.a in Frameworks */, + F56B5A490278796A01DD2AFC /* libRTSPClientLib.a in Frameworks */, + F56B5A4A0278796A01DD2AFC /* libRTCPUtilitiesLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPPacketResender.cpp; - refType = 4; - sourceTree = ""; + F5E91D6F02775D2501DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D7102775D2501DD2AFC /* Foundation.framework in Frameworks */, + F57EED4D027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91DFD02786BD001DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91DFF02786C9601DD2AFC /* libAPICommonCode.a in Frameworks */, + F5E91E0002786C9F01DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91E0102786CA701DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPSession.cpp; - refType = 4; - sourceTree = ""; + F5E91D7E02775D2501DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D8002775D2501DD2AFC /* Foundation.framework in Frameworks */, + F57EED40027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91D8302775D2501DD2AFC /* libAPIStubLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPSessionInterface.cpp; - refType = 4; - sourceTree = ""; + F5E91D8D02775D2501DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D8F02775D2501DD2AFC /* Foundation.framework in Frameworks */, + F5E91E0202786CD501DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91E0302786CFB01DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91E0502786D0A01DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F5E91E0402786D0401DD2AFC /* libAPICommonCode.a in Frameworks */, + F57EED41027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPStream.cpp; - refType = 4; - sourceTree = ""; + F5E91DA402775EEC01DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DB20277603301DD2AFC /* Foundation.framework in Frameworks */, + F57EED4E027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91E0702786D4401DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91E0802786D4401DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91E0902786D4D01DD2AFC /* libAPICommonCode.a in Frameworks */, + F5E91E0A02786D5301DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPProtocol.cpp; - refType = 4; - sourceTree = ""; + F5E91DC30277603301DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DF20278699501DD2AFC /* Foundation.framework in Frameworks */, + F57EED4F027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91DF30278699501DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91DF50278699501DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91DF60278699501DD2AFC /* libAPICommonCode.a in Frameworks */, + F5E91E0B02786DA901DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPRequest.cpp; - refType = 4; - sourceTree = ""; + F5E91DD30277603301DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DD50277603301DD2AFC /* Foundation.framework in Frameworks */, + F57EED50027EA3AB01FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91E0C02786DDF01DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91E0E02786DE701DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91E0D02786DDF01DD2AFC /* libHTTPUtilitiesLib.a in Frameworks */, + F5E91E1102786E0601DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F5E91E1002786DFE01DD2AFC /* libQTFileLib.a in Frameworks */, + F5E91E0F02786DF601DD2AFC /* libAPICommonCode.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPRequestInterface.cpp; - refType = 4; - sourceTree = ""; + F5E91DE50277603301DD2AFC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DE70277603301DD2AFC /* Foundation.framework in Frameworks */, + F57EED42027EA24601FF7AB9 /* libSafeDynamicModuleStdLib.a in Frameworks */, + F5E91E1202786E3101DD2AFC /* libAPIStubLib.a in Frameworks */, + F5E91E1502786E3E01DD2AFC /* libRTPMetaInfoLib.a in Frameworks */, + F5E91E1402786E3901DD2AFC /* libCommonUtilitiesLib.a in Frameworks */, + F5E91E1302786E3101DD2AFC /* libAPICommonCode.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3928F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPRequestStream.cpp; - refType = 4; - sourceTree = ""; + F6A48AF302390D0401000103 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3929000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPResponseStream.cpp; - refType = 4; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 004E2890025B798400DD2B50 /* QTSSHomeDirectoryModule */ = { + isa = PBXGroup; + children = ( + 004E2891025B798400DD2B50 /* QTSSHomeDirectoryModule.cpp */, + 004E2892025B798400DD2B50 /* QTSSHomeDirectoryModule.h */, + 00BC5F60025E827300DD2B50 /* DirectoryInfo.cpp */, + 00BC5F61025E827300DD2B50 /* DirectoryInfo.h */, + FBCB7F580507F2D100A273B4 /* createuserstreamingdir */, + ); + name = QTSSHomeDirectoryModule; sourceTree = ""; }; - 68C3929100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPSession.cpp; - refType = 4; - sourceTree = ""; + 00A7A0B30135DF8700DD2B4F /* NetSSLeay */ = { + isa = PBXGroup; + children = ( + 522ACD4F041CC4220062FFCE /* SSLeay.c */, + 00A7A0CC0135DF8700DD2B4F /* SSLeay.pm */, + ); + name = NetSSLeay; + path = WebAdmin/NetSSLeay; + sourceTree = SOURCE_ROOT; }; - 68C3929200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPSessionInterface.cpp; - refType = 4; - sourceTree = ""; + 00A7A0D00135DF8700DD2B4F /* src */ = { + isa = PBXGroup; + children = ( + 00A7A0D10135DF8700DD2B4F /* streamingadminserver.pl */, + ); + name = src; + path = WebAdmin/src; + sourceTree = SOURCE_ROOT; }; - 68C3929300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RunServer.cpp; - refType = 4; - sourceTree = ""; + 00A7A0D20135DF8700DD2B4F /* StartupItems.bproj */ = { + isa = PBXGroup; + children = ( + 00A7A0D30135DF8700DD2B4F /* dummy.c */, + 00A7A0D40135DF8700DD2B4F /* Localizable.strings */, + 00A7A0D60135DF8700DD2B4F /* QuickTimeStreamingServer */, + 00A7A0D70135DF8700DD2B4F /* StartupParameters.plist */, + ); + name = StartupItems.bproj; + path = WebAdmin/StartupItems.bproj; + sourceTree = SOURCE_ROOT; }; - 68C3929600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = GenerateXMLPrefs.h; - refType = 4; - sourceTree = ""; + 00A7A0DD0135DF8700DD2B4F /* WebAdminHtml */ = { + isa = PBXGroup; + children = ( + E9ACCA5E013C52EB09DD2838 /* access_log.html */, + 00A7A0DE0135DF8700DD2B4F /* adminprotocol-lib.pl */, + E98933B602F6140609DD2838 /* broadcaster_lib.pl */, + E98933B702F6140609DD2838 /* broadcaster_settings.html */, + 00A7A0DF0135DF8700DD2B4F /* cgi-lib.pl */, + E90CF1AB014FDE2709DD2838 /* change_mp3_password.html */, + 846E9B7D0728600F00E7A587 /* change_broadcast_password.html */, + E95AB76D013AC8BF09DD2838 /* change_password.html */, + E978DC40017F827C09DD2838 /* change_password_redirect.html */, + F551E69C013818ED01000102 /* confirm.html */, + 00A7A0E00135DF8700DD2B4F /* connected.html */, + E9ACCA5C013C317B09DD2838 /* error_log.html */, + 00A7A0E60135DF8700DD2B4F /* format.html */, + 00A7A0E70135DF8700DD2B4F /* frameset.html */, + E9EC923C0137107609DD2838 /* general_settings.html */, + E957C41901454E2009DD2838 /* index.html */, + E96314AC013B155309DD2838 /* log_settings.html */, + E96314AD013B155309DD2838 /* ports.html */, + 00A7A0EE0135DF8700DD2B4F /* html_en */, + 00A7A1000135DF8700DD2B4F /* images */, + 00A7A12D0135DF8700DD2B4F /* includes */, + 00A7A1310135DF8700DD2B4F /* login.html */, + E924776E01C6CFD209DD2838 /* MapUTF.pl */, + 00A7A1330135DF8700DD2B4F /* nav.html */, + 00A7A1340135DF8700DD2B4F /* parse_xml.cgi */, + E93941050291C82409DD2838 /* password-utils.pl */, + 00A7A1350135DF8700DD2B4F /* playlist-lib.pl */, + 00A7A1360135DF8700DD2B4F /* playlist_detail.html */, + F574E248015FE06F01000127 /* playlist_error_log.html */, + 00A7A1370135DF8700DD2B4F /* playlists.html */, + F56EA4BE0199D17E0100010F /* relay_status.html */, + F59F642C01449BDF01000104 /* relay_targets.html */, + F59F642D01449BDF01000104 /* relay_details_default.html */, + F59F642E01449BDF01000104 /* relay_details.html */, + F59F642F01449BDF01000104 /* relay.html */, + E9423B930146CCCF09DD2838 /* relayxmlparser.pl */, + E97F11F004313E8A09DD2838 /* restart_broadcaster.html */, + 00A7A13A0135DF8700DD2B4F /* setup_assistant.html */, + F59F64340144BCEA01000104 /* setup_assistant2.html */, + F59F64350144BCEA01000104 /* setup_assistant3.html */, + F59F64360144BCEA01000104 /* setup_assistant4.html */, + E9686BA401B2D0D209DD2838 /* setup_assistant5.html */, + E97F11EE04313E7C09DD2838 /* start_broadcaster.html */, + E9E7E9C4016BDDD509DD2838 /* start_server.html */, + 00A7A13C0135DF8700DD2B4F /* tag_formats.pl */, + 00A7A13D0135DF8700DD2B4F /* tag_types.pl */, + 00A7A13E0135DF8700DD2B4F /* tag_vals.pl */, + 00A7A13F0135DF8700DD2B4F /* template.html */, + 00A7A1400135DF8700DD2B4F /* template_blank.html */, + 00A7A1410135DF8700DD2B4F /* top.html */, + E93DD2F0027876B609DD2838 /* users.html */, + 00A7A1420135DF8700DD2B4F /* welcome.html */, + 00CA8FC901AB113E00DD2B4C /* startplaylists.pl */, + ); + name = WebAdminHtml; + path = WebAdmin/WebAdminHtml; + sourceTree = SOURCE_ROOT; }; - 68C3929700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSCallbacks.h; - refType = 4; + 00A7A0EE0135DF8700DD2B4F /* html_en */ = { + isa = PBXGroup; + children = ( + 00A7A0F10135DF8700DD2B4F /* messages */, + E97D18EC0150316E09DD2838 /* genres */, + ); + path = html_en; sourceTree = ""; }; - 68C3929800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDataConverter.h; - refType = 4; + 00A7A1000135DF8700DD2B4F /* images */ = { + isa = PBXGroup; + children = ( + F56CBE630136D97301000102 /* weight_up_arrow.gif */, + F56CBE640136D97301000102 /* wieght_down_arrow.gif */, + E98FF20A01860AAB09DD2838 /* icon_generic.gif */, + E9A7DCF2015180FB09FF1BBE /* link.gif */, + E9A7DCF3015180FB09FF1BBE /* link_disabled.gif */, + 00A7A1010135DF8700DD2B4F /* apple_logo.gif */, + 00A7A1020135DF8700DD2B4F /* arrow_down.gif */, + 00A7A1030135DF8700DD2B4F /* back.gif */, + 00A7A1040135DF8700DD2B4F /* blackpixel.gif */, + 00A7A1050135DF8700DD2B4F /* clearpixel.gif */, + 00A7A1060135DF8700DD2B4F /* dialog_alert.gif */, + 00A7A1070135DF8700DD2B4F /* dialog_bottom.gif */, + 00A7A1080135DF8700DD2B4F /* dialog_bottom_sm.gif */, + 00A7A1090135DF8700DD2B4F /* dialog_middle.gif */, + 00A7A10A0135DF8700DD2B4F /* dialog_middle_sm.gif */, + 00A7A10B0135DF8700DD2B4F /* dialog_qtss.gif */, + F5610DA501B5C81301DD2F6B /* dialog_side.gif */, + 00A7A10C0135DF8700DD2B4F /* dialog_top.gif */, + 00A7A10D0135DF8700DD2B4F /* dialog_top_sm.gif */, + 00A7A10E0135DF8700DD2B4F /* divider.gif */, + 00A7A10F0135DF8700DD2B4F /* divider_vert.gif */, + 00A7A1100135DF8700DD2B4F /* dot.gif */, + 00A7A1110135DF8700DD2B4F /* folder.gif */, + 00A7A1120135DF8700DD2B4F /* greypixel.gif */, + 00A7A1130135DF8700DD2B4F /* headerpixel.gif */, + 00A7A1140135DF8700DD2B4F /* help.gif */, + 00A7A1150135DF8700DD2B4F /* highlight.gif */, + 00A7A1160135DF8700DD2B4F /* horz_line.gif */, + 00A7A1170135DF8700DD2B4F /* icon_alert.gif */, + F5C3E6EB017CFE24010001C8 /* icon_doc.gif */, + E90CD039016133F209DD2838 /* icon_error.gif */, + 00A7A1180135DF8700DD2B4F /* icon_folder.gif */, + E9BA8EF1027A14D909DD2838 /* icon_group.gif */, + 00A7A1190135DF8700DD2B4F /* icon_movie.gif */, + 00A7A11A0135DF8700DD2B4F /* icon_movie_off.gif */, + 00A7A11D0135DF8700DD2B4F /* icon_playlist.gif */, + 00A7A11E0135DF8700DD2B4F /* icon_playlist_off.gif */, + E9029E240188C0DA09DD2838 /* icon_start_playlist.gif */, + E9029E260188C10709DD2838 /* icon_stop_playlist.gif */, + E9BA8EEF027A14D009DD2838 /* icon_user.gif */, + 00A7A1210135DF8700DD2B4F /* LB_arrow_dn.gif */, + 00A7A1220135DF8700DD2B4F /* LB_arrow_up.gif */, + 00A7A1230135DF8700DD2B4F /* line.gif */, + 00A7A1240135DF8700DD2B4F /* mp3_file.gif */, + F596A33B019319300189D339 /* nav_help.gif */, + F568F9780254EE28010001C8 /* nav_logo_small.gif */, + F5C7F02601B6CE3401DD2F6B /* nav_logo.gif */, + 00A7A1250135DF8700DD2B4F /* pixel.gif */, + E9013524018645DE09DD2838 /* scroll_arrow_down.gif */, + E9013525018645DE09DD2838 /* scroll_arrow_up.gif */, + E9013526018645DE09DD2838 /* scroll_bg.gif */, + E9013527018645DE09DD2838 /* scroll_bg_inactive.gif */, + E9013528018645DE09DD2838 /* scroll_thumb.gif */, + 00A7A1260135DF8700DD2B4F /* sort_arrow.gif */, + E90CD037016133D009DD2838 /* sort_arrow_desc.gif */, + 00A7A1270135DF8700DD2B4F /* spacer.gif */, + 00A7A1280135DF8700DD2B4F /* stripes_gray.gif */, + 00A7A1290135DF8700DD2B4F /* stripes_gray_dark.gif */, + 00A7A12A0135DF8700DD2B4F /* trashcan.gif */, + 00A7A12B0135DF8700DD2B4F /* vert_line.gif */, + 00A7A12C0135DF8700DD2B4F /* whitepixel.gif */, + ); + path = images; sourceTree = ""; }; - 68C3929900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDictionary.h; - refType = 4; + 00A7A12D0135DF8700DD2B4F /* includes */ = { + isa = PBXGroup; + children = ( + 00A7A12E0135DF8700DD2B4F /* draglib.js */, + E9E2F95501C9716509DD2838 /* encode_unicode.js */, + 00A7A12F0135DF8700DD2B4F /* standardNav.js */, + ); + path = includes; sourceTree = ""; }; - 68C3929A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSErrorLogModule.h; - refType = 4; + 00E58F9000F4D95A00DD2B4C /* StreamingLoadTool */ = { + isa = PBXGroup; + children = ( + 004086EC02F0A2ED00DD2B4C /* StreamingLoadTool.cpp */, + 00E58F9100F4DA8200DD2B4C /* Supporting Files */, + ); + name = StreamingLoadTool; sourceTree = ""; }; - 68C3929B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSServer.h; - refType = 4; + 00E58F9100F4DA8200DD2B4C /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 5E642DF00A9CC80A00ABD5AD /* Nokia_N90.conf */, + 5E642DE80A9CC77500ABD5AD /* parseSLTOut.py */, + 004086ED02F0A2ED00DD2B4C /* streamingloadtool.conf */, + ); + name = "Supporting Files"; sourceTree = ""; }; - 68C3929C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSServerInterface.h; - refType = 4; - sourceTree = ""; + 484082A803D78E3600DD2838 /* broadcasterctl */ = { + isa = PBXGroup; + children = ( + 484082AA03D78E3600DD2838 /* BroadcasterAdminController.h */, + 484082AB03D78E3600DD2838 /* BroadcasterAdminController.m */, + 484082AC03D78E3600DD2838 /* broadcasterctl.1 */, + 484082AD03D78E3600DD2838 /* broadcasterctl_main.m */, + 484082AE03D78E3600DD2838 /* BroadcasterRemoteAdmin.h */, + ); + path = broadcasterctl; + sourceTree = SOURCE_ROOT; }; - 68C3929D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSServerPrefs.h; - refType = 4; + 52F900FF0B2A561D00D99AE0 /* QTSSDSAuthModule */ = { + isa = PBXGroup; + children = ( + 52F901000B2A561D00D99AE0 /* DSAccessChecker.cpp */, + 52F901010B2A561D00D99AE0 /* DSAccessChecker.h */, + 52F901020B2A561D00D99AE0 /* dsqtaccess */, + 52F901030B2A561D00D99AE0 /* DSWrappers */, + 52F9010A0B2A561D00D99AE0 /* QTSSDSAuthModule.cpp */, + 52F9010B0B2A561D00D99AE0 /* QTSSDSAuthModule.h */, + 52F9010C0B2A561D00D99AE0 /* README */, + ); + path = QTSSDSAuthModule; sourceTree = ""; }; - 68C3929E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSExpirationDate.h; - refType = 4; + 52F901030B2A561D00D99AE0 /* DSWrappers */ = { + isa = PBXGroup; + children = ( + 52F901040B2A561D00D99AE0 /* CDirService.cpp */, + 52F901050B2A561D00D99AE0 /* CDirService.h */, + 52F901060B2A561D00D99AE0 /* DSBuffer.cpp */, + 52F901070B2A561D00D99AE0 /* DSBuffer.h */, + 52F901080B2A561D00D99AE0 /* DSDataList.h */, + 52F901090B2A561D00D99AE0 /* DSDataNode.h */, + ); + path = DSWrappers; sourceTree = ""; }; - 68C3929F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFile.h; - refType = 4; + 5DB82F170DD3AB8D005193F8 /* QTSSDemoRedirectModule */ = { + isa = PBXGroup; + children = ( + 5DB82F190DD3AB8D005193F8 /* QTSSDemoRedirectModule.cpp */, + 5DB82F1A0DD3AB8D005193F8 /* QTSSDemoRedirectModule.h */, + ); + name = QTSSDemoRedirectModule; + path = QTSSDemoRedirectModule.bproj; sourceTree = ""; }; - 68C392A000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSMessages.h; - refType = 4; + 68C3920600C567B67F000001 /* StreamingServer */ = { + isa = PBXGroup; + children = ( + 68C3920700C567B67F000001 /* Supporting Files */, + 00E58F9000F4D95A00DD2B4C /* StreamingLoadTool */, + 68C3921300C567B67F000001 /* QTFileTools */, + 68C3927300C567B67F000001 /* QuickTimeStreamingServer */, + 68C392BC00C567B67F000001 /* PlaylistBroadcaster */, + F533DA8B011744B601DD292F /* MP3Broadcaster */, + 68C392F200C567B67F000001 /* StreamingProxy */, + 68C392E900C567B67F000001 /* qtpasswd */, + 68C394D900C567B67F000001 /* APIModules */, + 68C3963A00C567B77F000001 /* APICommonCode */, + 68C395E600C567B77F000001 /* APIStubLib */, + 68C3946D00C567B67F000001 /* AtomicLib */, + 68C3947900C567B67F000001 /* CommonUtilitiesLib */, + 68C395B700C567B77F000001 /* OSMemoryLib */, + 68C395D100C567B77F000001 /* PrefsSourceLib */, + 68C3960B00C567B77F000001 /* QTFileLib */, + 68C395C000C567B77F000001 /* RTCPUtilitiesLib */, + 68C3960000C567B77F000001 /* RTPMetaInfoLib */, + 68C3964D00C567B77F000001 /* RTSPClientLib */, + 68C395F300C567B77F000001 /* HTTPUtilitiesLib */, + F57EED2F027E9EDD01FF7AB9 /* SafeStdLib */, + 68C3930600C567B67F000001 /* WebAdmin */, + 484082A803D78E3600DD2838 /* broadcasterctl */, + 68C3965C00C567B77F000001 /* External Frameworks and Libraries */, + 68C3967800C567B77F000001 /* Products */, + DB5FB48607C42A3D00A894EA /* man1 */, + DB5FB4F907C433BC00A894EA /* man8 */, + ); + name = StreamingServer; sourceTree = ""; }; - 68C392A100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSModule.h; - refType = 4; + 68C3920700C567B67F000001 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 68C3920B00C567B67F000001 /* PlatformHeader.h */, + 68C3920C00C567B67F000001 /* revision.h */, + B66082C20337F1DF0BDD2A6C /* defaultPaths.h */, + 68C3920E00C567B67F000001 /* streamingserver.xml */, + 0082672B01A2F39A00DD2AFC /* sample.mp3 */, + FB776F0007DD002400C0B6CE /* sample_50kbit.3gp */, + FB776EE607DCFD4C00C0B6CE /* sample_h264_300kbit.mp4 */, + FB776EE707DCFD4C00C0B6CE /* sample_h264_100kbit.mp4 */, + FB776EE907DCFD4C00C0B6CE /* sample_h264_1mbit.mp4 */, + 61B89716017F4FDD0EDD2AFC /* sample_300kbit.mov */, + 61B89717017F4FDD0EDD2AFC /* sample_100kbit.mov */, + 0075360D02EE064000DD2B4C /* sample_100kbit.mp4 */, + 0075360E02EE064000DD2B4C /* sample_300kbit.mp4 */, + 005B0878013B079200DD292F /* relayconfig.xml-Sample */, + 0082672501A1D6A300DD2AFC /* 3rdPartyAcknowledgements.rtf */, + ); + name = "Supporting Files"; sourceTree = ""; }; - 68C392A200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSPrefs.h; - refType = 4; + 68C3921300C567B67F000001 /* QTFileTools */ = { + isa = PBXGroup; + children = ( + 68C3922900C567B67F000001 /* QTRTPGen */, + 68C3921900C567B67F000001 /* QTSDPGen */, + 68C3923200C567B67F000001 /* QTRTPFileTest */, + 68C3923B00C567B67F000001 /* QTSampleLister */, + 68C3924400C567B67F000001 /* QTTrackInfo */, + 68C3924D00C567B67F000001 /* QTFileInfo */, + 68C3925600C567B67F000001 /* QTFileTest */, + 68C3925F00C567B67F000001 /* QTBroadcaster */, + 68C3926800C567B67F000001 /* RTPFileGen */, + ); + path = QTFileTools; sourceTree = ""; }; - 68C392A300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSSocket.h; - refType = 4; + 68C3921900C567B67F000001 /* QTSDPGen */ = { + isa = PBXGroup; + children = ( + 68C3921B00C567B67F000001 /* QTSDPGen.cpp */, + ); + name = QTSDPGen; + path = QTSDPGen.tproj; sourceTree = ""; }; - 68C392A400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSStream.h; - refType = 4; + 68C3922900C567B67F000001 /* QTRTPGen */ = { + isa = PBXGroup; + children = ( + 68C3922B00C567B67F000001 /* QTRTPGen.cpp */, + ); + name = QTRTPGen; + path = QTRTPGen.tproj; sourceTree = ""; }; - 68C392A500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSUserProfile.h; - refType = 4; + 68C3923200C567B67F000001 /* QTRTPFileTest */ = { + isa = PBXGroup; + children = ( + 68C3923400C567B67F000001 /* QTRTPFileTest.cpp */, + ); + name = QTRTPFileTest; + path = QTRTPFileTest.tproj; sourceTree = ""; }; - 68C392A600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPTask.h; - refType = 4; + 68C3923B00C567B67F000001 /* QTSampleLister */ = { + isa = PBXGroup; + children = ( + 68C3923D00C567B67F000001 /* QTSampleLister.cpp */, + ); + name = QTSampleLister; + path = QTSampleLister.tproj; sourceTree = ""; }; - 68C392A700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPBandwidthTracker.h; - refType = 4; + 68C3924400C567B67F000001 /* QTTrackInfo */ = { + isa = PBXGroup; + children = ( + 68C3924600C567B67F000001 /* QTTrackInfo.cpp */, + ); + name = QTTrackInfo; + path = QTTrackInfo.tproj; sourceTree = ""; }; - 68C392A800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPOverbufferWindow.h; - refType = 4; + 68C3924D00C567B67F000001 /* QTFileInfo */ = { + isa = PBXGroup; + children = ( + 68C3924F00C567B67F000001 /* QTFileInfo.cpp */, + ); + name = QTFileInfo; + path = QTFileInfo.tproj; sourceTree = ""; }; - 68C392A900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPPacketResender.h; - refType = 4; + 68C3925600C567B67F000001 /* QTFileTest */ = { + isa = PBXGroup; + children = ( + 68C3925800C567B67F000001 /* QTFileTest.cpp */, + ); + name = QTFileTest; + path = QTFileTest.tproj; sourceTree = ""; }; - 68C392AA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPSession.h; - refType = 4; + 68C3925F00C567B67F000001 /* QTBroadcaster */ = { + isa = PBXGroup; + children = ( + 68C3926100C567B67F000001 /* QTBroadcaster.cpp */, + ); + name = QTBroadcaster; + path = QTBroadcaster.tproj; sourceTree = ""; }; - 68C392AB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPSessionInterface.h; - refType = 4; + 68C3926800C567B67F000001 /* RTPFileGen */ = { + isa = PBXGroup; + children = ( + 68C3926A00C567B67F000001 /* RTPFileGen.cpp */, + 68C3926C00C567B67F000001 /* RTPFileDefs.h */, + ); + name = RTPFileGen; + path = RTPFileGen.tproj; sourceTree = ""; }; - 68C392AC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPStream.h; - refType = 4; + 68C3927300C567B67F000001 /* QuickTimeStreamingServer */ = { + isa = PBXGroup; + children = ( + 68C3927600C567B67F000001 /* main.cpp */, + 68C3927500C567B67F000001 /* GenerateXMLPrefs.cpp */, + 68C3929600C567B67F000001 /* GenerateXMLPrefs.h */, + 68C3927700C567B67F000001 /* QTSSCallbacks.cpp */, + 68C3929700C567B67F000001 /* QTSSCallbacks.h */, + 68C3927800C567B67F000001 /* QTSSDataConverter.cpp */, + 68C3929800C567B67F000001 /* QTSSDataConverter.h */, + 68C3927900C567B67F000001 /* QTSSDictionary.cpp */, + 68C3929900C567B67F000001 /* QTSSDictionary.h */, + 68C3927A00C567B67F000001 /* QTSSErrorLogModule.cpp */, + 68C3929A00C567B67F000001 /* QTSSErrorLogModule.h */, + 68C3927B00C567B67F000001 /* QTSServer.cpp */, + 68C3929B00C567B67F000001 /* QTSServer.h */, + 68C3927C00C567B67F000001 /* QTSServerInterface.cpp */, + 68C3929C00C567B67F000001 /* QTSServerInterface.h */, + 68C3927D00C567B67F000001 /* QTSServerPrefs.cpp */, + 68C3929D00C567B67F000001 /* QTSServerPrefs.h */, + 68C3927E00C567B67F000001 /* QTSSExpirationDate.cpp */, + 68C3929E00C567B67F000001 /* QTSSExpirationDate.h */, + 68C3927F00C567B67F000001 /* QTSSFile.cpp */, + 68C3929F00C567B67F000001 /* QTSSFile.h */, + 68C3928000C567B67F000001 /* QTSSMessages.cpp */, + 68C392A000C567B67F000001 /* QTSSMessages.h */, + 68C3928100C567B67F000001 /* QTSSModule.cpp */, + 68C392A100C567B67F000001 /* QTSSModule.h */, + 68C3928200C567B67F000001 /* QTSSPrefs.cpp */, + 68C392A200C567B67F000001 /* QTSSPrefs.h */, + 68C3928300C567B67F000001 /* QTSSSocket.cpp */, + 68C392A300C567B67F000001 /* QTSSSocket.h */, + 68C392A400C567B67F000001 /* QTSSStream.h */, + 68C3928400C567B67F000001 /* QTSSUserProfile.cpp */, + 68C392A500C567B67F000001 /* QTSSUserProfile.h */, + 68C3928500C567B67F000001 /* RTCPTask.cpp */, + 68C392A600C567B67F000001 /* RTCPTask.h */, + 68C3928600C567B67F000001 /* RTPBandwidthTracker.cpp */, + 68C392A700C567B67F000001 /* RTPBandwidthTracker.h */, + 68C3928700C567B67F000001 /* RTPOverbufferWindow.cpp */, + 68C392A800C567B67F000001 /* RTPOverbufferWindow.h */, + 68C3928800C567B67F000001 /* RTPPacketResender.cpp */, + 68C392A900C567B67F000001 /* RTPPacketResender.h */, + 68C3928900C567B67F000001 /* RTPSession.cpp */, + 68C392AA00C567B67F000001 /* RTPSession.h */, + 525CF5E909A634FF0096D127 /* RTPSession3GPP.cpp */, + 525CF5EA09A634FF0096D127 /* RTPSession3GPP.h */, + 68C3928A00C567B67F000001 /* RTPSessionInterface.cpp */, + 68C392AB00C567B67F000001 /* RTPSessionInterface.h */, + 68C3928B00C567B67F000001 /* RTPStream.cpp */, + 68C392AC00C567B67F000001 /* RTPStream.h */, + 520EF57009A60B21009892F1 /* RTPStream3gpp.cpp */, + 520EF57109A60B21009892F1 /* RTPStream3gpp.h */, + 68C3928C00C567B67F000001 /* RTSPProtocol.cpp */, + 68C392AD00C567B67F000001 /* RTSPProtocol.h */, + 68C3928D00C567B67F000001 /* RTSPRequest.cpp */, + 68C392AE00C567B67F000001 /* RTSPRequest.h */, + 52F909B8099D6AF5006F0FCA /* RTSPRequest3GPP.h */, + 52F909B9099D6AF5006F0FCA /* RTSPRequest3GPP.cpp */, + 68C3928E00C567B67F000001 /* RTSPRequestInterface.cpp */, + 68C392AF00C567B67F000001 /* RTSPRequestInterface.h */, + 68C3928F00C567B67F000001 /* RTSPRequestStream.cpp */, + 68C392B000C567B67F000001 /* RTSPRequestStream.h */, + 68C3929000C567B67F000001 /* RTSPResponseStream.cpp */, + 68C392B100C567B67F000001 /* RTSPResponseStream.h */, + 68C3929100C567B67F000001 /* RTSPSession.cpp */, + 68C392B200C567B67F000001 /* RTSPSession.h */, + 525CF5ED09A635180096D127 /* RTSPSession3GPP.cpp */, + 525CF5EE09A635180096D127 /* RTSPSession3GPP.h */, + 68C3929200C567B67F000001 /* RTSPSessionInterface.cpp */, + 68C392B300C567B67F000001 /* RTSPSessionInterface.h */, + 68C3929300C567B67F000001 /* RunServer.cpp */, + 68C392B400C567B67F000001 /* RunServer.h */, + ); + name = QuickTimeStreamingServer; + path = Server.tproj; sourceTree = ""; }; - 68C392AD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPProtocol.h; - refType = 4; + 68C392BC00C567B67F000001 /* PlaylistBroadcaster */ = { + isa = PBXGroup; + children = ( + 68C392C200C567B67F000001 /* PlaylistBroadcaster.cpp */, + 68C392CD00C567B67F000001 /* BroadcasterSession.cpp */, + 68C392E200C567B67F000001 /* BroadcasterSession.h */, + 68C392BE00C567B67F000001 /* BCasterTracker.cpp */, + 68C392CF00C567B67F000001 /* BCasterTracker.h */, + 68C392BF00C567B67F000001 /* BroadcastLog.cpp */, + 68C392D000C567B67F000001 /* BroadcastLog.h */, + 68C392C000C567B67F000001 /* NoRepeat.cpp */, + 68C392D100C567B67F000001 /* NoRepeat.h */, + 68C392C700C567B67F000001 /* PlaylistPicker.cpp */, + 68C392D700C567B67F000001 /* PlaylistPicker.h */, + 68C392C100C567B67F000001 /* PickerFromFile.cpp */, + 68C392D200C567B67F000001 /* PickerFromFile.h */, + 68C392CC00C567B67F000001 /* PLBroadcastDef.cpp */, + 68C392DC00C567B67F000001 /* PLBroadcastDef.h */, + 68C392C300C567B67F000001 /* playlist_broadcaster.cpp */, + 68C392D300C567B67F000001 /* playlist_broadcaster.h */, + 68C392C400C567B67F000001 /* playlist_elements.cpp */, + 68C392D400C567B67F000001 /* playlist_elements.h */, + 68C392C500C567B67F000001 /* playlist_lists.cpp */, + 68C392D500C567B67F000001 /* playlist_lists.h */, + 68C392C600C567B67F000001 /* playlist_parsers.cpp */, + 68C392D600C567B67F000001 /* playlist_parsers.h */, + 68C392C800C567B67F000001 /* playlist_QTRTPBroadcastFile.cpp */, + 68C392D800C567B67F000001 /* playlist_QTRTPBroadcastFile.h */, + 68C392C900C567B67F000001 /* playlist_SDPGen.cpp */, + 68C392D900C567B67F000001 /* playlist_SDPGen.h */, + 68C392CA00C567B67F000001 /* playlist_SimpleParse.cpp */, + 68C392DA00C567B67F000001 /* playlist_SimpleParse.h */, + 68C392CB00C567B67F000001 /* playlist_utils.cpp */, + 68C392DB00C567B67F000001 /* playlist_utils.h */, + 68C392DD00C567B67F000001 /* playlist_array.h */, + 68C392DE00C567B67F000001 /* SimplePlayListElement.h */, + 68C392DF00C567B67F000001 /* StSmartArrayPointer.h */, + 68C392E000C567B67F000001 /* TrackingElement.h */, + 68C392E100C567B67F000001 /* tailor.h */, + ); + name = PlaylistBroadcaster; + path = PlaylistBroadcaster.tproj; sourceTree = ""; }; - 68C392AE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPRequest.h; - refType = 4; + 68C392E900C567B67F000001 /* qtpasswd */ = { + isa = PBXGroup; + children = ( + 68C392EB00C567B67F000001 /* QTSSPasswd.cpp */, + ); + name = qtpasswd; + path = qtpasswd.tproj; sourceTree = ""; }; - 68C392AF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPRequestInterface.h; - refType = 4; + 68C392F200C567B67F000001 /* StreamingProxy */ = { + isa = PBXGroup; + children = ( + 68C392FA00C567B67F000001 /* proxy.c */, + 68C392F400C567B67F000001 /* proxy.h */, + 68C392F500C567B67F000001 /* proxy_plat.h */, + 68C392FB00C567B67F000001 /* proxy_unix.c */, + 68C392FC00C567B67F000001 /* shared_udp.c */, + 68C392F600C567B67F000001 /* shared_udp.h */, + 68C392FD00C567B67F000001 /* util.c */, + 68C392F700C567B67F000001 /* util.h */, + 68C39AE000C5A41F7F000001 /* get_opt.c */, + 68C39ADF00C5A41F7F000001 /* get_opt.h */, + 68C392FE00C567B67F000001 /* Supporting Files */, + ); + name = StreamingProxy; + path = StreamingProxy.tproj; sourceTree = ""; }; - 68C392B000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPRequestStream.h; - refType = 4; + 68C392FE00C567B67F000001 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 68C3930400C567B67F000001 /* streamingproxy.conf */, + 68C3930500C567B67F000001 /* StreamingProxy.html */, + ); + name = "Supporting Files"; sourceTree = ""; }; - 68C392B100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPResponseStream.h; - refType = 4; + 68C3930600C567B67F000001 /* WebAdmin */ = { + isa = PBXGroup; + children = ( + E98FD95E02F5BCA109DD2838 /* QTSSLinkApp */, + 00A7A0B30135DF8700DD2B4F /* NetSSLeay */, + 00A7A0D00135DF8700DD2B4F /* src */, + 00A7A0D20135DF8700DD2B4F /* StartupItems.bproj */, + 00A7A0D80135DF8700DD2B4F /* streamingadminserver_autostart.conf */, + 00A7A0D90135DF8700DD2B4F /* streamingadminserver_Darwin.conf */, + 00A7A0DA0135DF8700DD2B4F /* streamingadminserver_NT.conf */, + 00A7A0DB0135DF8700DD2B4F /* streamingadminserver.conf */, + 00A7A0DC0135DF8700DD2B4F /* streamingadminserver.pem */, + 00A7A0DD0135DF8700DD2B4F /* WebAdminHtml */, + ); + path = WebAdmin; sourceTree = ""; }; - 68C392B200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPSession.h; - refType = 4; - sourceTree = ""; - }; - 68C392B300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPSessionInterface.h; - refType = 4; - sourceTree = ""; - }; - 68C392B400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RunServer.h; - refType = 4; - sourceTree = ""; - }; - 68C392BC00C567B67F000001 = { + 68C3946D00C567B67F000001 /* AtomicLib */ = { + isa = PBXGroup; children = ( - 68C392C200C567B67F000001, - 68C392CD00C567B67F000001, - 68C392E200C567B67F000001, - 68C392BE00C567B67F000001, - 68C392CF00C567B67F000001, - 68C392BF00C567B67F000001, - 68C392D000C567B67F000001, - 68C392C000C567B67F000001, - 68C392D100C567B67F000001, - 68C392C700C567B67F000001, - 68C392D700C567B67F000001, - 68C392C100C567B67F000001, - 68C392D200C567B67F000001, - 68C392CC00C567B67F000001, - 68C392DC00C567B67F000001, - 68C392C300C567B67F000001, - 68C392D300C567B67F000001, - 68C392C400C567B67F000001, - 68C392D400C567B67F000001, - 68C392C500C567B67F000001, - 68C392D500C567B67F000001, - 68C392C600C567B67F000001, - 68C392D600C567B67F000001, - 68C392C800C567B67F000001, - 68C392D800C567B67F000001, - 68C392C900C567B67F000001, - 68C392D900C567B67F000001, - 68C392CA00C567B67F000001, - 68C392DA00C567B67F000001, - 68C392CB00C567B67F000001, - 68C392DB00C567B67F000001, - 68C392DD00C567B67F000001, - 68C392DE00C567B67F000001, - 68C392DF00C567B67F000001, - 68C392E000C567B67F000001, - 68C392E100C567B67F000001, + 68C3947200C567B67F000001 /* atomic_subr.s */, + 68C3947300C567B67F000001 /* timescale.c */, + 68C3947000C567B67F000001 /* timestamp.h */, + 68C3947400C567B67F000001 /* timestamp.s */, + F5EF9AEF01235DC301DD292F /* atomic.cpp */, + 68C3946F00C567B67F000001 /* atomic.h */, ); - isa = PBXGroup; - name = PlaylistBroadcaster; - path = PlaylistBroadcaster.tproj; - refType = 4; - sourceTree = ""; - }; - 68C392BE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BCasterTracker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392BF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BroadcastLog.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = NoRepeat.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PickerFromFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PlaylistBroadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_broadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_elements.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_lists.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_parsers.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PlaylistPicker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_QTRTPBroadcastFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392C900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_SDPGen.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_SimpleParse.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = playlist_utils.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = PLBroadcastDef.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BroadcasterSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C392CF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BCasterTracker.h; - refType = 4; - sourceTree = ""; - }; - 68C392D000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcastLog.h; - refType = 4; - sourceTree = ""; - }; - 68C392D100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = NoRepeat.h; - refType = 4; - sourceTree = ""; - }; - 68C392D200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PickerFromFile.h; - refType = 4; + path = AtomicLib; sourceTree = ""; }; - 68C392D300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_broadcaster.h; - refType = 4; + 68C3947900C567B67F000001 /* CommonUtilitiesLib */ = { + isa = PBXGroup; + children = ( + 140020320A5C488E002AF86E /* SVector.h */, + F57EED2E027E9EDD01FF7AB9 /* SafeStdLib.h */, + 68C3947B00C567B67F000001 /* ConfParser.cpp */, + 68C3949E00C567B67F000001 /* ConfParser.h */, + 68C3947C00C567B67F000001 /* DateTranslator.cpp */, + 68C3949F00C567B67F000001 /* DateTranslator.h */, + 68C394A000C567B67F000001 /* DssStopwatch.h */, + 68C3947D00C567B67F000001 /* EventContext.cpp */, + 68C394A200C567B67F000001 /* EventContext.h */, + 68C394A300C567B67F000001 /* FastCopyMacros.h */, + 68C3947E00C567B67F000001 /* IdleTask.cpp */, + 68C394A600C567B67F000001 /* IdleTask.h */, + 68C3947F00C567B67F000001 /* md5digest.cpp */, + 68C394A800C567B67F000001 /* md5digest.h */, + 68C3948000C567B67F000001 /* MyAssert.cpp */, + 68C394A900C567B67F000001 /* MyAssert.h */, + 68C3948100C567B67F000001 /* OS.cpp */, + 68C394AA00C567B67F000001 /* OS.h */, + 68C394AB00C567B67F000001 /* OSArrayObjectDeleter.h */, + 68C3948200C567B67F000001 /* OSBufferPool.cpp */, + 68C394AC00C567B67F000001 /* OSBufferPool.h */, + 68C3948300C567B67F000001 /* OSCodeFragment.cpp */, + 68C394AD00C567B67F000001 /* OSCodeFragment.h */, + 68C3948400C567B67F000001 /* OSCond.cpp */, + 68C394AE00C567B67F000001 /* OSCond.h */, + 68C3948500C567B67F000001 /* OSFileSource.cpp */, + 68C394AF00C567B67F000001 /* OSFileSource.h */, + 68C394B000C567B67F000001 /* OSHashTable.h */, + 68C394B100C567B67F000001 /* OSHeaders.h */, + 68C3948600C567B67F000001 /* OSHeap.cpp */, + 68C394B200C567B67F000001 /* OSHeap.h */, + 68C394B300C567B67F000001 /* OSMemory.h */, + 68C3948700C567B67F000001 /* OSMutex.cpp */, + 68C394B400C567B67F000001 /* OSMutex.h */, + 68C3948800C567B67F000001 /* OSMutexRW.cpp */, + 68C394B500C567B67F000001 /* OSMutexRW.h */, + 68C3948900C567B67F000001 /* OSQueue.cpp */, + 68C394B600C567B67F000001 /* OSQueue.h */, + 68C3948A00C567B67F000001 /* OSRef.cpp */, + 68C394B700C567B67F000001 /* OSRef.h */, + 68C3948B00C567B67F000001 /* OSThread.cpp */, + 68C394B800C567B67F000001 /* OSThread.h */, + 68C394B900C567B67F000001 /* PLDoubleLinkedList.h */, + 68C3948C00C567B67F000001 /* QueryParamList.cpp */, + 68C394BA00C567B67F000001 /* QueryParamList.h */, + 68C3948D00C567B67F000001 /* ResizeableStringFormatter.cpp */, + 68C394BB00C567B67F000001 /* ResizeableStringFormatter.h */, + 68C3948E00C567B67F000001 /* Socket.cpp */, + 68C394BC00C567B67F000001 /* Socket.h */, + 68C3948F00C567B67F000001 /* SocketUtils.cpp */, + 68C394BD00C567B67F000001 /* SocketUtils.h */, + 68C394BE00C567B67F000001 /* StopWatch.h */, + 68C3949000C567B67F000001 /* StringFormatter.cpp */, + 68C394BF00C567B67F000001 /* StringFormatter.h */, + 68C3949100C567B67F000001 /* StringParser.cpp */, + 68C394C000C567B67F000001 /* StringParser.h */, + 68C3949200C567B67F000001 /* StringTranslator.cpp */, + 68C394C100C567B67F000001 /* StringTranslator.h */, + 68C3949300C567B67F000001 /* StrPtrLen.cpp */, + 68C394C200C567B67F000001 /* StrPtrLen.h */, + 68C3949400C567B67F000001 /* Task.cpp */, + 68C394C300C567B67F000001 /* Task.h */, + 68C3949500C567B67F000001 /* TCPListenerSocket.cpp */, + 68C394C400C567B67F000001 /* TCPListenerSocket.h */, + 68C3949600C567B67F000001 /* TCPSocket.cpp */, + 68C394C500C567B67F000001 /* TCPSocket.h */, + 68C3949700C567B67F000001 /* TimeoutTask.cpp */, + 68C394C700C567B67F000001 /* TimeoutTask.h */, + 68C3949800C567B67F000001 /* UDPDemuxer.cpp */, + 68C394C900C567B67F000001 /* UDPDemuxer.h */, + 68C3949900C567B67F000001 /* UDPSocket.cpp */, + 68C394CA00C567B67F000001 /* UDPSocket.h */, + 68C3949A00C567B67F000001 /* UDPSocketPool.cpp */, + 68C394CB00C567B67F000001 /* UDPSocketPool.h */, + 68C3949B00C567B67F000001 /* UserAgentParser.cpp */, + 68C394CC00C567B67F000001 /* UserAgentParser.h */, + 68C394CE00C567B67F000001 /* base64.c */, + 68C3949D00C567B67F000001 /* base64.h */, + 68C394A100C567B67F000001 /* ev.h */, + 84413B8909D9FEBB00F2EB8C /* ev.cpp */, + 68C394CF00C567B67F000001 /* getopt.c */, + 68C394A400C567B67F000001 /* getopt.h */, + 68C394D000C567B67F000001 /* GetWord.c */, + 68C394A500C567B67F000001 /* GetWord.h */, + 68C394D100C567B67F000001 /* md5.c */, + 68C394A700C567B67F000001 /* md5.h */, + 68C394D200C567B67F000001 /* Trim.c */, + 68C394C800C567B67F000001 /* Trim.h */, + 68C394C600C567B67F000001 /* tempcalls.h */, + F50DFC10025357EB01F41924 /* SDPUtils.cpp */, + F50DFC11025357EB01F41924 /* SDPUtils.h */, + ); + path = CommonUtilitiesLib; sourceTree = ""; }; - 68C392D400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_elements.h; - refType = 4; + 68C394D900C567B67F000001 /* APIModules */ = { + isa = PBXGroup; + children = ( + 52F900FF0B2A561D00D99AE0 /* QTSSDSAuthModule */, + B6494F9D0279F88D0BDD2A6C /* QTSSRefMovieModule */, + 68C394DF00C567B67F000001 /* OSMemory_Modules */, + 68C394E800C567B67F000001 /* QTSSAccessLogModule */, + 68C394F300C567B67F000001 /* QTSSFileModule */, + 68C394FE00C567B67F000001 /* QTSSReflectorModule */, + 68C3951E00C567B67F000001 /* QTSSFlowControlModule */, + 68C3952900C567B67F000001 /* QTSSWebDebugModule */, + 68C3953400C567B67F000001 /* QTSSWebStatsModule */, + 68C3953F00C567B67F000001 /* QTSSSpamDefenseModule */, + 68C3954A00C567B67F000001 /* QTSSRawFileModule */, + 68C3955500C567B67F000001 /* QTSSFilePrivsModule */, + 5DB82F170DD3AB8D005193F8 /* QTSSDemoRedirectModule */, + 68C3956000C567B67F000001 /* QTSSDemoAuthorizationModule */, + 68C3956D00C567B67F000001 /* QTSSPOSIXFileSysModule */, + 68C3957800C567B67F000001 /* QTSSDemoSMILModule */, + 68C3958300C567B67F000001 /* QTSSAdminModule */, + 68C3959200C567B77F000001 /* QTSSHttpFileModule */, + 68C3959D00C567B77F000001 /* QTSSRTPFileModule */, + 68C395AA00C567B77F000001 /* QTSSAccessModule */, + B62C45CD012B253B0BDD2A6C /* QTSSMP3StreamingModule */, + 004E2890025B798400DD2B50 /* QTSSHomeDirectoryModule */, + B6DC97FD02FB30350BDD2A6C /* QTSSProxyModule */, + ); + path = APIModules; sourceTree = ""; }; - 68C392D500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_lists.h; - refType = 4; + 68C394DF00C567B67F000001 /* OSMemory_Modules */ = { + isa = PBXGroup; + children = ( + 68C394E100C567B67F000001 /* OSMemory_Modules.cpp */, + ); + path = OSMemory_Modules; sourceTree = ""; }; - 68C392D600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_parsers.h; - refType = 4; + 68C394E800C567B67F000001 /* QTSSAccessLogModule */ = { + isa = PBXGroup; + children = ( + 68C394EA00C567B67F000001 /* QTSSAccessLogModule.cpp */, + 68C394EC00C567B67F000001 /* QTSSAccessLogModule.h */, + ); + path = QTSSAccessLogModule; sourceTree = ""; }; - 68C392D700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PlaylistPicker.h; - refType = 4; + 68C394F300C567B67F000001 /* QTSSFileModule */ = { + isa = PBXGroup; + children = ( + 68C394F500C567B67F000001 /* QTSSFileModule.cpp */, + 68C394F700C567B67F000001 /* QTSSFileModule.h */, + ); + path = QTSSFileModule; sourceTree = ""; }; - 68C392D800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_QTRTPBroadcastFile.h; - refType = 4; + 68C394FE00C567B67F000001 /* QTSSReflectorModule */ = { + isa = PBXGroup; + children = ( + 68C3950000C567B67F000001 /* QTSSReflectorModule.cpp */, + 68C3950C00C567B67F000001 /* QTSSReflectorModule.h */, + 68C3950100C567B67F000001 /* QTSSRelayModule.cpp */, + 68C3950D00C567B67F000001 /* QTSSRelayModule.h */, + 68C3950200C567B67F000001 /* QTSSSplitterModule.cpp */, + 68C3950E00C567B67F000001 /* QTSSSplitterModule.h */, + 68C3950300C567B67F000001 /* RCFSourceInfo.cpp */, + 68C3950F00C567B67F000001 /* RCFSourceInfo.h */, + 68C3950400C567B67F000001 /* ReflectorSession.cpp */, + 68C3951100C567B67F000001 /* ReflectorSession.h */, + 68C3950500C567B67F000001 /* ReflectorStream.cpp */, + 68C3951200C567B67F000001 /* ReflectorStream.h */, + 68C3951000C567B67F000001 /* ReflectorOutput.h */, + 68C3950600C567B67F000001 /* RelayOutput.cpp */, + 68C3951300C567B67F000001 /* RelayOutput.h */, + 68C3950700C567B67F000001 /* RelaySDPSourceInfo.cpp */, + 68C3951400C567B67F000001 /* RelaySDPSourceInfo.h */, + 68C3950800C567B67F000001 /* RTPSessionOutput.cpp */, + 68C3951500C567B67F000001 /* RTPSessionOutput.h */, + 68C3950900C567B67F000001 /* RTSPSourceInfo.cpp */, + 68C3951600C567B67F000001 /* RTSPSourceInfo.h */, + 68C3950A00C567B67F000001 /* SequenceNumberMap.cpp */, + 68C3951700C567B67F000001 /* SequenceNumberMap.h */, + 0066F5CE016E6AD000DD2B4C /* RelaySession.cpp */, + 0066F5CF016E6AD000DD2B4C /* RelaySession.h */, + ); + path = QTSSReflectorModule; sourceTree = ""; }; - 68C392D900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_SDPGen.h; - refType = 4; + 68C3951E00C567B67F000001 /* QTSSFlowControlModule */ = { + isa = PBXGroup; + children = ( + 68C3952000C567B67F000001 /* QTSSFlowControlModule.cpp */, + 68C3952200C567B67F000001 /* QTSSFlowControlModule.h */, + ); + path = QTSSFlowControlModule; sourceTree = ""; }; - 68C392DA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_SimpleParse.h; - refType = 4; + 68C3952900C567B67F000001 /* QTSSWebDebugModule */ = { + isa = PBXGroup; + children = ( + 68C3952B00C567B67F000001 /* QTSSWebDebugModule.cpp */, + 68C3952D00C567B67F000001 /* QTSSWebDebugModule.h */, + ); + path = QTSSWebDebugModule; sourceTree = ""; }; - 68C392DB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_utils.h; - refType = 4; + 68C3953400C567B67F000001 /* QTSSWebStatsModule */ = { + isa = PBXGroup; + children = ( + 68C3953600C567B67F000001 /* QTSSWebStatsModule.cpp */, + 68C3953800C567B67F000001 /* QTSSWebStatsModule.h */, + ); + path = QTSSWebStatsModule; sourceTree = ""; }; - 68C392DC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PLBroadcastDef.h; - refType = 4; + 68C3953F00C567B67F000001 /* QTSSSpamDefenseModule */ = { + isa = PBXGroup; + children = ( + 68C3954100C567B67F000001 /* QTSSSpamDefenseModule.cpp */, + 68C3954300C567B67F000001 /* QTSSSpamDefenseModule.h */, + ); + name = QTSSSpamDefenseModule; + path = QTSSSpamDefenseModule.bproj; sourceTree = ""; }; - 68C392DD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = playlist_array.h; - refType = 4; + 68C3954A00C567B67F000001 /* QTSSRawFileModule */ = { + isa = PBXGroup; + children = ( + 68C3954C00C567B67F000001 /* QTSSRawFileModule.cpp */, + 68C3954E00C567B67F000001 /* QTSSRawFileModule.h */, + ); + name = QTSSRawFileModule; + path = QTSSRawFileModule.bproj; sourceTree = ""; }; - 68C392DE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SimplePlayListElement.h; - refType = 4; + 68C3955500C567B67F000001 /* QTSSFilePrivsModule */ = { + isa = PBXGroup; + children = ( + 68C3955700C567B67F000001 /* QTSSFilePrivsModule.cpp */, + 68C3955900C567B67F000001 /* QTSSFilePrivsModule.h */, + ); + name = QTSSFilePrivsModule; + path = QTSSFilePrivsModule.bproj; sourceTree = ""; }; - 68C392DF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StSmartArrayPointer.h; - refType = 4; + 68C3956000C567B67F000001 /* QTSSDemoAuthorizationModule */ = { + isa = PBXGroup; + children = ( + 5D6E2C6F0D57A11700D6774E /* QTSSDemoAuthorizationModule.h */, + 5D6E2C700D57A11700D6774E /* QTSSDemoAuthorizationModule.cpp */, + ); + name = QTSSDemoAuthorizationModule; + path = QTSSDemoAuthorizationModule.bproj; sourceTree = ""; }; - 68C392E000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TrackingElement.h; - refType = 4; + 68C3956D00C567B67F000001 /* QTSSPOSIXFileSysModule */ = { + isa = PBXGroup; + children = ( + 68C3956F00C567B67F000001 /* QTSSPosixFileSysModule.cpp */, + 68C3957100C567B67F000001 /* QTSSPosixFileSysModule.h */, + ); + path = QTSSPOSIXFileSysModule; sourceTree = ""; }; - 68C392E100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = tailor.h; - refType = 4; + 68C3957800C567B67F000001 /* QTSSDemoSMILModule */ = { + isa = PBXGroup; + children = ( + 68C3957A00C567B67F000001 /* QTSSDemoSMILModule.cpp */, + 68C3957C00C567B67F000001 /* QTSSDemoSMILModule.h */, + ); + name = QTSSDemoSMILModule; + path = QTSSDemoSMILModule.bproj; sourceTree = ""; }; - 68C392E200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = BroadcasterSession.h; - refType = 4; + 68C3958300C567B67F000001 /* QTSSAdminModule */ = { + isa = PBXGroup; + children = ( + 68C3958700C567B67F000001 /* QTSSAdminModule.cpp */, + 68C3958B00C567B67F000001 /* QTSSAdminModule.h */, + 68C3958600C567B67F000001 /* AdminQuery.cpp */, + 68C3958A00C567B67F000001 /* AdminQuery.h */, + 68C3958500C567B67F000001 /* AdminElementNode.cpp */, + 68C3958900C567B67F000001 /* AdminElementNode.h */, + ); + path = QTSSAdminModule; sourceTree = ""; }; - 68C392E900C567B67F000001 = { + 68C3959200C567B77F000001 /* QTSSHttpFileModule */ = { + isa = PBXGroup; children = ( - 68C392EB00C567B67F000001, + 68C3959400C567B77F000001 /* QTSSHttpFileModule.cpp */, + 68C3959600C567B77F000001 /* QTSSHttpFileModule.h */, ); - isa = PBXGroup; - name = qtpasswd; - path = qtpasswd.tproj; - refType = 4; + path = QTSSHttpFileModule; sourceTree = ""; }; - 68C392EB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - lineEnding = 0; - path = QTSSPasswd.cpp; - refType = 4; + 68C3959D00C567B77F000001 /* QTSSRTPFileModule */ = { + isa = PBXGroup; + children = ( + 68C3959F00C567B77F000001 /* QTSSRTPFileModule.cpp */, + 68C395A200C567B77F000001 /* QTSSRTPFileModule.h */, + 68C395A000C567B77F000001 /* RTPFileSession.cpp */, + 68C395A300C567B77F000001 /* RTPFileSession.h */, + ); + path = QTSSRTPFileModule; sourceTree = ""; }; - 68C392F200C567B67F000001 = { + 68C395AA00C567B77F000001 /* QTSSAccessModule */ = { + isa = PBXGroup; children = ( - 68C392FA00C567B67F000001, - 68C392F400C567B67F000001, - 68C392F500C567B67F000001, - 68C392FB00C567B67F000001, - 68C392FC00C567B67F000001, - 68C392F600C567B67F000001, - 68C392FD00C567B67F000001, - 68C392F700C567B67F000001, - 68C39AE000C5A41F7F000001, - 68C39ADF00C5A41F7F000001, - 68C392FE00C567B67F000001, + 68C395AD00C567B77F000001 /* QTSSAccessModule.cpp */, + 68C395B000C567B77F000001 /* QTSSAccessModule.h */, + 68C395AC00C567B77F000001 /* AccessChecker.cpp */, + 68C395AF00C567B77F000001 /* AccessChecker.h */, ); - isa = PBXGroup; - name = StreamingProxy; - path = StreamingProxy.tproj; - refType = 4; + path = QTSSAccessModule; sourceTree = ""; }; - 68C392F400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = proxy.h; - refType = 4; + 68C395B700C567B77F000001 /* OSMemoryLib */ = { + isa = PBXGroup; + children = ( + 68C395B900C567B77F000001 /* OSMemory.cpp */, + ); + path = OSMemoryLib; sourceTree = ""; }; - 68C392F500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = proxy_plat.h; - refType = 4; + 68C395C000C567B77F000001 /* RTCPUtilitiesLib */ = { + isa = PBXGroup; + children = ( + 52240D0B09C17A0100E87224 /* RTCPAPPNADUPacket.cpp */, + 52240D0C09C17A0100E87224 /* RTCPAPPNADUPacket.h */, + 68C395C200C567B77F000001 /* RTCPAckPacket.cpp */, + 68C395C700C567B77F000001 /* RTCPAckPacket.h */, + 68C395C300C567B77F000001 /* RTCPAPPPacket.cpp */, + 68C395C800C567B77F000001 /* RTCPAPPPacket.h */, + 52E625E309ADD2AE00DDAFD6 /* RTCPAPPQTSSPacket.cpp */, + 52E625E509ADD2B500DDAFD6 /* RTCPAPPQTSSPacket.h */, + 68C395C400C567B77F000001 /* RTCPPacket.cpp */, + 68C395C900C567B77F000001 /* RTCPPacket.h */, + 68C395C500C567B77F000001 /* RTCPSRPacket.cpp */, + 68C395CA00C567B77F000001 /* RTCPSRPacket.h */, + 5E31EA180A76E3670042B6D0 /* RTCPRRPacket.h */, + 5E31EA230A76E39F0042B6D0 /* RTCPAckPacketFmt.h */, + 5E4F28590A8922460011409D /* RTCPNADUPacketFmt.h */, + ); + path = RTCPUtilitiesLib; sourceTree = ""; }; - 68C392F600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = shared_udp.h; - refType = 4; + 68C395D100C567B77F000001 /* PrefsSourceLib */ = { + isa = PBXGroup; + children = ( + 68C395D300C567B77F000001 /* FilePrefsSource.cpp */, + 68C395D800C567B77F000001 /* FilePrefsSource.h */, + 68C395D600C567B77F000001 /* XMLPrefsParser.cpp */, + 68C395DD00C567B77F000001 /* XMLPrefsParser.h */, + 003D3EDC0132F64000DD292F /* XMLParser.cpp */, + 003D3EDD0132F64000DD292F /* XMLParser.h */, + 68C395DB00C567B77F000001 /* PrefsSource.h */, + ); + path = PrefsSourceLib; sourceTree = ""; }; - 68C392F700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = util.h; - refType = 4; + 68C395E600C567B77F000001 /* APIStubLib */ = { + isa = PBXGroup; + children = ( + 68C395EA00C567B77F000001 /* QTSS.h */, + 68C395E800C567B77F000001 /* QTSS_Private.cpp */, + 68C395EC00C567B77F000001 /* QTSS_Private.h */, + 68C395EB00C567B77F000001 /* QTSSRTSPProtocol.h */, + ); + path = APIStubLib; sourceTree = ""; }; - 68C392FA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = proxy.c; - refType = 4; + 68C395F300C567B77F000001 /* HTTPUtilitiesLib */ = { + isa = PBXGroup; + children = ( + 68C395F500C567B77F000001 /* HTTPProtocol.cpp */, + 68C395F800C567B77F000001 /* HTTPProtocol.h */, + 68C395F600C567B77F000001 /* HTTPRequest.cpp */, + 68C395F900C567B77F000001 /* HTTPRequest.h */, + ); + path = HTTPUtilitiesLib; sourceTree = ""; }; - 68C392FB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = proxy_unix.c; - refType = 4; + 68C3960000C567B77F000001 /* RTPMetaInfoLib */ = { + isa = PBXGroup; + children = ( + 68C3960200C567B77F000001 /* RTPMetaInfoPacket.cpp */, + 68C3960400C567B77F000001 /* RTPMetaInfoPacket.h */, + ); + path = RTPMetaInfoLib; sourceTree = ""; }; - 68C392FC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = shared_udp.c; - refType = 4; + 68C3960B00C567B77F000001 /* QTFileLib */ = { + isa = PBXGroup; + children = ( + 68C3960D00C567B77F000001 /* QTAtom.cpp */, + 68C3962100C567B77F000001 /* QTAtom.h */, + 68C3960E00C567B77F000001 /* QTAtom_dref.cpp */, + 68C3962200C567B77F000001 /* QTAtom_dref.h */, + 68C3960F00C567B77F000001 /* QTAtom_elst.cpp */, + 68C3962300C567B77F000001 /* QTAtom_elst.h */, + 68C3961000C567B77F000001 /* QTAtom_hinf.cpp */, + 68C3962400C567B77F000001 /* QTAtom_hinf.h */, + 68C3961100C567B77F000001 /* QTAtom_mdhd.cpp */, + 68C3962500C567B77F000001 /* QTAtom_mdhd.h */, + 68C3961200C567B77F000001 /* QTAtom_mvhd.cpp */, + 68C3962600C567B77F000001 /* QTAtom_mvhd.h */, + 68C3961300C567B77F000001 /* QTAtom_stco.cpp */, + 68C3962700C567B77F000001 /* QTAtom_stco.h */, + 68C3961400C567B77F000001 /* QTAtom_stsc.cpp */, + 68C3962800C567B77F000001 /* QTAtom_stsc.h */, + 68C3961500C567B77F000001 /* QTAtom_stsd.cpp */, + 68C3962900C567B77F000001 /* QTAtom_stsd.h */, + 68C3961600C567B77F000001 /* QTAtom_stss.cpp */, + 68C3962A00C567B77F000001 /* QTAtom_stss.h */, + 68C3961700C567B77F000001 /* QTAtom_stsz.cpp */, + 68C3962B00C567B77F000001 /* QTAtom_stsz.h */, + 68C3961800C567B77F000001 /* QTAtom_stts.cpp */, + 68C3962C00C567B77F000001 /* QTAtom_stts.h */, + 68C3961900C567B77F000001 /* QTAtom_tkhd.cpp */, + 68C3962D00C567B77F000001 /* QTAtom_tkhd.h */, + 68C3961A00C567B77F000001 /* QTAtom_tref.cpp */, + 68C3962E00C567B77F000001 /* QTAtom_tref.h */, + 68C3961B00C567B77F000001 /* QTFile.cpp */, + 68C3962F00C567B77F000001 /* QTFile.h */, + 68C3961C00C567B77F000001 /* QTFile_FileControlBlock.cpp */, + 68C3963000C567B77F000001 /* QTFile_FileControlBlock.h */, + 68C3961D00C567B77F000001 /* QTHintTrack.cpp */, + 68C3963100C567B77F000001 /* QTHintTrack.h */, + 68C3961E00C567B77F000001 /* QTRTPFile.cpp */, + 68C3963200C567B77F000001 /* QTRTPFile.h */, + 68C3961F00C567B77F000001 /* QTTrack.cpp */, + 68C3963300C567B77F000001 /* QTTrack.h */, + ); + path = QTFileLib; sourceTree = ""; }; - 68C392FD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = util.c; - refType = 4; + 68C3963A00C567B77F000001 /* APICommonCode */ = { + isa = PBXGroup; + children = ( + 523A8FF50A0AE08D0091F744 /* QTSS3GPPModuleUtils.cpp */, + 523A8FF60A0AE08D0091F744 /* QTSS3GPPModuleUtils.h */, + 68C3963C00C567B77F000001 /* QTAccessFile.cpp */, + 68C3964200C567B77F000001 /* QTAccessFile.h */, + 68C3963D00C567B77F000001 /* QTSSModuleUtils.cpp */, + 68C3964300C567B77F000001 /* QTSSModuleUtils.h */, + 68C3963E00C567B77F000001 /* QTSSRollingLog.cpp */, + 68C3964400C567B77F000001 /* QTSSRollingLog.h */, + 68C3963F00C567B77F000001 /* SDPSourceInfo.cpp */, + 68C3964500C567B77F000001 /* SDPSourceInfo.h */, + 68C3964000C567B77F000001 /* SourceInfo.cpp */, + 68C3964600C567B77F000001 /* SourceInfo.h */, + F532558B0288434401DD2B50 /* QTSSMemoryDeleter.h */, + ); + path = APICommonCode; sourceTree = ""; }; - 68C392FE00C567B67F000001 = { + 68C3964D00C567B77F000001 /* RTSPClientLib */ = { + isa = PBXGroup; children = ( - 68C3930400C567B67F000001, - 68C3930500C567B67F000001, + 68C3964F00C567B77F000001 /* ClientSession.cpp */, + 68C3965300C567B77F000001 /* ClientSession.h */, + 68C3965000C567B77F000001 /* ClientSocket.cpp */, + 68C3965400C567B77F000001 /* ClientSocket.h */, + 68C3965100C567B77F000001 /* RTSPClient.cpp */, + 68C3965500C567B77F000001 /* RTSPClient.h */, + 5E3095E70A70485A0055DEFA /* RTPPacket.h */, + 5E64F7ED0A759C9000715BC3 /* PlayerSimulator.h */, ); - isa = PBXGroup; - name = "Supporting Files"; - refType = 4; + path = RTSPClientLib; sourceTree = ""; }; - 68C3930400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - path = streamingproxy.conf; - refType = 4; + 68C3965C00C567B77F000001 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 68C3965E00C567B77F000001 /* Foundation.framework */, + E98FD96A02F5BD6309DD2838 /* Cocoa.framework */, + F5C07FA60415973001DD2E7A /* Security.framework */, + 522ACD55041CC52B0062FFCE /* libperl.dylib */, + 8425759F0C334F9300813FC9 /* OpenDirectory.framework */, + 52D93C830B29A30800633F60 /* DirectoryService.framework */, + 522ACD57041CC5700062FFCE /* libcrypto.dylib */, + 522ACD59041CC5E90062FFCE /* libssl.0.9.dylib */, + ); + name = "External Frameworks and Libraries"; sourceTree = ""; }; - 68C3930500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = StreamingProxy.html; - refType = 4; + 68C3967800C567B77F000001 /* Products */ = { + isa = PBXGroup; + children = ( + 68C3967A00C567B77F000001 /* libTestQTFileLib.a */, + 68C3969C00C567B77F000001 /* libAtomicLib.a */, + 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */, + 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */, + 68C3969F00C567B77F000001 /* libQTSSAccessLogModule.a */, + 68C396A000C567B77F000001 /* libQTSSFileModule.a */, + 68C396A100C567B77F000001 /* libQTSSReflectorModule.a */, + 68C396A200C567B77F000001 /* libQTSSFlowControlModule.a */, + 68C396A300C567B77F000001 /* libQTSSWebDebugModule.a */, + 68C396A900C567B77F000001 /* libQTSSPOSIXFileSysModule.a */, + 68C396AB00C567B77F000001 /* libQTSSAdminModule.a */, + 68C396AE00C567B77F000001 /* libQTSSAccessModule.a */, + 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */, + 68C396AF00C567B77F000001 /* libOSMemoryLib.a */, + 68C396B100C567B77F000001 /* libPrefsSourceLib.a */, + 68C396B200C567B77F000001 /* libAPIStubLib.a */, + 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */, + 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */, + 68C396B500C567B77F000001 /* libQTFileLib.a */, + 68C396B600C567B77F000001 /* libAPICommonCode.a */, + 68C396B700C567B77F000001 /* libRTSPClientLib.a */, + B62C45C5012B21870BDD2A6C /* libQTSSMP3StreamingModule.a */, + 00E5906600F4DD0400DD2B4C /* StreamingLoadTool */, + F533DA95011744B601DD292F /* MP3Broadcaster */, + 000DA9E30135948500DD2B4F /* WebAdmin */, + F6A48AED02390D0401000103 /* libQTFileExternalLib.a */, + 004E2889025B787000DD2B50 /* QTSSHomeDirectoryModule.bundle */, + F5E91D0D027758E801DD2AFC /* QTSSAccessModule.bundle */, + F5E91D1F02775B5D01DD2AFC /* QTSSFileModule.bundle */, + F5E91D2F02775C5601DD2AFC /* QTSSAccessLogModule.bundle */, + F5E91D3002775C5601DD2AFC /* QTSSReflectorModule.bundle */, + F5E91D6602775D2501DD2AFC /* QTSSFlowControlModule.bundle */, + F5E91D6702775D2501DD2AFC /* QTSSWebDebugModule.bundle */, + F5E91D6802775D2501DD2AFC /* QTSSWebStatsModule.bundle */, + F5E91D9D02775EEB01DD2AFC /* QTSSPosixFileSysModule.bundle */, + F5E91DA60277603301DD2AFC /* QTSSAdminModule.bundle */, + F5E91DA70277603301DD2AFC /* QTSSHttpFileModule.bundle */, + F5E91DA80277603301DD2AFC /* QTSSRTPFileModule.bundle */, + F56B5A600278ADD701DD2AFC /* QuickTimeStreamingServer */, + B6494F950279F74E0BDD2A6C /* QTSSRefMovieModule.bundle */, + F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */, + F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */, + B649D5CA02B97F160BDD2A6C /* StreamingProxyServer */, + E98FD95C02F5BC3309DD2838 /* QTSS Web Admin.app */, + B6DC97FC02FB2EAB0BDD2A6C /* libQTSSProxyModule.a */, + 484082A503D78E0900DD2838 /* broadcasterctl */, + 52E30B10041DD13500FFB433 /* SSLeay.bundle.bundle */, + 520F71F2070B767800B604C1 /* qtpasswd */, + 520F71F4070B767800B604C1 /* QTSSFilePrivsModule.bundle */, + 520F71F5070B767800B604C1 /* RTPFileGen */, + 520F71F7070B767800B604C1 /* QTFileTest */, + 520F71F9070B767800B604C1 /* QTSampleLister */, + 520F71FB070B767800B604C1 /* QTSSDemoSMILModule.bundle */, + 520F71FC070B767800B604C1 /* QTSSSpamDefenseModule.bundle */, + 520F71FD070B767800B604C1 /* QTRTPGen */, + 520F71FF070B767800B604C1 /* StreamingProxy */, + 520F7201070B767800B604C1 /* QuickTimeStreamingServer */, + 520F7203070B767800B604C1 /* QTBroadcaster */, + 520F7205070B767800B604C1 /* QTTrackInfo */, + 520F7207070B767800B604C1 /* QTRTPFileTest */, + 520F7209070B767800B604C1 /* QTSDPGen */, + 520F720B070B767800B604C1 /* PlaylistBroadcaster */, + 520F720D070B767800B604C1 /* QTFileInfo */, + 520F720F070B767800B604C1 /* QTSSDemoAuthorizationModule.bundle */, + 520F7210070B767800B604C1 /* QTSSRawFileModule.bundle */, + 5293FDFF0B2A45DD00141B86 /* libQTSSDSAuthModule.a */, + 52B24EA40B30005400A6567F /* QTSSDSAuthModule.bundle.bundle */, + 523576220C33A0890098823D /* QuickTimeStreamingServer */, + 84CE3C490CEE607F0056DB85 /* libQTSSDSAuthModule.a */, + 5DB82F340DD3AC4C005193F8 /* QTSSDemoRedirectModule.bundle */, + ); + name = Products; sourceTree = ""; }; - 68C3930600C567B67F000001 = { + B62C45CD012B253B0BDD2A6C /* QTSSMP3StreamingModule */ = { + isa = PBXGroup; children = ( - E98FD95E02F5BCA109DD2838, - 00A7A0B30135DF8700DD2B4F, - 00A7A0D00135DF8700DD2B4F, - 00A7A0D20135DF8700DD2B4F, - 00A7A0D80135DF8700DD2B4F, - 00A7A0D90135DF8700DD2B4F, - 00A7A0DA0135DF8700DD2B4F, - 00A7A0DB0135DF8700DD2B4F, - 00A7A0DC0135DF8700DD2B4F, - 00A7A0DD0135DF8700DD2B4F, + B62C45CB012B24BD0BDD2A6C /* QTSSMP3StreamingModule.cpp */, + B62C45CE012B253B0BDD2A6C /* QTSSMP3StreamingModule.h */, ); - isa = PBXGroup; - path = WebAdmin; - refType = 4; + name = QTSSMP3StreamingModule; sourceTree = ""; }; - 68C3946D00C567B67F000001 = { + B6494F9D0279F88D0BDD2A6C /* QTSSRefMovieModule */ = { + isa = PBXGroup; children = ( - 68C3947200C567B67F000001, - 68C3947300C567B67F000001, - 68C3947000C567B67F000001, - 68C3947400C567B67F000001, - F5EF9AEF01235DC301DD292F, - 68C3946F00C567B67F000001, + B6494F9E0279F88D0BDD2A6C /* QTSSRefMovieModule.cpp */, + B6494F9F0279F88D0BDD2A6C /* QTSSRefMovieModule.h */, ); - isa = PBXGroup; - path = AtomicLib; - refType = 4; + name = QTSSRefMovieModule; sourceTree = ""; }; - 68C3946F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = atomic.h; - refType = 4; + B6DC97FD02FB30350BDD2A6C /* QTSSProxyModule */ = { + isa = PBXGroup; + children = ( + B6DC97FE02FB30350BDD2A6C /* QTSSProxyModule.cpp */, + B6DC97FF02FB30350BDD2A6C /* QTSSProxyModule.h */, + ); + path = QTSSProxyModule; sourceTree = ""; }; - 68C3947000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = timestamp.h; - refType = 4; + DB5FB48607C42A3D00A894EA /* man1 */ = { + isa = PBXGroup; + children = ( + DB5FB4CE07C4336500A894EA /* MP3Broadcaster.1 */, + DB5FB4CF07C4336500A894EA /* PlaylistBroadcaster.1 */, + DB5FB4D007C4336500A894EA /* qtpasswd.1 */, + ); + name = man1; sourceTree = ""; }; - 68C3947200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.asm; - path = atomic_subr.s; - refType = 4; + DB5FB4F907C433BC00A894EA /* man8 */ = { + isa = PBXGroup; + children = ( + DB5FB4CD07C4336500A894EA /* createuserstreamingdir.8 */, + DB5FB4D107C4336500A894EA /* QuickTimeStreamingServer.8 */, + DB5FB4D207C4336500A894EA /* streamingadminserver.pl.8 */, + DB5FB4D307C4336500A894EA /* StreamingLoadTool.8 */, + ); + name = man8; sourceTree = ""; }; - 68C3947300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = timescale.c; - refType = 4; + E98FD95E02F5BCA109DD2838 /* QTSSLinkApp */ = { + isa = PBXGroup; + children = ( + E98FD96002F5BCF209DD2838 /* QTSS Admin app.icns */, + E98FD97102F5BD9609DD2838 /* qtsslinkapp_main.m */, + ); + name = QTSSLinkApp; sourceTree = ""; }; - 68C3947400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.asm; - path = timestamp.s; - refType = 4; + F533DA8B011744B601DD292F /* MP3Broadcaster */ = { + isa = PBXGroup; + children = ( + F533DA8C011744B601DD292F /* BroadcasterMain.cpp */, + F533DA8D011744B601DD292F /* MP3Broadcaster.cpp */, + F533DA8E011744B601DD292F /* MP3Broadcaster.h */, + F533DA8F011744B601DD292F /* MP3BroadcasterLog.cpp */, + F533DA90011744B601DD292F /* MP3BroadcasterLog.h */, + F533DA91011744B601DD292F /* MP3FileBroadcaster.cpp */, + F533DA92011744B601DD292F /* MP3FileBroadcaster.h */, + F533DA93011744B601DD292F /* MP3MetaInfoUpdater.cpp */, + F533DA94011744B601DD292F /* MP3MetaInfoUpdater.h */, + ); + path = MP3Broadcaster; sourceTree = ""; }; - 68C3947900C567B67F000001 = { + F57EED2F027E9EDD01FF7AB9 /* SafeStdLib */ = { + isa = PBXGroup; children = ( - F57EED2E027E9EDD01FF7AB9, - 68C3947B00C567B67F000001, - 68C3949E00C567B67F000001, - 68C3947C00C567B67F000001, - 68C3949F00C567B67F000001, - 68C394A000C567B67F000001, - 68C3947D00C567B67F000001, - 68C394A200C567B67F000001, - 68C394A300C567B67F000001, - 68C3947E00C567B67F000001, - 68C394A600C567B67F000001, - 68C3947F00C567B67F000001, - 68C394A800C567B67F000001, - 68C3948000C567B67F000001, - 68C394A900C567B67F000001, - 68C3948100C567B67F000001, - 68C394AA00C567B67F000001, - 68C394AB00C567B67F000001, - 68C3948200C567B67F000001, - 68C394AC00C567B67F000001, - 68C3948300C567B67F000001, - 68C394AD00C567B67F000001, - 68C3948400C567B67F000001, - 68C394AE00C567B67F000001, - 68C3948500C567B67F000001, - 68C394AF00C567B67F000001, - 68C394B000C567B67F000001, - 68C394B100C567B67F000001, - 68C3948600C567B67F000001, - 68C394B200C567B67F000001, - 68C394B300C567B67F000001, - 68C3948700C567B67F000001, - 68C394B400C567B67F000001, - 68C3948800C567B67F000001, - 68C394B500C567B67F000001, - 68C3948900C567B67F000001, - 68C394B600C567B67F000001, - 68C3948A00C567B67F000001, - 68C394B700C567B67F000001, - 68C3948B00C567B67F000001, - 68C394B800C567B67F000001, - 68C394B900C567B67F000001, - 68C3948C00C567B67F000001, - 68C394BA00C567B67F000001, - 68C3948D00C567B67F000001, - 68C394BB00C567B67F000001, - 68C3948E00C567B67F000001, - 68C394BC00C567B67F000001, - 68C3948F00C567B67F000001, - 68C394BD00C567B67F000001, - 68C394BE00C567B67F000001, - 68C3949000C567B67F000001, - 68C394BF00C567B67F000001, - 68C3949100C567B67F000001, - 68C394C000C567B67F000001, - 68C3949200C567B67F000001, - 68C394C100C567B67F000001, - 68C3949300C567B67F000001, - 68C394C200C567B67F000001, - 68C3949400C567B67F000001, - 68C394C300C567B67F000001, - 68C3949500C567B67F000001, - 68C394C400C567B67F000001, - 68C3949600C567B67F000001, - 68C394C500C567B67F000001, - 68C3949700C567B67F000001, - 68C394C700C567B67F000001, - 68C3949800C567B67F000001, - 68C394C900C567B67F000001, - 68C3949900C567B67F000001, - 68C394CA00C567B67F000001, - 68C3949A00C567B67F000001, - 68C394CB00C567B67F000001, - 68C3949B00C567B67F000001, - 68C394CC00C567B67F000001, - 68C394CE00C567B67F000001, - 68C3949D00C567B67F000001, - 68C394A100C567B67F000001, - 68C394CF00C567B67F000001, - 68C394A400C567B67F000001, - 68C394D000C567B67F000001, - 68C394A500C567B67F000001, - 68C394D100C567B67F000001, - 68C394A700C567B67F000001, - 68C394D200C567B67F000001, - 68C394C800C567B67F000001, - 68C394C600C567B67F000001, - F50DFC10025357EB01F41924, - F50DFC11025357EB01F41924, + F57EED30027E9EDD01FF7AB9 /* DynamicModuleStdLib.cpp */, + F57EED31027E9EDD01FF7AB9 /* InternalStdLib.cpp */, ); - isa = PBXGroup; - path = CommonUtilitiesLib; - refType = 4; - sourceTree = ""; + name = SafeStdLib; + sourceTree = SOURCE_ROOT; }; - 68C3947B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ConfParser.cpp; - refType = 4; - sourceTree = ""; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 000DA9E50135948600DD2B4F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3947C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = DateTranslator.cpp; - refType = 4; - sourceTree = ""; + 004E288B025B787100DD2B50 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 004E2893025B798500DD2B50 /* QTSSHomeDirectoryModule.h in Headers */, + 00BC5F62025E827400DD2B50 /* DirectoryInfo.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3947D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = EventContext.cpp; - refType = 4; - sourceTree = ""; + 00E5906800F4DD0500DD2B4C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3947E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = IdleTask.cpp; - refType = 4; - sourceTree = ""; + 484082A003D78E0900DD2838 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 484082AF03D78E3600DD2838 /* BroadcasterAdminController.h in Headers */, + 484082B203D78E3600DD2838 /* BroadcasterRemoteAdmin.h in Headers */, + 484082B303D78E4A00DD2838 /* revision.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3947F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = md5digest.cpp; - refType = 4; - sourceTree = ""; + 523575A10C33A0890098823D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 523575A20C33A0890098823D /* GenerateXMLPrefs.h in Headers */, + 523575A30C33A0890098823D /* QTSSCallbacks.h in Headers */, + 523575A40C33A0890098823D /* QTSSDataConverter.h in Headers */, + 523575A50C33A0890098823D /* QTSSDictionary.h in Headers */, + 523575A60C33A0890098823D /* QTSSErrorLogModule.h in Headers */, + 523575A70C33A0890098823D /* QTSServer.h in Headers */, + 523575A80C33A0890098823D /* QTSServerInterface.h in Headers */, + 523575A90C33A0890098823D /* QTSServerPrefs.h in Headers */, + 523575AA0C33A0890098823D /* QTSSExpirationDate.h in Headers */, + 523575AB0C33A0890098823D /* QTSSFile.h in Headers */, + 523575AC0C33A0890098823D /* QTSSMessages.h in Headers */, + 523575AD0C33A0890098823D /* QTSSModule.h in Headers */, + 523575AE0C33A0890098823D /* QTSSPrefs.h in Headers */, + 523575AF0C33A0890098823D /* QTSSSocket.h in Headers */, + 523575B00C33A0890098823D /* QTSSStream.h in Headers */, + 523575B10C33A0890098823D /* QTSSUserProfile.h in Headers */, + 523575B20C33A0890098823D /* RTCPTask.h in Headers */, + 523575B30C33A0890098823D /* RTPBandwidthTracker.h in Headers */, + 523575B40C33A0890098823D /* RTPOverbufferWindow.h in Headers */, + 523575B50C33A0890098823D /* RTPPacketResender.h in Headers */, + 523575B60C33A0890098823D /* RTPSession.h in Headers */, + 523575B70C33A0890098823D /* RTPSessionInterface.h in Headers */, + 523575B80C33A0890098823D /* RTPStream.h in Headers */, + 523575B90C33A0890098823D /* RTSPProtocol.h in Headers */, + 523575BA0C33A0890098823D /* RTSPRequest3GPP.h in Headers */, + 523575BB0C33A0890098823D /* RTSPRequest.h in Headers */, + 523575BC0C33A0890098823D /* RTSPRequestInterface.h in Headers */, + 523575BD0C33A0890098823D /* RTSPRequestStream.h in Headers */, + 523575BE0C33A0890098823D /* RTSPResponseStream.h in Headers */, + 523575BF0C33A0890098823D /* RTSPSession.h in Headers */, + 523575C00C33A0890098823D /* RTSPSessionInterface.h in Headers */, + 523575C10C33A0890098823D /* RunServer.h in Headers */, + 523575C20C33A0890098823D /* RTPStream3gpp.h in Headers */, + 523575C30C33A0890098823D /* RTPSession3GPP.h in Headers */, + 523575C40C33A0890098823D /* RTSPSession3GPP.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5293FDFA0B2A45DD00141B86 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 52F9010F0B2A561D00D99AE0 /* DSAccessChecker.h in Headers */, + 52F901110B2A561D00D99AE0 /* CDirService.h in Headers */, + 52F901130B2A561D00D99AE0 /* DSBuffer.h in Headers */, + 52F901140B2A561D00D99AE0 /* DSDataList.h in Headers */, + 52F901150B2A561D00D99AE0 /* DSDataNode.h in Headers */, + 52F901170B2A561D00D99AE0 /* QTSSDSAuthModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MyAssert.cpp; - refType = 4; - sourceTree = ""; + 52B24E9E0B30005400A6567F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OS.cpp; - refType = 4; - sourceTree = ""; + 52E30B0A041DD13500FFB433 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSBufferPool.cpp; - refType = 4; - sourceTree = ""; + 5DB82F220DD3AC4C005193F8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 5DB82F380DD3AD35005193F8 /* QTSSDemoRedirectModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSCodeFragment.cpp; - refType = 4; - sourceTree = ""; + 68C396BD00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSCond.cpp; - refType = 4; - sourceTree = ""; + 68C396C700C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSFileSource.cpp; - refType = 4; - sourceTree = ""; + 68C396D200C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSHeap.cpp; - refType = 4; - sourceTree = ""; + 68C396DC00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMutex.cpp; - refType = 4; - sourceTree = ""; + 68C396E600C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMutexRW.cpp; - refType = 4; - sourceTree = ""; + 68C396F000C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSQueue.cpp; - refType = 4; - sourceTree = ""; + 68C396FA00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSRef.cpp; - refType = 4; - sourceTree = ""; + 68C3970400C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSThread.cpp; - refType = 4; - sourceTree = ""; + 68C3970E00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QueryParamList.cpp; - refType = 4; - sourceTree = ""; + 68C3971800C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3971900C567B77F000001 /* RTPFileDefs.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ResizeableStringFormatter.cpp; - refType = 4; - sourceTree = ""; + 68C3972D00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3972E00C567B77F000001 /* GenerateXMLPrefs.h in Headers */, + 68C3972F00C567B77F000001 /* QTSSCallbacks.h in Headers */, + 68C3973000C567B77F000001 /* QTSSDataConverter.h in Headers */, + 68C3973100C567B77F000001 /* QTSSDictionary.h in Headers */, + 68C3973200C567B77F000001 /* QTSSErrorLogModule.h in Headers */, + 68C3973300C567B77F000001 /* QTSServer.h in Headers */, + 68C3973400C567B77F000001 /* QTSServerInterface.h in Headers */, + 68C3973500C567B77F000001 /* QTSServerPrefs.h in Headers */, + 68C3973600C567B77F000001 /* QTSSExpirationDate.h in Headers */, + 68C3973700C567B77F000001 /* QTSSFile.h in Headers */, + 68C3973800C567B77F000001 /* QTSSMessages.h in Headers */, + 68C3973900C567B77F000001 /* QTSSModule.h in Headers */, + 68C3973A00C567B77F000001 /* QTSSPrefs.h in Headers */, + 68C3973B00C567B77F000001 /* QTSSSocket.h in Headers */, + 68C3973C00C567B77F000001 /* QTSSStream.h in Headers */, + 68C3973D00C567B77F000001 /* QTSSUserProfile.h in Headers */, + 68C3973E00C567B77F000001 /* RTCPTask.h in Headers */, + 68C3973F00C567B77F000001 /* RTPBandwidthTracker.h in Headers */, + 68C3974000C567B77F000001 /* RTPOverbufferWindow.h in Headers */, + 68C3974100C567B77F000001 /* RTPPacketResender.h in Headers */, + 68C3974200C567B77F000001 /* RTPSession.h in Headers */, + 68C3974300C567B77F000001 /* RTPSessionInterface.h in Headers */, + 68C3974400C567B77F000001 /* RTPStream.h in Headers */, + 68C3974500C567B77F000001 /* RTSPProtocol.h in Headers */, + 52F909BA099D6AF5006F0FCA /* RTSPRequest3GPP.h in Headers */, + 68C3974600C567B77F000001 /* RTSPRequest.h in Headers */, + 68C3974700C567B77F000001 /* RTSPRequestInterface.h in Headers */, + 68C3974800C567B77F000001 /* RTSPRequestStream.h in Headers */, + 68C3974900C567B77F000001 /* RTSPResponseStream.h in Headers */, + 68C3974A00C567B77F000001 /* RTSPSession.h in Headers */, + 68C3974B00C567B77F000001 /* RTSPSessionInterface.h in Headers */, + 68C3974C00C567B77F000001 /* RunServer.h in Headers */, + 520EF57309A60B21009892F1 /* RTPStream3gpp.h in Headers */, + 525CF5EC09A635000096D127 /* RTPSession3GPP.h in Headers */, + 525CF5F009A635180096D127 /* RTSPSession3GPP.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C3978900C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3978A00C567B77F000001 /* BCasterTracker.h in Headers */, + 68C3978B00C567B77F000001 /* BroadcastLog.h in Headers */, + 68C3978C00C567B77F000001 /* NoRepeat.h in Headers */, + 68C3978D00C567B77F000001 /* PickerFromFile.h in Headers */, + 68C3978E00C567B77F000001 /* playlist_broadcaster.h in Headers */, + 68C3978F00C567B77F000001 /* playlist_elements.h in Headers */, + 68C3979000C567B77F000001 /* playlist_lists.h in Headers */, + 68C3979100C567B77F000001 /* playlist_parsers.h in Headers */, + 68C3979200C567B77F000001 /* PlaylistPicker.h in Headers */, + 68C3979300C567B77F000001 /* playlist_QTRTPBroadcastFile.h in Headers */, + 68C3979400C567B77F000001 /* playlist_SDPGen.h in Headers */, + 68C3979500C567B77F000001 /* playlist_SimpleParse.h in Headers */, + 68C3979600C567B77F000001 /* playlist_utils.h in Headers */, + 68C3979700C567B77F000001 /* PLBroadcastDef.h in Headers */, + 68C3979800C567B77F000001 /* playlist_array.h in Headers */, + 68C3979900C567B77F000001 /* SimplePlayListElement.h in Headers */, + 68C3979A00C567B77F000001 /* StSmartArrayPointer.h in Headers */, + 68C3979B00C567B77F000001 /* TrackingElement.h in Headers */, + 68C3979C00C567B77F000001 /* tailor.h in Headers */, + 68C3979D00C567B77F000001 /* BroadcasterSession.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C397B800C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = Socket.cpp; - refType = 4; - sourceTree = ""; + 68C397C100C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C397C200C567B77F000001 /* proxy.h in Headers */, + 68C397C300C567B77F000001 /* proxy_plat.h in Headers */, + 68C397C400C567B77F000001 /* shared_udp.h in Headers */, + 68C397C500C567B77F000001 /* util.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3948F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SocketUtils.cpp; - refType = 4; - sourceTree = ""; + 68C3987400C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3987500C567B77F000001 /* atomic.h in Headers */, + 68C3987600C567B77F000001 /* timestamp.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StringFormatter.cpp; - refType = 4; - sourceTree = ""; + 68C3988000C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3988100C567B77F000001 /* base64.h in Headers */, + 68C3988200C567B77F000001 /* ConfParser.h in Headers */, + 68C3988300C567B77F000001 /* DateTranslator.h in Headers */, + 68C3988400C567B77F000001 /* DssStopwatch.h in Headers */, + 68C3988500C567B77F000001 /* ev.h in Headers */, + 68C3988600C567B77F000001 /* EventContext.h in Headers */, + 68C3988700C567B77F000001 /* FastCopyMacros.h in Headers */, + 68C3988800C567B77F000001 /* getopt.h in Headers */, + 68C3988900C567B77F000001 /* GetWord.h in Headers */, + 68C3988A00C567B77F000001 /* IdleTask.h in Headers */, + 68C3988B00C567B77F000001 /* md5.h in Headers */, + 68C3988C00C567B77F000001 /* md5digest.h in Headers */, + 68C3988D00C567B77F000001 /* MyAssert.h in Headers */, + 68C3988E00C567B77F000001 /* OS.h in Headers */, + 68C3988F00C567B77F000001 /* OSArrayObjectDeleter.h in Headers */, + 68C3989000C567B77F000001 /* OSBufferPool.h in Headers */, + 68C3989100C567B77F000001 /* OSCodeFragment.h in Headers */, + 68C3989200C567B77F000001 /* OSCond.h in Headers */, + 68C3989300C567B77F000001 /* OSFileSource.h in Headers */, + 68C3989400C567B77F000001 /* OSHashTable.h in Headers */, + 68C3989500C567B77F000001 /* OSHeaders.h in Headers */, + 68C3989600C567B77F000001 /* OSHeap.h in Headers */, + 68C3989700C567B77F000001 /* OSMemory.h in Headers */, + 68C3989800C567B77F000001 /* OSMutex.h in Headers */, + 68C3989900C567B77F000001 /* OSMutexRW.h in Headers */, + 68C3989A00C567B77F000001 /* OSQueue.h in Headers */, + 68C3989B00C567B77F000001 /* OSRef.h in Headers */, + 68C3989C00C567B77F000001 /* OSThread.h in Headers */, + 68C3989D00C567B77F000001 /* PLDoubleLinkedList.h in Headers */, + 68C3989E00C567B77F000001 /* QueryParamList.h in Headers */, + 68C3989F00C567B77F000001 /* ResizeableStringFormatter.h in Headers */, + 68C398A000C567B77F000001 /* Socket.h in Headers */, + 68C398A100C567B77F000001 /* SocketUtils.h in Headers */, + 68C398A200C567B77F000001 /* StopWatch.h in Headers */, + 68C398A300C567B77F000001 /* StringFormatter.h in Headers */, + 68C398A400C567B77F000001 /* StringParser.h in Headers */, + 68C398A500C567B77F000001 /* StringTranslator.h in Headers */, + 68C398A600C567B77F000001 /* StrPtrLen.h in Headers */, + 68C398A700C567B77F000001 /* Task.h in Headers */, + 68C398A800C567B77F000001 /* TCPListenerSocket.h in Headers */, + 68C398A900C567B77F000001 /* TCPSocket.h in Headers */, + 68C398AA00C567B77F000001 /* tempcalls.h in Headers */, + 68C398AB00C567B77F000001 /* TimeoutTask.h in Headers */, + 68C398AC00C567B77F000001 /* Trim.h in Headers */, + 68C398AD00C567B77F000001 /* UDPDemuxer.h in Headers */, + 68C398AE00C567B77F000001 /* UDPSocket.h in Headers */, + 68C398AF00C567B77F000001 /* UDPSocketPool.h in Headers */, + 68C398B000C567B77F000001 /* UserAgentParser.h in Headers */, + F50DFC12025357EB01F41924 /* SDPUtils.h in Headers */, + 140020330A5C488E002AF86E /* SVector.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C398E100C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StringParser.cpp; - refType = 4; - sourceTree = ""; + 68C398E900C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C398EA00C567B77F000001 /* QTSSAccessLogModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StringTranslator.cpp; - refType = 4; - sourceTree = ""; + 68C398F200C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C398F300C567B77F000001 /* QTSSFileModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = StrPtrLen.cpp; - refType = 4; - sourceTree = ""; + 68C398FB00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C398FC00C567B77F000001 /* QTSSReflectorModule.h in Headers */, + 68C398FD00C567B77F000001 /* QTSSRelayModule.h in Headers */, + 68C398FF00C567B77F000001 /* RCFSourceInfo.h in Headers */, + 68C3990000C567B77F000001 /* ReflectorOutput.h in Headers */, + 68C3990100C567B77F000001 /* ReflectorSession.h in Headers */, + 68C3990200C567B77F000001 /* ReflectorStream.h in Headers */, + 68C3990300C567B77F000001 /* RelayOutput.h in Headers */, + 68C3990400C567B77F000001 /* RelaySDPSourceInfo.h in Headers */, + 68C3990500C567B77F000001 /* RTPSessionOutput.h in Headers */, + 68C3990600C567B77F000001 /* RTSPSourceInfo.h in Headers */, + 68C3990700C567B77F000001 /* SequenceNumberMap.h in Headers */, + 0066F5D0016E6AD000DD2B4C /* RelaySession.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = Task.cpp; - refType = 4; - sourceTree = ""; + 68C3991A00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3991B00C567B77F000001 /* QTSSFlowControlModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = TCPListenerSocket.cpp; - refType = 4; - sourceTree = ""; + 68C3992300C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3992400C567B77F000001 /* QTSSWebDebugModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = TCPSocket.cpp; - refType = 4; - sourceTree = ""; + 68C3993500C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3993600C567B77F000001 /* QTSSSpamDefenseModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = TimeoutTask.cpp; - refType = 4; - sourceTree = ""; + 68C3994400C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3994500C567B77F000001 /* QTSSRawFileModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UDPDemuxer.cpp; - refType = 4; - sourceTree = ""; + 68C3995300C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3995400C567B77F000001 /* QTSSFilePrivsModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UDPSocket.cpp; - refType = 4; - sourceTree = ""; + 68C3996300C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 5D375D890D5A86C500EF4430 /* QTSSDemoAuthorizationModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UDPSocketPool.cpp; - refType = 4; - sourceTree = ""; + 68C3997300C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3997400C567B77F000001 /* QTSSPosixFileSysModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = UserAgentParser.cpp; - refType = 4; - sourceTree = ""; + 68C3997C00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3997D00C567B77F000001 /* QTSSDemoSMILModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = base64.h; - refType = 4; - sourceTree = ""; + 68C3998B00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3998C00C567B77F000001 /* AdminElementNode.h in Headers */, + 68C3998D00C567B77F000001 /* AdminQuery.h in Headers */, + 68C3998E00C567B77F000001 /* QTSSAdminModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ConfParser.h; - refType = 4; - sourceTree = ""; + 68C399B000C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C399B100C567B77F000001 /* AccessChecker.h in Headers */, + 68C399B200C567B77F000001 /* QTSSAccessModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3949F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = DateTranslator.h; - refType = 4; - sourceTree = ""; + 68C399C200C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = DssStopwatch.h; - refType = 4; - sourceTree = ""; + 68C399CA00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C399CB00C567B77F000001 /* RTCPAckPacket.h in Headers */, + 68C399CC00C567B77F000001 /* RTCPAPPPacket.h in Headers */, + 68C399CD00C567B77F000001 /* RTCPPacket.h in Headers */, + 68C399CE00C567B77F000001 /* RTCPSRPacket.h in Headers */, + 5273197F09AE0A690028AE2B /* RTCPAPPQTSSPacket.h in Headers */, + 52240D0E09C17A0100E87224 /* RTCPAPPNADUPacket.h in Headers */, + 5E4F285A0A8922460011409D /* RTCPNADUPacketFmt.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ev.h; - refType = 4; - sourceTree = ""; + 68C399D900C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C399DA00C567B77F000001 /* FilePrefsSource.h in Headers */, + 68C399DD00C567B77F000001 /* PrefsSource.h in Headers */, + 68C399DF00C567B77F000001 /* XMLPrefsParser.h in Headers */, + 003D3EDF0132F64100DD292F /* XMLParser.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = EventContext.h; - refType = 4; - sourceTree = ""; + 68C399EB00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C399EC00C567B77F000001 /* QTSS.h in Headers */, + 68C399ED00C567B77F000001 /* QTSSRTSPProtocol.h in Headers */, + 68C399EE00C567B77F000001 /* QTSS_Private.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = FastCopyMacros.h; - refType = 4; - sourceTree = ""; + 68C399F600C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C399F700C567B77F000001 /* HTTPProtocol.h in Headers */, + 68C399F800C567B77F000001 /* HTTPRequest.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = getopt.h; - refType = 4; - sourceTree = ""; + 68C39A0100C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A0200C567B77F000001 /* RTPMetaInfoPacket.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = GetWord.h; - refType = 4; - sourceTree = ""; + 68C39A0A00C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A0B00C567B77F000001 /* QTAtom.h in Headers */, + 68C39A0C00C567B77F000001 /* QTAtom_dref.h in Headers */, + 68C39A0D00C567B77F000001 /* QTAtom_elst.h in Headers */, + 68C39A0E00C567B77F000001 /* QTAtom_hinf.h in Headers */, + 68C39A0F00C567B77F000001 /* QTAtom_mdhd.h in Headers */, + 68C39A1000C567B77F000001 /* QTAtom_mvhd.h in Headers */, + 68C39A1100C567B77F000001 /* QTAtom_stco.h in Headers */, + 68C39A1200C567B77F000001 /* QTAtom_stsc.h in Headers */, + 68C39A1300C567B77F000001 /* QTAtom_stsd.h in Headers */, + 68C39A1400C567B77F000001 /* QTAtom_stss.h in Headers */, + 68C39A1500C567B77F000001 /* QTAtom_stsz.h in Headers */, + 68C39A1600C567B77F000001 /* QTAtom_stts.h in Headers */, + 68C39A1700C567B77F000001 /* QTAtom_tkhd.h in Headers */, + 68C39A1800C567B77F000001 /* QTAtom_tref.h in Headers */, + 68C39A1900C567B77F000001 /* QTFile.h in Headers */, + 68C39A1A00C567B77F000001 /* QTFile_FileControlBlock.h in Headers */, + 68C39A1B00C567B77F000001 /* QTHintTrack.h in Headers */, + 68C39A1C00C567B77F000001 /* QTRTPFile.h in Headers */, + 68C39A1D00C567B77F000001 /* QTTrack.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C39A3700C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A3800C567B77F000001 /* QTAccessFile.h in Headers */, + 68C39A3900C567B77F000001 /* QTSSModuleUtils.h in Headers */, + 68C39A3A00C567B77F000001 /* QTSSRollingLog.h in Headers */, + 68C39A3B00C567B77F000001 /* SDPSourceInfo.h in Headers */, + 68C39A3C00C567B77F000001 /* SourceInfo.h in Headers */, + F532558C0288434401DD2B50 /* QTSSMemoryDeleter.h in Headers */, + 523A8FF80A0AE08D0091F744 /* QTSS3GPPModuleUtils.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = IdleTask.h; - refType = 4; - sourceTree = ""; + 68C39A4800C567B77F000001 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A4900C567B77F000001 /* ClientSession.h in Headers */, + 68C39A4A00C567B77F000001 /* ClientSocket.h in Headers */, + 68C39A4B00C567B77F000001 /* RTSPClient.h in Headers */, + 5E3095F10A7048780055DEFA /* RTPPacket.h in Headers */, + 5E64F7EE0A759C9000715BC3 /* PlayerSimulator.h in Headers */, + 5E31EA190A76E3670042B6D0 /* RTCPRRPacket.h in Headers */, + 5E31EA240A76E39F0042B6D0 /* RTCPAckPacketFmt.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = md5.h; - refType = 4; - sourceTree = ""; + 84CE3C370CEE607F0056DB85 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 84CE3C380CEE607F0056DB85 /* DSAccessChecker.h in Headers */, + 84CE3C390CEE607F0056DB85 /* CDirService.h in Headers */, + 84CE3C3A0CEE607F0056DB85 /* DSBuffer.h in Headers */, + 84CE3C3B0CEE607F0056DB85 /* DSDataList.h in Headers */, + 84CE3C3C0CEE607F0056DB85 /* DSDataNode.h in Headers */, + 84CE3C3D0CEE607F0056DB85 /* QTSSDSAuthModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = md5digest.h; - refType = 4; - sourceTree = ""; + B62C45C7012B21880BDD2A6C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B62C45CF012B253C0BDD2A6C /* QTSSMP3StreamingModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394A900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MyAssert.h; - refType = 4; - sourceTree = ""; + B6494F970279F7500BDD2A6C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B6494FA10279F88F0BDD2A6C /* QTSSRefMovieModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394AA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OS.h; - refType = 4; - sourceTree = ""; + B649D5CC02B97F170BDD2A6C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B649D5D302B9813B0BDD2A6C /* GenerateXMLPrefs.h in Headers */, + B649D5D402B9813B0BDD2A6C /* QTSSCallbacks.h in Headers */, + B649D5D502B9813B0BDD2A6C /* QTSSDataConverter.h in Headers */, + B649D5D602B9813B0BDD2A6C /* QTSSDictionary.h in Headers */, + B649D5D702B9813C0BDD2A6C /* QTSSErrorLogModule.h in Headers */, + B649D5D802B9813C0BDD2A6C /* QTSServer.h in Headers */, + B649D5D902B9813C0BDD2A6C /* QTSServerInterface.h in Headers */, + B649D5DA02B9813C0BDD2A6C /* QTSServerPrefs.h in Headers */, + B649D5DB02B9813C0BDD2A6C /* QTSSExpirationDate.h in Headers */, + B649D5DC02B9813C0BDD2A6C /* QTSSFile.h in Headers */, + B649D5DD02B9813C0BDD2A6C /* QTSSMessages.h in Headers */, + B649D5DE02B9813C0BDD2A6C /* QTSSModule.h in Headers */, + B649D5DF02B9813C0BDD2A6C /* QTSSPrefs.h in Headers */, + B649D5E002B9813C0BDD2A6C /* QTSSSocket.h in Headers */, + B649D5E102B9813C0BDD2A6C /* QTSSStream.h in Headers */, + B649D5E202B9813C0BDD2A6C /* QTSSUserProfile.h in Headers */, + B649D5E302B9813C0BDD2A6C /* RTCPTask.h in Headers */, + B649D5E402B9813C0BDD2A6C /* RTPBandwidthTracker.h in Headers */, + B649D5E502B9813C0BDD2A6C /* RTPOverbufferWindow.h in Headers */, + B649D5E602B9813C0BDD2A6C /* RTPPacketResender.h in Headers */, + B649D5E702B9813C0BDD2A6C /* RTPSession.h in Headers */, + B649D5E802B9813C0BDD2A6C /* RTPSessionInterface.h in Headers */, + B649D5E902B9813C0BDD2A6C /* RTPStream.h in Headers */, + B649D5EA02B9813C0BDD2A6C /* RTSPProtocol.h in Headers */, + B649D5EB02B9813C0BDD2A6C /* RTSPRequest.h in Headers */, + B649D5EC02B9813C0BDD2A6C /* RTSPRequestInterface.h in Headers */, + B649D5ED02B9813C0BDD2A6C /* RTSPRequestStream.h in Headers */, + B649D5EE02B9813C0BDD2A6C /* RTSPResponseStream.h in Headers */, + B649D5EF02B9813C0BDD2A6C /* RTSPSession.h in Headers */, + B649D5F002B9813C0BDD2A6C /* RTSPSessionInterface.h in Headers */, + B649D5F102B9813C0BDD2A6C /* RunServer.h in Headers */, + B649D5F902B9813C0BDD2A6C /* QTSS.h in Headers */, + B649D5FA02B9813C0BDD2A6C /* QTSS_Private.h in Headers */, + B649D5FB02B9813C0BDD2A6C /* QTSSRTSPProtocol.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B6DC97F702FB2EAB0BDD2A6C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B6DC980102FB30350BDD2A6C /* QTSSProxyModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394AB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSArrayObjectDeleter.h; - refType = 4; - sourceTree = ""; + E98FD95602F5BC3309DD2838 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394AC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSBufferPool.h; - refType = 4; - sourceTree = ""; + F533DA9C011744B701DD292F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F533DA9D011744B701DD292F /* MP3Broadcaster.h in Headers */, + F533DA9E011744B701DD292F /* MP3BroadcasterLog.h in Headers */, + F533DA9F011744B701DD292F /* MP3FileBroadcaster.h in Headers */, + F533DAA0011744B701DD292F /* MP3MetaInfoUpdater.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394AD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSCodeFragment.h; - refType = 4; - sourceTree = ""; + F56B5A620278ADD701DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F56B5A720278AF2501DD2AFC /* GenerateXMLPrefs.h in Headers */, + F56B5A730278AF2501DD2AFC /* QTSSCallbacks.h in Headers */, + F56B5A740278AF2501DD2AFC /* QTSSDataConverter.h in Headers */, + F56B5A750278AF2501DD2AFC /* QTSSDictionary.h in Headers */, + F56B5A760278AF2501DD2AFC /* QTSSErrorLogModule.h in Headers */, + F56B5A770278AF2501DD2AFC /* QTSServer.h in Headers */, + F56B5A780278AF2501DD2AFC /* QTSServerInterface.h in Headers */, + F56B5A790278AF2501DD2AFC /* QTSServerPrefs.h in Headers */, + F56B5A7A0278AF2501DD2AFC /* QTSSExpirationDate.h in Headers */, + F56B5A7B0278AF2501DD2AFC /* QTSSFile.h in Headers */, + F56B5A7C0278AF2501DD2AFC /* QTSSMessages.h in Headers */, + F56B5A7D0278AF2501DD2AFC /* QTSSModule.h in Headers */, + F56B5A7E0278AF2501DD2AFC /* QTSSPrefs.h in Headers */, + F56B5A7F0278AF2501DD2AFC /* QTSSSocket.h in Headers */, + F56B5A800278AF2501DD2AFC /* QTSSStream.h in Headers */, + F56B5A810278AF2501DD2AFC /* QTSSUserProfile.h in Headers */, + F56B5A820278AF2501DD2AFC /* RTCPTask.h in Headers */, + F56B5A830278AF2501DD2AFC /* RTPBandwidthTracker.h in Headers */, + F56B5A840278AF2501DD2AFC /* RTPOverbufferWindow.h in Headers */, + F56B5A850278AF2501DD2AFC /* RTPPacketResender.h in Headers */, + F56B5A860278AF2501DD2AFC /* RTPSession.h in Headers */, + F56B5A870278AF2501DD2AFC /* RTPSessionInterface.h in Headers */, + F56B5A880278AF2501DD2AFC /* RTPStream.h in Headers */, + F56B5A890278AF2501DD2AFC /* RTSPProtocol.h in Headers */, + 52F909F3099D6F75006F0FCA /* RTSPRequest3GPP.h in Headers */, + F56B5A8A0278AF2501DD2AFC /* RTSPRequest.h in Headers */, + F56B5A8B0278AF2501DD2AFC /* RTSPRequestInterface.h in Headers */, + F56B5A8C0278AF2501DD2AFC /* RTSPRequestStream.h in Headers */, + F56B5A8D0278AF2501DD2AFC /* RTSPResponseStream.h in Headers */, + F56B5A8E0278AF2501DD2AFC /* RTSPSession.h in Headers */, + F56B5A8F0278AF2501DD2AFC /* RTSPSessionInterface.h in Headers */, + F56B5A900278AF2501DD2AFC /* RunServer.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F57EED25027E9E1201FF7AB9 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F57EED38027E9FF201FF7AB9 /* SafeStdLib.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394AE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSCond.h; - refType = 4; - sourceTree = ""; + F57EED2A027E9E1201FF7AB9 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F57EED37027E9FD601FF7AB9 /* SafeStdLib.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394AF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSFileSource.h; - refType = 4; - sourceTree = ""; + F5E91D0F027758E801DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D1402775AB101DD2AFC /* QTSSAccessModule.h in Headers */, + F5E91D1502775AB101DD2AFC /* AccessChecker.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSHashTable.h; - refType = 4; - sourceTree = ""; + F5E91D2102775B5E01DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D2202775B5E01DD2AFC /* QTSSFileModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSHeaders.h; - refType = 4; - sourceTree = ""; + F5E91D3202775C5601DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D3302775C5601DD2AFC /* QTSSAccessLogModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSHeap.h; - refType = 4; - sourceTree = ""; + F5E91D4102775C5601DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F56B5A2D0278791501DD2AFC /* QTSSReflectorModule.h in Headers */, + F56B5A2E0278791501DD2AFC /* QTSSRelayModule.h in Headers */, + F56B5A2F0278791501DD2AFC /* RCFSourceInfo.h in Headers */, + F56B5A300278791501DD2AFC /* ReflectorOutput.h in Headers */, + F56B5A310278791501DD2AFC /* ReflectorSession.h in Headers */, + F56B5A320278791501DD2AFC /* ReflectorStream.h in Headers */, + F56B5A330278791501DD2AFC /* RelayOutput.h in Headers */, + F56B5A340278791501DD2AFC /* RelaySDPSourceInfo.h in Headers */, + F56B5A350278791501DD2AFC /* RTPSessionOutput.h in Headers */, + F56B5A360278791501DD2AFC /* RTSPSourceInfo.h in Headers */, + F56B5A370278791501DD2AFC /* SequenceNumberMap.h in Headers */, + F56B5A380278791501DD2AFC /* RelaySession.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSMemory.h; - refType = 4; - sourceTree = ""; + F5E91D6A02775D2501DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D6B02775D2501DD2AFC /* QTSSFlowControlModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSMutex.h; - refType = 4; - sourceTree = ""; + F5E91D7902775D2501DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D7A02775D2501DD2AFC /* QTSSWebDebugModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSMutexRW.h; - refType = 4; - sourceTree = ""; + F5E91D8802775D2501DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D8902775D2501DD2AFC /* QTSSWebStatsModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSQueue.h; - refType = 4; - sourceTree = ""; + F5E91D9F02775EEC01DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DA002775EEC01DD2AFC /* QTSSPosixFileSysModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSRef.h; - refType = 4; - sourceTree = ""; + F5E91DBA0277603301DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DBB0277603301DD2AFC /* QTSSAdminModule.h in Headers */, + F5E91DBC0277603301DD2AFC /* AdminQuery.h in Headers */, + F5E91DBD0277603301DD2AFC /* AdminElementNode.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = OSThread.h; - refType = 4; - sourceTree = ""; + F5E91DCE0277603301DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DCF0277603301DD2AFC /* QTSSHttpFileModule.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394B900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PLDoubleLinkedList.h; - refType = 4; - sourceTree = ""; + F5E91DDE0277603301DD2AFC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DDF0277603301DD2AFC /* QTSSRTPFileModule.h in Headers */, + F5E91DE00277603301DD2AFC /* RTPFileSession.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394BA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QueryParamList.h; - refType = 4; - sourceTree = ""; + F6A48AF102390D0401000103 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F6A48AF802390D8901000103 /* QTAtom.h in Headers */, + F6A48AF902390D8901000103 /* QTAtom_dref.h in Headers */, + F6A48AFA02390D8901000103 /* QTAtom_elst.h in Headers */, + F6A48AFB02390D8901000103 /* QTAtom_hinf.h in Headers */, + F6A48AFC02390D8901000103 /* QTAtom_mdhd.h in Headers */, + F6A48AFD02390D8901000103 /* QTAtom_mvhd.h in Headers */, + F6A48AFE02390D8901000103 /* QTAtom_stco.h in Headers */, + F6A48AFF02390D8901000103 /* QTAtom_stsc.h in Headers */, + F6A48B0002390D8901000103 /* QTAtom_stsd.h in Headers */, + F6A48B0102390D8901000103 /* QTAtom_stss.h in Headers */, + F6A48B0202390D8901000103 /* QTAtom_stsz.h in Headers */, + F6A48B0302390D8901000103 /* QTAtom_stts.h in Headers */, + F6A48B0402390D8901000103 /* QTAtom_tkhd.h in Headers */, + F6A48B0502390D8901000103 /* QTAtom_tref.h in Headers */, + F6A48B0602390D8901000103 /* QTFile.h in Headers */, + F6A48B0702390D8901000103 /* QTFile_FileControlBlock.h in Headers */, + F6A48B0802390D8901000103 /* QTHintTrack.h in Headers */, + F6A48B0902390D8901000103 /* QTRTPFile.h in Headers */, + F6A48B0A02390D8901000103 /* QTTrack.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXLibraryTarget section */ + 000DA9E40135948600DD2B4F /* WebAdmin */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90952099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "WebAdmin" */; + buildPhases = ( + 000DA9E50135948600DD2B4F /* Headers */, + 000DA9E60135948600DD2B4F /* Sources */, + 000DA9E70135948600DD2B4F /* Frameworks */, + 000DA9E80135948600DD2B4F /* Rez */, + 00A79FAB01359C5F00DD2B4F /* CopyFiles */, + 000DAB6B013598E400DD2B4F /* CopyFiles */, + 52335F2D04EA47CC0003CA12 /* ShellScript */, + 00A79F8E01359A6200DD2B4F /* CopyFiles */, + 00A79F9001359ACA00DD2B4F /* CopyFiles */, + 00A79F9301359B1500DD2B4F /* ShellScript */, + 00A79F9401359B1500DD2B4F /* ShellScript */, + 00A79F9501359B1500DD2B4F /* ShellScript */, + 0055090A02774E1100DD2B4C /* ShellScript */, + E926569B0430ED4409DD2838 /* ShellScript */, + E961241C0432443309DD2838 /* ShellScript */, + 00A79FC201359D6900DD2B4F /* CopyFiles */, + 00A79FC801359D6900DD2B4F /* CopyFiles */, + 00A79FF501359D6900DD2B4F /* CopyFiles */, + ); + dependencies = ( + ); + name = WebAdmin; + productInstallPath = /usr/local/lib; + productName = WebAdmin; + productReference = 000DA9E30135948500DD2B4F /* WebAdmin */; }; - 68C394BB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ResizeableStringFormatter.h; - refType = 4; - sourceTree = ""; + 5293FDFE0B2A45DD00141B86 /* QTSSDSAuthModule (Library) DSS */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 5293FE000B2A462600141B86 /* Build configuration list for PBXLibraryTarget "QTSSDSAuthModule (Library) DSS" */; + buildPhases = ( + 5293FDFA0B2A45DD00141B86 /* Headers */, + 5293FDFB0B2A45DD00141B86 /* Sources */, + 5293FDFC0B2A45DD00141B86 /* Frameworks */, + 5293FDFD0B2A45DD00141B86 /* Rez */, + ); + dependencies = ( + ); + name = "QTSSDSAuthModule (Library) DSS"; + productInstallPath = /usr/local/lib; + productName = "QTSSDSAuthModule (Library)"; + productReference = 5293FDFF0B2A45DD00141B86 /* libQTSSDSAuthModule.a */; }; - 68C394BC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = Socket.h; - refType = 4; - sourceTree = ""; + 68C396C600C567B77F000001 /* TestQTFileLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908B2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "TestQTFileLib (Library)" */; + buildPhases = ( + 68C396C700C567B77F000001 /* Headers */, + 68C396C800C567B77F000001 /* Sources */, + 68C396C900C567B77F000001 /* Frameworks */, + 68C396CF00C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39A8000C598377F000001 /* PBXTargetDependency */, + F6999B6F0239282F01000103 /* PBXTargetDependency */, + 68C39A8100C598B27F000001 /* PBXTargetDependency */, + 68C39A8300C598B27F000001 /* PBXTargetDependency */, + ); + name = "TestQTFileLib (Library)"; + productName = "TestQTFileLib (Library)"; + productReference = 68C3967A00C567B77F000001 /* libTestQTFileLib.a */; }; - 68C394BD00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SocketUtils.h; - refType = 4; - sourceTree = ""; + 68C3987300C567B77F000001 /* AtomicLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90876099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "AtomicLib (Library)" */; + buildPhases = ( + 68C3987400C567B77F000001 /* Headers */, + 68C3987700C567B77F000001 /* Sources */, + 68C3987B00C567B77F000001 /* Frameworks */, + 68C3987D00C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "AtomicLib (Library)"; + productName = "AtomicLib (Library)"; + productReference = 68C3969C00C567B77F000001 /* libAtomicLib.a */; }; - 68C394BE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StopWatch.h; - refType = 4; - sourceTree = ""; + 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90882099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "CommonUtilitiesLib (Library)" */; + buildPhases = ( + 68C3988000C567B77F000001 /* Headers */, + 68C398B100C567B77F000001 /* Sources */, + 68C398D800C567B77F000001 /* Frameworks */, + 68C398DC00C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39A9600C59CF27F000001 /* PBXTargetDependency */, + ); + name = "CommonUtilitiesLib (Library)"; + productName = "CommonUtilitiesLib (Library)"; + productReference = 68C3969D00C567B77F000001 /* libCommonUtilitiesLib.a */; }; - 68C394BF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StringFormatter.h; - refType = 4; - sourceTree = ""; + 68C398E000C567B77F000001 /* OSMemory_Modules (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908DA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "OSMemory_Modules (Library)" */; + buildPhases = ( + 68C398E100C567B77F000001 /* Headers */, + 68C398E200C567B77F000001 /* Sources */, + 68C398E400C567B77F000001 /* Frameworks */, + 68C398E600C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "OSMemory_Modules (Library)"; + productName = "OSMemory_Modules (Library)"; + productReference = 68C3969E00C567B77F000001 /* libOSMemory_Modules.a */; }; - 68C394C000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StringParser.h; - refType = 4; - sourceTree = ""; + 68C398E800C567B77F000001 /* QTSSAccessLogModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908E6099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSAccessLogModule (Library)" */; + buildPhases = ( + 68C398E900C567B77F000001 /* Headers */, + 68C398EB00C567B77F000001 /* Sources */, + 68C398ED00C567B77F000001 /* Frameworks */, + 68C398EF00C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E387D0279D53D01DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSAccessLogModule (Library)"; + productName = "QTSSAccessLogModule (Library)"; + productReference = 68C3969F00C567B77F000001 /* libQTSSAccessLogModule.a */; }; - 68C394C100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StringTranslator.h; - refType = 4; - sourceTree = ""; + 68C398F100C567B77F000001 /* QTSSFileModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908EE099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSFileModule (Library)" */; + buildPhases = ( + 68C398F200C567B77F000001 /* Headers */, + 68C398F400C567B77F000001 /* Sources */, + 68C398F600C567B77F000001 /* Frameworks */, + 68C398F800C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E387F0279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSFileModule (Library)"; + productName = "QTSSFileModule (Library)"; + productReference = 68C396A000C567B77F000001 /* libQTSSFileModule.a */; }; - 68C394C200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = StrPtrLen.h; - refType = 4; - sourceTree = ""; + 68C398FA00C567B77F000001 /* QTSSReflectorModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908FE099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSReflectorModule (Library)" */; + buildPhases = ( + 68C398FB00C567B77F000001 /* Headers */, + 68C3990800C567B77F000001 /* Sources */, + 68C3991400C567B77F000001 /* Frameworks */, + 68C3991700C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E38800279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSReflectorModule (Library)"; + productName = "QTSSReflectorModule (Library)"; + productReference = 68C396A100C567B77F000001 /* libQTSSReflectorModule.a */; }; - 68C394C300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = Task.h; - refType = 4; - sourceTree = ""; + 68C3991900C567B77F000001 /* QTSSFlowControlModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908F2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSFlowControlModule (Library)" */; + buildPhases = ( + 68C3991A00C567B77F000001 /* Headers */, + 68C3991C00C567B77F000001 /* Sources */, + 68C3991E00C567B77F000001 /* Frameworks */, + 68C3992000C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E38810279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSFlowControlModule (Library)"; + productName = "QTSSFlowControlModule (Library)"; + productReference = 68C396A200C567B77F000001 /* libQTSSFlowControlModule.a */; }; - 68C394C400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TCPListenerSocket.h; - refType = 4; - sourceTree = ""; + 68C3992200C567B77F000001 /* QTSSWebDebugModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90906099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSWebDebugModule (Library)" */; + buildPhases = ( + 68C3992300C567B77F000001 /* Headers */, + 68C3992500C567B77F000001 /* Sources */, + 68C3992700C567B77F000001 /* Frameworks */, + 68C3992900C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E38820279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSWebDebugModule (Library)"; + productName = "QTSSWebDebugModule (Library)"; + productReference = 68C396A300C567B77F000001 /* libQTSSWebDebugModule.a */; }; - 68C394C500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TCPSocket.h; - refType = 4; - sourceTree = ""; + 68C3997200C567B77F000001 /* QTSSPOSIXFileSysModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908FA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSPOSIXFileSysModule (Library)" */; + buildPhases = ( + 68C3997300C567B77F000001 /* Headers */, + 68C3997500C567B77F000001 /* Sources */, + 68C3997700C567B77F000001 /* Frameworks */, + 68C3997900C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E38840279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSPOSIXFileSysModule (Library)"; + productName = "QTSSPOSIXFileSysModule (Library)"; + productReference = 68C396A900C567B77F000001 /* libQTSSPOSIXFileSysModule.a */; }; - 68C394C600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = tempcalls.h; - refType = 4; - sourceTree = ""; + 68C3998A00C567B77F000001 /* QTSSAdminModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908EA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSAdminModule (Library)" */; + buildPhases = ( + 68C3998B00C567B77F000001 /* Headers */, + 68C3998F00C567B77F000001 /* Sources */, + 68C3999300C567B77F000001 /* Frameworks */, + 68C3999900C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E38850279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSAdminModule (Library)"; + productName = "QTSSAdminModule (Library)"; + productReference = 68C396AB00C567B77F000001 /* libQTSSAdminModule.a */; }; - 68C394C700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = TimeoutTask.h; - refType = 4; - sourceTree = ""; + 68C399AF00C567B77F000001 /* QTSSAccessModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908E2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSAccessModule (Library)" */; + buildPhases = ( + 68C399B000C567B77F000001 /* Headers */, + 68C399B300C567B77F000001 /* Sources */, + 68C399B600C567B77F000001 /* Frameworks */, + 68C399B900C567B77F000001 /* Rez */, + ); + dependencies = ( + F52E387E0279D53D01DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSAccessModule (Library)"; + productName = "QTSSAccessModule (Library)"; + productReference = 68C396AE00C567B77F000001 /* libQTSSAccessModule.a */; }; - 68C394C800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = Trim.h; - refType = 4; - sourceTree = ""; + 68C399C100C567B77F000001 /* OSMemoryLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90886099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "OSMemoryLib (Library)" */; + buildPhases = ( + 68C399C200C567B77F000001 /* Headers */, + 68C399C300C567B77F000001 /* Sources */, + 68C399C500C567B77F000001 /* Frameworks */, + 68C399C700C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "OSMemoryLib (Library)"; + productName = "OSMemoryLib (Library)"; + productReference = 68C396AF00C567B77F000001 /* libOSMemoryLib.a */; }; - 68C394C900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UDPDemuxer.h; - refType = 4; - sourceTree = ""; + 68C399C900C567B77F000001 /* RTCPUtilitiesLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F9088A099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "RTCPUtilitiesLib (Library)" */; + buildPhases = ( + 68C399CA00C567B77F000001 /* Headers */, + 68C399CF00C567B77F000001 /* Sources */, + 68C399D400C567B77F000001 /* Frameworks */, + 68C399D600C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "RTCPUtilitiesLib (Library)"; + productName = "RTCPUtilitiesLib (Library)"; + productReference = 68C396B000C567B77F000001 /* libRTCPUtilitiesLib.a */; }; - 68C394CA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UDPSocket.h; - refType = 4; - sourceTree = ""; + 68C399D800C567B77F000001 /* PrefsSourceLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F9088E099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "PrefsSourceLib (Library)" */; + buildPhases = ( + 68C399D900C567B77F000001 /* Headers */, + 68C399E000C567B77F000001 /* Sources */, + 68C399E600C567B77F000001 /* Frameworks */, + 68C399E800C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "PrefsSourceLib (Library)"; + productName = "PrefsSourceLib (Library)"; + productReference = 68C396B100C567B77F000001 /* libPrefsSourceLib.a */; }; - 68C394CB00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UDPSocketPool.h; - refType = 4; - sourceTree = ""; + 68C399EA00C567B77F000001 /* APIStubLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90892099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "APIStubLib (Library)" */; + buildPhases = ( + 68C399EB00C567B77F000001 /* Headers */, + 68C399EF00C567B77F000001 /* Sources */, + 68C399F100C567B77F000001 /* Frameworks */, + 68C399F300C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "APIStubLib (Library)"; + productName = "APIStubLib (Library)"; + productReference = 68C396B200C567B77F000001 /* libAPIStubLib.a */; }; - 68C394CC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UserAgentParser.h; - refType = 4; - sourceTree = ""; + 68C399F500C567B77F000001 /* HTTPUtilitiesLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90896099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "HTTPUtilitiesLib (Library)" */; + buildPhases = ( + 68C399F600C567B77F000001 /* Headers */, + 68C399F900C567B77F000001 /* Sources */, + 68C399FC00C567B77F000001 /* Frameworks */, + 68C399FE00C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "HTTPUtilitiesLib (Library)"; + productName = "HTTPUtilitiesLib (Library)"; + productReference = 68C396B300C567B77F000001 /* libHTTPUtilitiesLib.a */; }; - 68C394CE00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = base64.c; - refType = 4; - sourceTree = ""; + 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F9089A099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "RTPMetaInfoLib (Library)" */; + buildPhases = ( + 68C39A0100C567B77F000001 /* Headers */, + 68C39A0300C567B77F000001 /* Sources */, + 68C39A0500C567B77F000001 /* Frameworks */, + 68C39A0700C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "RTPMetaInfoLib (Library)"; + productName = "RTPMetaInfoLib (Library)"; + productReference = 68C396B400C567B77F000001 /* libRTPMetaInfoLib.a */; }; - 68C394CF00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = getopt.c; - refType = 4; - sourceTree = ""; - }; - 68C394D000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = GetWord.c; - refType = 4; - sourceTree = ""; - }; - 68C394D100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = md5.c; - refType = 4; - sourceTree = ""; + 68C39A0900C567B77F000001 /* QTFileLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F9089E099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTFileLib (Library)" */; + buildPhases = ( + 68C39A0A00C567B77F000001 /* Headers */, + 68C39A1E00C567B77F000001 /* Sources */, + 68C39A3200C567B77F000001 /* Frameworks */, + 68C39A3400C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "QTFileLib (Library)"; + productName = "QTFileLib (Library)"; + productReference = 68C396B500C567B77F000001 /* libQTFileLib.a */; }; - 68C394D200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = Trim.c; - refType = 4; - sourceTree = ""; + 68C39A3600C567B77F000001 /* APICommonCode (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908A2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "APICommonCode (Library)" */; + buildPhases = ( + 68C39A3700C567B77F000001 /* Headers */, + 68C39A3D00C567B77F000001 /* Sources */, + 68C39A4300C567B77F000001 /* Frameworks */, + 68C39A4500C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = "APICommonCode (Library)"; + productName = "APICommonCode (Library)"; + productReference = 68C396B600C567B77F000001 /* libAPICommonCode.a */; }; - 68C394D900C567B67F000001 = { - children = ( - B6494F9D0279F88D0BDD2A6C, - 68C394DF00C567B67F000001, - 68C394E800C567B67F000001, - 68C394F300C567B67F000001, - 68C394FE00C567B67F000001, - 68C3951E00C567B67F000001, - 68C3952900C567B67F000001, - 68C3953400C567B67F000001, - 68C3953F00C567B67F000001, - 68C3954A00C567B67F000001, - 68C3955500C567B67F000001, - 68C3956000C567B67F000001, - 68C3956D00C567B67F000001, - 68C3957800C567B67F000001, - 68C3958300C567B67F000001, - 68C3959200C567B77F000001, - 68C3959D00C567B77F000001, - 68C395AA00C567B77F000001, - B62C45CD012B253B0BDD2A6C, - 004E2890025B798400DD2B50, - B6DC97FD02FB30350BDD2A6C, + 68C39A4700C567B77F000001 /* RTSPClientLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908A6099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "RTSPClientLib (Library)" */; + buildPhases = ( + 68C39A4800C567B77F000001 /* Headers */, + 68C39A4C00C567B77F000001 /* Sources */, + 68C39A5000C567B77F000001 /* Frameworks */, + 68C39A5200C567B77F000001 /* Rez */, ); - isa = PBXGroup; - path = APIModules; - refType = 4; - sourceTree = ""; + dependencies = ( + 5E6ED93F0A8957FA00657251 /* PBXTargetDependency */, + ); + name = "RTSPClientLib (Library)"; + productName = "RTSPClientLib (Library)"; + productReference = 68C396B700C567B77F000001 /* libRTSPClientLib.a */; }; - 68C394DF00C567B67F000001 = { - children = ( - 68C394E100C567B67F000001, + 84CE3C360CEE607F0056DB85 /* QTSSDSAuthModule (Library) OSXServer */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 84CE3C450CEE607F0056DB85 /* Build configuration list for PBXLibraryTarget "QTSSDSAuthModule (Library) OSXServer" */; + buildPhases = ( + 84CE3C370CEE607F0056DB85 /* Headers */, + 84CE3C3E0CEE607F0056DB85 /* Sources */, + 84CE3C430CEE607F0056DB85 /* Frameworks */, + 84CE3C440CEE607F0056DB85 /* Rez */, ); - isa = PBXGroup; - path = OSMemory_Modules; - refType = 4; - sourceTree = ""; + dependencies = ( + ); + name = "QTSSDSAuthModule (Library) OSXServer"; + productInstallPath = /usr/local/lib; + productName = "QTSSDSAuthModule (Library)"; + productReference = 84CE3C490CEE607F0056DB85 /* libQTSSDSAuthModule.a */; }; - 68C394E100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMemory_Modules.cpp; - refType = 4; - sourceTree = ""; + B62C45C6012B21880BDD2A6C /* QTSSMP3StreamingModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908F6099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSMP3StreamingModule (Library)" */; + buildPhases = ( + B62C45C7012B21880BDD2A6C /* Headers */, + B62C45C8012B21880BDD2A6C /* Sources */, + B62C45C9012B21880BDD2A6C /* Frameworks */, + B62C45CA012B21880BDD2A6C /* Rez */, + ); + dependencies = ( + F52E38880279D55801DD2AFC /* PBXTargetDependency */, + ); + name = "QTSSMP3StreamingModule (Library)"; + productName = QTSSMP3StreamingModule; + productReference = B62C45C5012B21870BDD2A6C /* libQTSSMP3StreamingModule.a */; }; - 68C394E800C567B67F000001 = { - children = ( - 68C394EA00C567B67F000001, - 68C394EC00C567B67F000001, + B6DC97FB02FB2EAB0BDD2A6C /* QTSSProxyModule (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F90902099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSProxyModule (Library)" */; + buildPhases = ( + B6DC97F702FB2EAB0BDD2A6C /* Headers */, + B6DC97F802FB2EAB0BDD2A6C /* Sources */, + B6DC97F902FB2EAB0BDD2A6C /* Frameworks */, + B6DC97FA02FB2EAB0BDD2A6C /* Rez */, ); - isa = PBXGroup; - path = QTSSAccessLogModule; - refType = 4; - sourceTree = ""; + dependencies = ( + ); + name = "QTSSProxyModule (Library)"; + productInstallPath = /usr/local/lib; + productName = QTSSProxyModule; + productReference = B6DC97FC02FB2EAB0BDD2A6C /* libQTSSProxyModule.a */; }; - 68C394EA00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSAccessLogModule.cpp; - refType = 4; - sourceTree = ""; + F57EED24027E9E1201FF7AB9 /* SafeInternalStdLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F9087A099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "SafeInternalStdLib (Library)" */; + buildPhases = ( + F57EED25027E9E1201FF7AB9 /* Headers */, + F57EED26027E9E1201FF7AB9 /* Sources */, + F57EED27027E9E1201FF7AB9 /* Frameworks */, + F57EED28027E9E1201FF7AB9 /* Rez */, + ); + dependencies = ( + ); + name = "SafeInternalStdLib (Library)"; + productInstallPath = /usr/local/lib; + productName = SafeInternalStdLib; + productReference = F57EED22027E9E1101FF7AB9 /* libSafeInternalStdLib.a */; }; - 68C394EC00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSAccessLogModule.h; - refType = 4; - sourceTree = ""; + F57EED29027E9E1201FF7AB9 /* SafeDynamicModuleStdLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F9087E099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "SafeDynamicModuleStdLib (Library)" */; + buildPhases = ( + F57EED2A027E9E1201FF7AB9 /* Headers */, + F57EED2B027E9E1201FF7AB9 /* Sources */, + F57EED2C027E9E1201FF7AB9 /* Frameworks */, + F57EED2D027E9E1201FF7AB9 /* Rez */, + ); + dependencies = ( + ); + name = "SafeDynamicModuleStdLib (Library)"; + productInstallPath = /usr/local/lib; + productName = SafeDynamicModuleStdLib; + productReference = F57EED23027E9E1101FF7AB9 /* libSafeDynamicModuleStdLib.a */; }; - 68C394F300C567B67F000001 = { - children = ( - 68C394F500C567B67F000001, - 68C394F700C567B67F000001, + F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */ = { + isa = PBXLibraryTarget; + buildConfigurationList = 52F908AA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTFileExternalLib (Library)" */; + buildPhases = ( + F6A48AF102390D0401000103 /* Headers */, + F6A48AF202390D0401000103 /* Sources */, + F6A48AF302390D0401000103 /* Frameworks */, + F6A48AF402390D0401000103 /* Rez */, ); - isa = PBXGroup; - path = QTSSFileModule; - refType = 4; - sourceTree = ""; + dependencies = ( + ); + name = "QTFileExternalLib (Library)"; + productInstallPath = /usr/local/lib; + productName = QTFileExternalLib; + productReference = F6A48AED02390D0401000103 /* libQTFileExternalLib.a */; }; - 68C394F500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFileModule.cpp; - refType = 4; - sourceTree = ""; +/* End PBXLibraryTarget section */ + +/* Begin PBXProject section */ + 68C3920500C567B67F000001 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 52F9099E099D6A4D006F0FCA /* Build configuration list for PBXProject "StreamingServer" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 1; + mainGroup = 68C3920600C567B67F000001 /* StreamingServer */; + productRefGroup = 68C3967800C567B77F000001 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 68C396B800C567B77F000001 /* QTSS */, + 482C16F104CF5700003E91E5 /* DSS */, + 008788DE026B412B00DD2B4C /* DSS_Generic */, + F5E91E2302786F1501DD2AFC /* APIModules_All_Dynamic */, + 00A90E28029EC2E700DD2B4C /* APIModules_Static */, + 00A90E1B029EBB6300DD2B4C /* APIModules_Dynamic */, + 68C398DE00C567B77F000001 /* APIModules */, + F51C62E30279D3BC01DD2AFC /* Libraries */, + 68C396BA00C567B77F000001 /* QTFileTools */, + 68C3972C00C567B77F000001 /* DSS Server */, + F56B5A610278ADD701DD2AFC /* Server_No_Modules */, + B649D5CB02B97F170BDD2A6C /* StreamingProxyServer */, + F533DA97011744B701DD292F /* MP3Broadcaster */, + 68C3978800C567B77F000001 /* PlaylistBroadcaster */, + 68C397B700C567B77F000001 /* qtpasswd */, + 00E5906700F4DD0500DD2B4C /* StreamingLoadTool */, + 68C397C000C567B77F000001 /* StreamingProxy */, + 68C396F900C567B77F000001 /* QTFileInfo */, + 68C3970300C567B77F000001 /* QTFileTest */, + 68C396D100C567B77F000001 /* QTRTPGen */, + 68C396DB00C567B77F000001 /* QTRTPFileTest */, + 68C396BC00C567B77F000001 /* QTSDPGen */, + 68C396E500C567B77F000001 /* QTSampleLister */, + 68C396EF00C567B77F000001 /* QTTrackInfo */, + 68C3970D00C567B77F000001 /* QTBroadcaster */, + 68C3971700C567B77F000001 /* RTPFileGen */, + 68C3987300C567B77F000001 /* AtomicLib (Library) */, + 68C39A3600C567B77F000001 /* APICommonCode (Library) */, + 68C399EA00C567B77F000001 /* APIStubLib (Library) */, + 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */, + 68C399F500C567B77F000001 /* HTTPUtilitiesLib (Library) */, + 68C399C100C567B77F000001 /* OSMemoryLib (Library) */, + 68C398E000C567B77F000001 /* OSMemory_Modules (Library) */, + 68C399D800C567B77F000001 /* PrefsSourceLib (Library) */, + F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */, + 68C39A0900C567B77F000001 /* QTFileLib (Library) */, + 68C399C900C567B77F000001 /* RTCPUtilitiesLib (Library) */, + 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */, + 68C39A4700C567B77F000001 /* RTSPClientLib (Library) */, + 68C396C600C567B77F000001 /* TestQTFileLib (Library) */, + 68C398E800C567B77F000001 /* QTSSAccessLogModule (Library) */, + 68C3998A00C567B77F000001 /* QTSSAdminModule (Library) */, + 68C398F100C567B77F000001 /* QTSSFileModule (Library) */, + 68C3991900C567B77F000001 /* QTSSFlowControlModule (Library) */, + B62C45C6012B21880BDD2A6C /* QTSSMP3StreamingModule (Library) */, + 68C398FA00C567B77F000001 /* QTSSReflectorModule (Library) */, + 68C3997200C567B77F000001 /* QTSSPOSIXFileSysModule (Library) */, + 68C3992200C567B77F000001 /* QTSSWebDebugModule (Library) */, + 68C399AF00C567B77F000001 /* QTSSAccessModule (Library) */, + F5E91D0E027758E801DD2AFC /* QTSSAccessModule.bundle */, + F5E91D3102775C5601DD2AFC /* QTSSAccessLogModule.bundle */, + F5E91DB90277603301DD2AFC /* QTSSAdminModule.bundle */, + 5DB82F1F0DD3AC4C005193F8 /* QTSSDemoRedirectModule (Bundle) */, + 68C3996200C567B77F000001 /* QTSSDemoAuthorizationModule (Bundle) */, + 68C3997B00C567B77F000001 /* QTSSDemoSMILModule (Bundle) */, + F5E91D2002775B5E01DD2AFC /* QTSSFileModule.bundle */, + 68C3995200C567B77F000001 /* QTSSFilePrivsModule (Bundle) */, + F5E91D6902775D2501DD2AFC /* QTSSFlowControlModule.bundle */, + F5E91DCD0277603301DD2AFC /* QTSSHttpFileModule (Bundle) */, + B6DC97FB02FB2EAB0BDD2A6C /* QTSSProxyModule (Library) */, + F5E91D9E02775EEC01DD2AFC /* QTSSPOSIXFileSysModule.bundle */, + 68C3994300C567B77F000001 /* QTSSRawFileModule (Bundle) */, + F5E91D4002775C5601DD2AFC /* QTSSReflectorModule.bundle */, + B6494F960279F7500BDD2A6C /* QTSSRefMovieModule (Bundle) */, + F5E91DDD0277603301DD2AFC /* QTSSRTPFileModule (Bundle) */, + 68C3993400C567B77F000001 /* QTSSSpamDefenseModule (Bundle) */, + F5E91D7802775D2501DD2AFC /* QTSSWebDebugModule.bundle */, + F5E91D8702775D2501DD2AFC /* QTSSWebStatsModule (Bundle) */, + 000DA9E40135948600DD2B4F /* WebAdmin */, + F57EED24027E9E1201FF7AB9 /* SafeInternalStdLib (Library) */, + F57EED29027E9E1201FF7AB9 /* SafeDynamicModuleStdLib (Library) */, + E98FD95B02F5BC3309DD2838 /* QTSSLinkApp */, + 484082A403D78E0900DD2838 /* broadcasterctl */, + 52E30B0F041DD13500FFB433 /* SSLeay.bundle */, + 004E288A025B787100DD2B50 /* QTSSHomeDirectoryModule (Bundle) */, + 5293FDFE0B2A45DD00141B86 /* QTSSDSAuthModule (Library) DSS */, + 52B24EA30B30005400A6567F /* QTSSDSAuthModule (Bundle) */, + 5235759C0C33A0890098823D /* QTSS Server */, + 84CE3C360CEE607F0056DB85 /* QTSSDSAuthModule (Library) OSXServer */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 004E288C025B787100DD2B50 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394F700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFileModule.h; - refType = 4; - sourceTree = ""; + 52E30B0B041DD13500FFB433 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C394FE00C567B67F000001 = { - children = ( - 68C3950000C567B67F000001, - 68C3950C00C567B67F000001, - 68C3950100C567B67F000001, - 68C3950D00C567B67F000001, - 68C3950200C567B67F000001, - 68C3950E00C567B67F000001, - 68C3950300C567B67F000001, - 68C3950F00C567B67F000001, - 68C3950400C567B67F000001, - 68C3951100C567B67F000001, - 68C3950500C567B67F000001, - 68C3951200C567B67F000001, - 68C3951000C567B67F000001, - 68C3950600C567B67F000001, - 68C3951300C567B67F000001, - 68C3950700C567B67F000001, - 68C3951400C567B67F000001, - 68C3950800C567B67F000001, - 68C3951500C567B67F000001, - 68C3950900C567B67F000001, - 68C3951600C567B67F000001, - 68C3950A00C567B67F000001, - 68C3951700C567B67F000001, - 0066F5CE016E6AD000DD2B4C, - 0066F5CF016E6AD000DD2B4C, + 5DB82F240DD3AC4C005193F8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSReflectorModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSReflectorModule.cpp; - refType = 4; - sourceTree = ""; + 68C3993700C567B77F000001 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRelayModule.cpp; - refType = 4; - sourceTree = ""; + 68C3994600C567B77F000001 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSSplitterModule.cpp; - refType = 4; - sourceTree = ""; + 68C3995500C567B77F000001 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RCFSourceInfo.cpp; - refType = 4; - sourceTree = ""; + 68C3996600C567B77F000001 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ReflectorSession.cpp; - refType = 4; - sourceTree = ""; + 68C3997E00C567B77F000001 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ReflectorStream.cpp; - refType = 4; - sourceTree = ""; + B6494F980279F7500BDD2A6C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RelayOutput.cpp; - refType = 4; - sourceTree = ""; + E98FD95702F5BC3309DD2838 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E98FD96102F5BCF209DD2838 /* QTSS Admin app.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RelaySDPSourceInfo.cpp; - refType = 4; - sourceTree = ""; + F5E91D10027758E801DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPSessionOutput.cpp; - refType = 4; - sourceTree = ""; + F5E91D2302775B5E01DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPSourceInfo.cpp; - refType = 4; - sourceTree = ""; + F5E91D3402775C5601DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SequenceNumberMap.cpp; - refType = 4; - sourceTree = ""; + F5E91D4F02775C5601DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSReflectorModule.h; - refType = 4; - sourceTree = ""; + F5E91D6C02775D2501DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRelayModule.h; - refType = 4; - sourceTree = ""; + F5E91D7B02775D2501DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSSplitterModule.h; - refType = 4; - sourceTree = ""; + F5E91D8A02775D2501DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3950F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RCFSourceInfo.h; - refType = 4; - sourceTree = ""; + F5E91DA102775EEC01DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ReflectorOutput.h; - refType = 4; - sourceTree = ""; + F5E91DBE0277603301DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ReflectorSession.h; - refType = 4; - sourceTree = ""; + F5E91DD00277603301DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ReflectorStream.h; - refType = 4; - sourceTree = ""; + F5E91DE10277603301DD2AFC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RelayOutput.h; - refType = 4; - sourceTree = ""; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 000DA9E80135948600DD2B4F /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951400C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RelaySDPSourceInfo.h; - refType = 4; - sourceTree = ""; + 004E288F025B787100DD2B50 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPSessionOutput.h; - refType = 4; - sourceTree = ""; + 00E5907300F4DD0500DD2B4C /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPSourceInfo.h; - refType = 4; - sourceTree = ""; + 484082A303D78E0900DD2838 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SequenceNumberMap.h; - refType = 4; - sourceTree = ""; + 523576040C33A0890098823D /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3951E00C567B67F000001 = { - children = ( - 68C3952000C567B67F000001, - 68C3952200C567B67F000001, + 5293FDFD0B2A45DD00141B86 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSFlowControlModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3952000C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFlowControlModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3952200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFlowControlModule.h; - refType = 4; - sourceTree = ""; - }; - 68C3952900C567B67F000001 = { - children = ( - 68C3952B00C567B67F000001, - 68C3952D00C567B67F000001, + 52B24EA20B30005400A6567F /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSWebDebugModule; - refType = 4; - sourceTree = ""; - }; - 68C3952B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSWebDebugModule.cpp; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3952D00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSWebDebugModule.h; - refType = 4; - sourceTree = ""; + 52E30B0E041DD13500FFB433 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3953400C567B67F000001 = { - children = ( - 68C3953600C567B67F000001, - 68C3953800C567B67F000001, + 5DB82F2F0DD3AC4C005193F8 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSWebStatsModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3953600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSWebStatsModule.cpp; - refType = 4; - sourceTree = ""; + 68C396C400C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3953800C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSWebStatsModule.h; - refType = 4; - sourceTree = ""; + 68C396CF00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3953F00C567B67F000001 = { - children = ( - 68C3954100C567B67F000001, - 68C3954300C567B67F000001, + 68C396D900C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTSSSpamDefenseModule; - path = QTSSSpamDefenseModule.bproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3954100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSSpamDefenseModule.cpp; - refType = 4; - sourceTree = ""; + 68C396E300C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3954300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSSpamDefenseModule.h; - refType = 4; - sourceTree = ""; + 68C396ED00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3954A00C567B67F000001 = { - children = ( - 68C3954C00C567B67F000001, - 68C3954E00C567B67F000001, + 68C396F700C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTSSRawFileModule; - path = QTSSRawFileModule.bproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3954C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRawFileModule.cpp; - refType = 4; - sourceTree = ""; + 68C3970100C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3954E00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRawFileModule.h; - refType = 4; - sourceTree = ""; + 68C3970B00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3955500C567B67F000001 = { - children = ( - 68C3955700C567B67F000001, - 68C3955900C567B67F000001, + 68C3971500C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTSSFilePrivsModule; - path = QTSSFilePrivsModule.bproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3955700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSFilePrivsModule.cpp; - refType = 4; - sourceTree = ""; + 68C3972000C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3955900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSFilePrivsModule.h; - refType = 4; - sourceTree = ""; + 68C3978600C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956000C567B67F000001 = { - children = ( - 68C3956300C567B67F000001, - 68C3956600C567B67F000001, - 68C3956200C567B67F000001, - 68C3956500C567B67F000001, + 68C397B500C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTSSDemoAuthorizationModule; - path = QTSSDemoAuthorizationModule.bproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956200C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AccessCheck.cpp; - refType = 4; - sourceTree = ""; + 68C397BE00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956300C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDemoModule.cpp; - refType = 4; - sourceTree = ""; + 68C397CE00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AccessCheck.h; - refType = 4; - sourceTree = ""; + 68C3987D00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDemoModule.h; - refType = 4; - sourceTree = ""; + 68C398DC00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956D00C567B67F000001 = { - children = ( - 68C3956F00C567B67F000001, - 68C3957100C567B67F000001, + 68C398E600C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSPOSIXFileSysModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3956F00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSPosixFileSysModule.cpp; - refType = 4; - sourceTree = ""; + 68C398EF00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3957100C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSPosixFileSysModule.h; - refType = 4; - sourceTree = ""; + 68C398F800C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3957800C567B67F000001 = { - children = ( - 68C3957A00C567B67F000001, - 68C3957C00C567B67F000001, + 68C3991700C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = QTSSDemoSMILModule; - path = QTSSDemoSMILModule.bproj; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3957A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSDemoSMILModule.cpp; - refType = 4; - sourceTree = ""; + 68C3992000C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3957C00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSDemoSMILModule.h; - refType = 4; - sourceTree = ""; + 68C3992900C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958300C567B67F000001 = { - children = ( - 68C3958700C567B67F000001, - 68C3958B00C567B67F000001, - 68C3958600C567B67F000001, - 68C3958A00C567B67F000001, - 68C3958500C567B67F000001, - 68C3958900C567B67F000001, + 68C3994100C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSAdminModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958500C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AdminElementNode.cpp; - refType = 4; - sourceTree = ""; + 68C3995000C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958600C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AdminQuery.cpp; - refType = 4; - sourceTree = ""; + 68C3996000C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958700C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSAdminModule.cpp; - refType = 4; - sourceTree = ""; + 68C3997000C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958900C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AdminElementNode.h; - refType = 4; - sourceTree = ""; + 68C3997900C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958A00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AdminQuery.h; - refType = 4; - sourceTree = ""; + 68C3998800C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3958B00C567B67F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSAdminModule.h; - refType = 4; - sourceTree = ""; + 68C3999900C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3959200C567B77F000001 = { - children = ( - 68C3959400C567B77F000001, - 68C3959600C567B77F000001, + 68C399B900C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSHttpFileModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3959400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSHttpFileModule.cpp; - refType = 4; - sourceTree = ""; + 68C399C700C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3959600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSHttpFileModule.h; - refType = 4; - sourceTree = ""; + 68C399D600C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3959D00C567B77F000001 = { - children = ( - 68C3959F00C567B77F000001, - 68C395A200C567B77F000001, - 68C395A000C567B77F000001, - 68C395A300C567B77F000001, + 68C399E800C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSRTPFileModule; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3959F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRTPFileModule.cpp; - refType = 4; - sourceTree = ""; + 68C399F300C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395A000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPFileSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395A200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRTPFileModule.h; - refType = 4; - sourceTree = ""; - }; - 68C395A300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPFileSession.h; - refType = 4; - sourceTree = ""; - }; - 68C395AA00C567B77F000001 = { - children = ( - 68C395AD00C567B77F000001, - 68C395B000C567B77F000001, - 68C395AC00C567B77F000001, - 68C395AF00C567B77F000001, + 68C399FE00C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = QTSSAccessModule; - refType = 4; - sourceTree = ""; - }; - 68C395AC00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = AccessChecker.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395AD00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSAccessModule.cpp; - refType = 4; - sourceTree = ""; - }; - 68C395AF00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = AccessChecker.h; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C395B000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSAccessModule.h; - refType = 4; - sourceTree = ""; + 68C39A0700C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395B700C567B77F000001 = { - children = ( - 68C395B900C567B77F000001, + 68C39A3400C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = OSMemoryLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C395B900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = OSMemory.cpp; - refType = 4; - sourceTree = ""; + 68C39A4500C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C000C567B77F000001 = { - children = ( - 68C395C200C567B77F000001, - 68C395C700C567B77F000001, - 68C395C300C567B77F000001, - 68C395C800C567B77F000001, - 68C395C400C567B77F000001, - 68C395C900C567B77F000001, - 68C395C500C567B77F000001, - 68C395CA00C567B77F000001, + 68C39A5200C567B77F000001 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = RTCPUtilitiesLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPAckPacket.cpp; - refType = 4; - sourceTree = ""; + 84CE3C440CEE607F0056DB85 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPAPPPacket.cpp; - refType = 4; - sourceTree = ""; + B62C45CA012B21880BDD2A6C /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPPacket.cpp; - refType = 4; - sourceTree = ""; + B6494F9B0279F7500BDD2A6C /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTCPSRPacket.cpp; - refType = 4; - sourceTree = ""; + B649D5CF02B97F170BDD2A6C /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPAckPacket.h; - refType = 4; - sourceTree = ""; + B6DC97FA02FB2EAB0BDD2A6C /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPAPPPacket.h; - refType = 4; - sourceTree = ""; + E98FD95A02F5BC3309DD2838 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395C900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPPacket.h; - refType = 4; - sourceTree = ""; + F533DAB1011744B701DD292F /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395CA00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTCPSRPacket.h; - refType = 4; - sourceTree = ""; + F57EED28027E9E1201FF7AB9 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395D100C567B77F000001 = { - children = ( - 68C395D300C567B77F000001, - 68C395D800C567B77F000001, - 68C395D600C567B77F000001, - 68C395DD00C567B77F000001, - 003D3EDC0132F64000DD292F, - 003D3EDD0132F64000DD292F, - 68C395DB00C567B77F000001, + F57EED2D027E9E1201FF7AB9 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = PrefsSourceLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C395D300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = FilePrefsSource.cpp; - refType = 4; - sourceTree = ""; + F5E91D13027758E801DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395D600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = XMLPrefsParser.cpp; - refType = 4; - sourceTree = ""; + F5E91D2E02775B5E01DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395D800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = FilePrefsSource.h; - refType = 4; - sourceTree = ""; + F5E91D3F02775C5601DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395DB00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = PrefsSource.h; - refType = 4; - sourceTree = ""; + F5E91D6502775C5601DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395DD00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = XMLPrefsParser.h; - refType = 4; - sourceTree = ""; + F5E91D7702775D2501DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395E600C567B77F000001 = { - children = ( - 68C395EA00C567B77F000001, - 68C395E800C567B77F000001, - 68C395EC00C567B77F000001, - 68C395EB00C567B77F000001, + F5E91D8602775D2501DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = APIStubLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C395E800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSS_Private.cpp; - refType = 4; - sourceTree = ""; + F5E91D9502775D2501DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395EA00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSS.h; - refType = 4; - sourceTree = ""; + F5E91DA502775EEC01DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395EB00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRTSPProtocol.h; - refType = 4; - sourceTree = ""; + F5E91DCB0277603301DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395EC00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSS_Private.h; - refType = 4; - sourceTree = ""; + F5E91DDB0277603301DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395F300C567B77F000001 = { - children = ( - 68C395F500C567B77F000001, - 68C395F800C567B77F000001, - 68C395F600C567B77F000001, - 68C395F900C567B77F000001, + F5E91DED0277603301DD2AFC /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - path = HTTPUtilitiesLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C395F500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = HTTPProtocol.cpp; - refType = 4; - sourceTree = ""; + F6A48AF402390D0401000103 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C395F600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = HTTPRequest.cpp; - refType = 4; - sourceTree = ""; +/* End PBXRezBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 0055090A02774E1100DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cp ${SRCROOT}/WebAdmin/NetSSLeay/SSLeay.pm ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.pl"; }; - 68C395F800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = HTTPProtocol.h; - refType = 4; - sourceTree = ""; + 00759B3400F259D500DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; }; - 68C395F900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = HTTPRequest.h; - refType = 4; - sourceTree = ""; + 00759B3500F25A0A00DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; }; - 68C3960000C567B77F000001 = { - children = ( - 68C3960200C567B77F000001, - 68C3960400C567B77F000001, + 00759B3600F25A0A00DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( ); - isa = PBXGroup; - path = RTPMetaInfoLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; }; - 68C3960200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTPMetaInfoPacket.cpp; - refType = 4; - sourceTree = ""; + 00759B3700F25A8000DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; }; - 68C3960400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTPMetaInfoPacket.h; - refType = 4; - sourceTree = ""; + 00759B3800F25A8000DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; }; - 68C3960B00C567B77F000001 = { - children = ( - 68C3960D00C567B77F000001, - 68C3962100C567B77F000001, - 68C3960E00C567B77F000001, - 68C3962200C567B77F000001, - 68C3960F00C567B77F000001, - 68C3962300C567B77F000001, - 68C3961000C567B77F000001, - 68C3962400C567B77F000001, - 68C3961100C567B77F000001, - 68C3962500C567B77F000001, - 68C3961200C567B77F000001, - 68C3962600C567B77F000001, - 68C3961300C567B77F000001, - 68C3962700C567B77F000001, - 68C3961400C567B77F000001, - 68C3962800C567B77F000001, - 68C3961500C567B77F000001, - 68C3962900C567B77F000001, - 68C3961600C567B77F000001, - 68C3962A00C567B77F000001, - 68C3961700C567B77F000001, - 68C3962B00C567B77F000001, - 68C3961800C567B77F000001, - 68C3962C00C567B77F000001, - 68C3961900C567B77F000001, - 68C3962D00C567B77F000001, - 68C3961A00C567B77F000001, - 68C3962E00C567B77F000001, - 68C3961B00C567B77F000001, - 68C3962F00C567B77F000001, - 68C3961C00C567B77F000001, - 68C3963000C567B77F000001, - 68C3961D00C567B77F000001, - 68C3963100C567B77F000001, - 68C3961E00C567B77F000001, - 68C3963200C567B77F000001, - 68C3961F00C567B77F000001, - 68C3963300C567B77F000001, + 00759B3900F25AF700DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( ); - isa = PBXGroup; - path = QTFileLib; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; }; - 68C3960D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom.cpp; - refType = 4; - sourceTree = ""; + 00759B3A00F25AF700DD2B4C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod -R ug+rw ${DSTROOT}/Library/QuickTimeStreaming\nchmod 0750 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchmod -R u=rwX,g=rX,o= ${DSTROOT}/Library/QuickTimeStreaming/Config"; }; - 68C3960E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_dref.cpp; - refType = 4; - sourceTree = ""; + 00A79F9301359B1500DD2B4F /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources"; }; - 68C3960F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_elst.cpp; - refType = 4; - sourceTree = ""; + 00A79F9401359B1500DD2B4F /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj"; }; - 68C3961000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_hinf.cpp; - refType = 4; - sourceTree = ""; + 00A79F9501359B1500DD2B4F /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cp ${SRCROOT}/WebAdmin/StartupItems.bproj/English.lproj/Localizable.strings ${DSTROOT}${SYSTEM_LIBRARY_DIR}/StartupItems/QuickTimeStreamingServer/Resources/English.lproj/Localizable.strings"; }; - 68C3961100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_mdhd.cpp; - refType = 4; - sourceTree = ""; + 52335F2D04EA47CC0003CA12 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingadminserver_autostart.conf"; }; - 68C3961200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_mvhd.cpp; - refType = 4; - sourceTree = ""; + 52335F2E04EA47D60003CA12 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 640 ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingloadtool.conf"; }; - 68C3961300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stco.cpp; - refType = 4; - sourceTree = ""; + 523576150C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; }; - 68C3961400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stsc.cpp; - refType = 4; - sourceTree = ""; + 523576160C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; }; - 68C3961500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stsd.cpp; - refType = 4; - sourceTree = ""; + 523576170C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; }; - 68C3961600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stss.cpp; - refType = 4; - sourceTree = ""; + 523576180C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; }; - 68C3961700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stsz.cpp; - refType = 4; - sourceTree = ""; + 523576190C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; }; - 68C3961800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_stts.cpp; - refType = 4; - sourceTree = ""; + 5235761A0C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; }; - 68C3961900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_tkhd.cpp; - refType = 4; - sourceTree = ""; + 5235761B0C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod -R ug+rw ${DSTROOT}/Library/QuickTimeStreaming\nchmod 0750 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchmod -R u=rwX,g=rX,o= ${DSTROOT}/Library/QuickTimeStreaming/Config"; }; - 68C3961A00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAtom_tref.cpp; - refType = 4; - sourceTree = ""; + 5235761C0C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chown 76:80 ${DSTROOT}/Library/QuickTimeStreaming\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Movies\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Playlists\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Logs"; }; - 68C3961B00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFile.cpp; - refType = 4; - sourceTree = ""; + 5235761D0C33A0890098823D /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 555 ${DSTROOT}/usr/bin/createuserstreamingdir"; }; - 68C3961C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTFile_FileControlBlock.cpp; - refType = 4; - sourceTree = ""; + 5273046504303F0B000ECF53 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chown 76:80 ${DSTROOT}/Library/QuickTimeStreaming\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Movies\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Config\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Playlists\nchown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/Logs"; }; - 68C3961D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTHintTrack.cpp; - refType = 4; - sourceTree = ""; + 52E30B1A041DD25100FFB433 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cp ${TARGET_BUILD_DIR}/SSLeay.bundle.bundle/Contents/MacOS/SSLeay.bundle ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml/SSLeay.bundle"; }; - 68C3961E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTRTPFile.cpp; - refType = 4; - sourceTree = ""; + E926569B0430ED4409DD2838 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; }; - 68C3961F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTTrack.cpp; - refType = 4; - sourceTree = ""; + E961241C0432443309DD2838 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod -R g+w ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; }; - 68C3962100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom.h; - refType = 4; - sourceTree = ""; + F56B5AC70278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; }; - 68C3962200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_dref.h; - refType = 4; - sourceTree = ""; + F56B5AC80278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; }; - 68C3962300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_elst.h; - refType = 4; - sourceTree = ""; + F56B5AC90278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; }; - 68C3962400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_hinf.h; - refType = 4; - sourceTree = ""; + F56B5ACA0278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; }; - 68C3962500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_mdhd.h; - refType = 4; - sourceTree = ""; + F56B5ACB0278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; }; - 68C3962600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_mvhd.h; - refType = 4; - sourceTree = ""; + F56B5ACC0278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; }; - 68C3962700C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stco.h; - refType = 4; - sourceTree = ""; + F56B5ACD0278B00A01DD2AFC /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod -R ug+w ${DSTROOT}/Library/QuickTimeStreaming\t"; }; - 68C3962800C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stsc.h; - refType = 4; - sourceTree = ""; + FBCB7F5C0507F30000A273B4 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 8; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + shellPath = /bin/sh; + shellScript = "chmod 555 ${DSTROOT}/usr/bin/createuserstreamingdir"; }; - 68C3962900C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stsd.h; - refType = 4; - sourceTree = ""; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 000DA9E60135948600DD2B4F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 00A7A1430135DF8800DD2B4F /* dummy.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3962A00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stss.h; - refType = 4; - sourceTree = ""; + 004E288D025B787100DD2B50 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 004E2894025B798500DD2B50 /* QTSSHomeDirectoryModule.cpp in Sources */, + 00BC5F63025E827400DD2B50 /* DirectoryInfo.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3962B00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stsz.h; - refType = 4; - sourceTree = ""; + 00E5906900F4DD0500DD2B4C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 004086EE02F0A2EE00DD2B4C /* StreamingLoadTool.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3962C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_stts.h; - refType = 4; - sourceTree = ""; + 484082A103D78E0900DD2838 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 484082B003D78E3600DD2838 /* BroadcasterAdminController.m in Sources */, + 484082B103D78E3600DD2838 /* broadcasterctl_main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3962D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_tkhd.h; - refType = 4; - sourceTree = ""; + 523575C50C33A0890098823D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 523575C60C33A0890098823D /* GenerateXMLPrefs.cpp in Sources */, + 523575C70C33A0890098823D /* main.cpp in Sources */, + 523575C80C33A0890098823D /* QTSSCallbacks.cpp in Sources */, + 523575C90C33A0890098823D /* QTSSDataConverter.cpp in Sources */, + 523575CA0C33A0890098823D /* QTSSDictionary.cpp in Sources */, + 523575CB0C33A0890098823D /* QTSSErrorLogModule.cpp in Sources */, + 523575CC0C33A0890098823D /* QTSServer.cpp in Sources */, + 523575CD0C33A0890098823D /* QTSServerInterface.cpp in Sources */, + 523575CE0C33A0890098823D /* QTSServerPrefs.cpp in Sources */, + 523575CF0C33A0890098823D /* QTSSExpirationDate.cpp in Sources */, + 523575D00C33A0890098823D /* QTSSFile.cpp in Sources */, + 523575D10C33A0890098823D /* QTSSMessages.cpp in Sources */, + 523575D20C33A0890098823D /* QTSSModule.cpp in Sources */, + 523575D30C33A0890098823D /* QTSSPrefs.cpp in Sources */, + 523575D40C33A0890098823D /* QTSSSocket.cpp in Sources */, + 523575D50C33A0890098823D /* QTSSUserProfile.cpp in Sources */, + 523575D60C33A0890098823D /* RTCPTask.cpp in Sources */, + 523575D70C33A0890098823D /* RTPBandwidthTracker.cpp in Sources */, + 523575D80C33A0890098823D /* RTPOverbufferWindow.cpp in Sources */, + 523575D90C33A0890098823D /* RTPPacketResender.cpp in Sources */, + 523575DA0C33A0890098823D /* RTPSession.cpp in Sources */, + 523575DB0C33A0890098823D /* RTPSessionInterface.cpp in Sources */, + 523575DC0C33A0890098823D /* RTPStream.cpp in Sources */, + 523575DD0C33A0890098823D /* RTSPProtocol.cpp in Sources */, + 523575DE0C33A0890098823D /* RTSPRequest.cpp in Sources */, + 523575DF0C33A0890098823D /* RTSPRequest3GPP.cpp in Sources */, + 523575E00C33A0890098823D /* RTSPRequestInterface.cpp in Sources */, + 523575E10C33A0890098823D /* RTSPRequestStream.cpp in Sources */, + 523575E20C33A0890098823D /* RTSPResponseStream.cpp in Sources */, + 523575E30C33A0890098823D /* RTSPSession.cpp in Sources */, + 523575E40C33A0890098823D /* RTSPSessionInterface.cpp in Sources */, + 523575E50C33A0890098823D /* RunServer.cpp in Sources */, + 523575E60C33A0890098823D /* RTPStream3gpp.cpp in Sources */, + 523575E70C33A0890098823D /* RTPSession3GPP.cpp in Sources */, + 523575E80C33A0890098823D /* RTSPSession3GPP.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5293FDFB0B2A45DD00141B86 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 52F9010E0B2A561D00D99AE0 /* DSAccessChecker.cpp in Sources */, + 52F901100B2A561D00D99AE0 /* CDirService.cpp in Sources */, + 52F901120B2A561D00D99AE0 /* DSBuffer.cpp in Sources */, + 52F901160B2A561D00D99AE0 /* QTSSDSAuthModule.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3962E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAtom_tref.h; - refType = 4; - sourceTree = ""; + 52B24EA00B30005400A6567F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3962F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTFile.h; - refType = 4; - sourceTree = ""; + 52E30B0C041DD13500FFB433 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 52E30B11041DD21600FFB433 /* SSLeay.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3963000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTFile_FileControlBlock.h; - refType = 4; - sourceTree = ""; + 5DB82F250DD3AC4C005193F8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5DB82F390DD3AD46005193F8 /* QTSSDemoRedirectModule.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3963100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTHintTrack.h; - refType = 4; - sourceTree = ""; + 68C396BE00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396BF00C567B77F000001 /* QTSDPGen.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; }; - 68C3963200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTRTPFile.h; - refType = 4; - sourceTree = ""; - }; - 68C3963300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTTrack.h; - refType = 4; - sourceTree = ""; - }; - 68C3963A00C567B77F000001 = { - children = ( - 68C3963C00C567B77F000001, - 68C3964200C567B77F000001, - 68C3963D00C567B77F000001, - 68C3964300C567B77F000001, - 68C3963E00C567B77F000001, - 68C3964400C567B77F000001, - 68C3963F00C567B77F000001, - 68C3964500C567B77F000001, - 68C3964000C567B77F000001, - 68C3964600C567B77F000001, - F532558B0288434401DD2B50, - ); - isa = PBXGroup; - path = APICommonCode; - refType = 4; - sourceTree = ""; - }; - 68C3963C00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTAccessFile.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3963D00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSModuleUtils.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3963E00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSRollingLog.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3963F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SDPSourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3964000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SourceInfo.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3964200C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTAccessFile.h; - refType = 4; - sourceTree = ""; - }; - 68C3964300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSModuleUtils.h; - refType = 4; - sourceTree = ""; - }; - 68C3964400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSRollingLog.h; - refType = 4; - sourceTree = ""; - }; - 68C3964500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SDPSourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3964600C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SourceInfo.h; - refType = 4; - sourceTree = ""; - }; - 68C3964D00C567B77F000001 = { - children = ( - 68C3964F00C567B77F000001, - 68C3965300C567B77F000001, - 68C3965000C567B77F000001, - 68C3965400C567B77F000001, - 68C3965100C567B77F000001, - 68C3965500C567B77F000001, - ); - isa = PBXGroup; - path = RTSPClientLib; - refType = 4; - sourceTree = ""; - }; - 68C3964F00C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ClientSession.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3965000C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = ClientSocket.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3965100C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = RTSPClient.cpp; - refType = 4; - sourceTree = ""; - }; - 68C3965300C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ClientSession.h; - refType = 4; - sourceTree = ""; - }; - 68C3965400C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = ClientSocket.h; - refType = 4; - sourceTree = ""; - }; - 68C3965500C567B77F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = RTSPClient.h; - refType = 4; - sourceTree = ""; - }; - 68C3965C00C567B77F000001 = { - children = ( - 68C3965E00C567B77F000001, - E98FD96A02F5BD6309DD2838, - F5C07FA60415973001DD2E7A, - 522ACD55041CC52B0062FFCE, - 522ACD57041CC5700062FFCE, - 522ACD59041CC5E90062FFCE, + 68C396C800C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( ); - isa = PBXGroup; - name = "External Frameworks and Libraries"; - refType = 4; - sourceTree = ""; - }; - 68C3965E00C567B77F000001 = { - isa = PBXFileReference; - lastKnownFileType = wrapper.framework; - name = Foundation.framework; - path = /System/Library/Frameworks/Foundation.framework; - refType = 0; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3967800C567B77F000001 = { - children = ( - 68C3967A00C567B77F000001, - 68C3969C00C567B77F000001, - 68C3969D00C567B77F000001, - 68C3969E00C567B77F000001, - 68C3969F00C567B77F000001, - 68C396A000C567B77F000001, - 68C396A100C567B77F000001, - 68C396A200C567B77F000001, - 68C396A300C567B77F000001, - 68C396A900C567B77F000001, - 68C396AB00C567B77F000001, - 68C396AE00C567B77F000001, - 68C396B000C567B77F000001, - 68C396AF00C567B77F000001, - 68C396B100C567B77F000001, - 68C396B200C567B77F000001, - 68C396B300C567B77F000001, - 68C396B400C567B77F000001, - 68C396B500C567B77F000001, - 68C396B600C567B77F000001, - 68C396B700C567B77F000001, - B62C45C5012B21870BDD2A6C, - 00E5906600F4DD0400DD2B4C, - F533DA95011744B601DD292F, - 000DA9E30135948500DD2B4F, - F6A48AED02390D0401000103, - 004E2889025B787000DD2B50, - F5E91D0D027758E801DD2AFC, - F5E91D1F02775B5D01DD2AFC, - F5E91D2F02775C5601DD2AFC, - F5E91D3002775C5601DD2AFC, - F5E91D6602775D2501DD2AFC, - F5E91D6702775D2501DD2AFC, - F5E91D6802775D2501DD2AFC, - F5E91D9D02775EEB01DD2AFC, - F5E91DA60277603301DD2AFC, - F5E91DA70277603301DD2AFC, - F5E91DA80277603301DD2AFC, - F56B5A600278ADD701DD2AFC, - B6494F950279F74E0BDD2A6C, - F57EED22027E9E1101FF7AB9, - F57EED23027E9E1101FF7AB9, - B649D5CA02B97F160BDD2A6C, - E98FD95C02F5BC3309DD2838, - B6DC97FC02FB2EAB0BDD2A6C, - 484082A503D78E0900DD2838, - 52E30B10041DD13500FFB433, - 520F71F2070B767800B604C1, - 520F71F4070B767800B604C1, - 520F71F5070B767800B604C1, - 520F71F7070B767800B604C1, - 520F71F9070B767800B604C1, - 520F71FB070B767800B604C1, - 520F71FC070B767800B604C1, - 520F71FD070B767800B604C1, - 520F71FF070B767800B604C1, - 520F7201070B767800B604C1, - 520F7203070B767800B604C1, - 520F7205070B767800B604C1, - 520F7207070B767800B604C1, - 520F7209070B767800B604C1, - 520F720B070B767800B604C1, - 520F720D070B767800B604C1, - 520F720F070B767800B604C1, - 520F7210070B767800B604C1, + 68C396D300C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396D400C567B77F000001 /* QTRTPGen.cpp in Sources */, ); - isa = PBXGroup; - name = Products; - path = ""; - refType = 4; - sourceTree = ""; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3967A00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libTestQTFileLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969C00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libAtomicLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969D00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libCommonUtilitiesLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969E00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libOSMemory_Modules.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C3969F00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSAccessLogModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A000C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSFileModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A100C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSReflectorModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A200C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSFlowControlModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A300C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSWebDebugModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396A900C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSPOSIXFileSysModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396AB00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSAdminModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396AE00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSAccessModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396AF00C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libOSMemoryLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B000C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libRTCPUtilitiesLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B100C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libPrefsSourceLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B200C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libAPIStubLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B300C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libHTTPUtilitiesLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B400C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libRTPMetaInfoLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B500C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTFileLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B600C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libAPICommonCode.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B700C567B77F000001 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libRTSPClientLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 68C396B800C567B77F000001 = { - buildPhases = ( - DB5FB4DC07C433A600A894EA, - DB5FB50507C433EA00A894EA, - ); - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = s; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = StreamingServer; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F50ACCCF037E597A017C358E, - 007870EC00F4E38300DD2B4C, + 68C396DD00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396DE00C567B77F000001 /* QTRTPFileTest.cpp in Sources */, ); - isa = PBXAggregateTarget; - name = QTSS; - productName = "StreamingServer (Aggregate)"; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396BA00C567B77F000001 = { - buildPhases = ( - 68C3972100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = QTFileTools; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F54D303D027FCAD101000102, - F54D303E027FCAD101000102, - 68C396BB00C567B77F000001, - 68C396C500C567B77F000001, - 68C396D000C567B77F000001, - 68C396DA00C567B77F000001, - 68C396E400C567B77F000001, - 68C396EE00C567B77F000001, - 68C396F800C567B77F000001, - 68C3970200C567B77F000001, - 68C3970C00C567B77F000001, - 68C3971600C567B77F000001, + 68C396E700C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396E800C567B77F000001 /* QTSampleLister.cpp in Sources */, ); - isa = PBXAggregateTarget; - name = QTFileTools; - productName = "QTFileTools (Aggregate)"; - }; - 68C396BB00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396BC00C567B77F000001; - targetProxy = FB0D1DA3064AFB71006F2774; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396BC00C567B77F000001 = { - buildPhases = ( - 68C396BD00C567B77F000001, - 68C396BE00C567B77F000001, - 68C396C000C567B77F000001, - 68C396C400C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ../..; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSDPGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B6E0239282F01000103, - 68C39A8D00C59BD47F000001, - 68C39A8C00C59BD47F000001, - 68C39A8A00C59BD47F000001, + 68C396F100C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C396F200C567B77F000001 /* QTTrackInfo.cpp in Sources */, ); - isa = PBXToolTarget; - name = QTSDPGen; - productName = "QTSDPGen (Tool)"; - productReference = 520F7209070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396BD00C567B77F000001 = { + 68C396FB00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C396FC00C567B77F000001 /* QTFileInfo.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396BE00C567B77F000001 = { + 68C3970500C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396BF00C567B77F000001, + 68C3970600C567B77F000001 /* QTFileTest.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396BF00C567B77F000001 = { - fileRef = 68C3921B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396C000C567B77F000001 = { + 68C3970F00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396C200C567B77F000001, - 68C39A8600C59A9E7F000001, - 68C39A8700C59A9E7F000001, - 68C39A8800C59A9E7F000001, - F57EED53027EA94401FF7AB9, - 522B6D3804E1708000244363, + 68C3971000C567B77F000001 /* QTBroadcaster.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396C200C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396C400C567B77F000001 = { + 68C3971A00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C3971B00C567B77F000001 /* RTPFileGen.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396C500C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396C600C567B77F000001; - targetProxy = FB0D1D37064AFB71006F2774; - }; - 68C396C600C567B77F000001 = { - buildPhases = ( - 68C396C700C567B77F000001, - 68C396C800C567B77F000001, - 68C396C900C567B77F000001, - 68C396CF00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libTestQTFileLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39A8000C598377F000001, - F6999B6F0239282F01000103, - 68C39A8100C598B27F000001, - 68C39A8300C598B27F000001, + 68C3974E00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3974F00C567B77F000001 /* GenerateXMLPrefs.cpp in Sources */, + 68C3975000C567B77F000001 /* main.cpp in Sources */, + 68C3975100C567B77F000001 /* QTSSCallbacks.cpp in Sources */, + 68C3975200C567B77F000001 /* QTSSDataConverter.cpp in Sources */, + 68C3975300C567B77F000001 /* QTSSDictionary.cpp in Sources */, + 68C3975400C567B77F000001 /* QTSSErrorLogModule.cpp in Sources */, + 68C3975500C567B77F000001 /* QTSServer.cpp in Sources */, + 68C3975600C567B77F000001 /* QTSServerInterface.cpp in Sources */, + 68C3975700C567B77F000001 /* QTSServerPrefs.cpp in Sources */, + 68C3975800C567B77F000001 /* QTSSExpirationDate.cpp in Sources */, + 68C3975900C567B77F000001 /* QTSSFile.cpp in Sources */, + 68C3975A00C567B77F000001 /* QTSSMessages.cpp in Sources */, + 68C3975B00C567B77F000001 /* QTSSModule.cpp in Sources */, + 68C3975C00C567B77F000001 /* QTSSPrefs.cpp in Sources */, + 68C3975D00C567B77F000001 /* QTSSSocket.cpp in Sources */, + 68C3975E00C567B77F000001 /* QTSSUserProfile.cpp in Sources */, + 68C3975F00C567B77F000001 /* RTCPTask.cpp in Sources */, + 68C3976000C567B77F000001 /* RTPBandwidthTracker.cpp in Sources */, + 68C3976100C567B77F000001 /* RTPOverbufferWindow.cpp in Sources */, + 68C3976200C567B77F000001 /* RTPPacketResender.cpp in Sources */, + 68C3976300C567B77F000001 /* RTPSession.cpp in Sources */, + 68C3976400C567B77F000001 /* RTPSessionInterface.cpp in Sources */, + 68C3976500C567B77F000001 /* RTPStream.cpp in Sources */, + 68C3976600C567B77F000001 /* RTSPProtocol.cpp in Sources */, + 68C3976700C567B77F000001 /* RTSPRequest.cpp in Sources */, + 52F909BB099D6AF5006F0FCA /* RTSPRequest3GPP.cpp in Sources */, + 68C3976800C567B77F000001 /* RTSPRequestInterface.cpp in Sources */, + 68C3976900C567B77F000001 /* RTSPRequestStream.cpp in Sources */, + 68C3976A00C567B77F000001 /* RTSPResponseStream.cpp in Sources */, + 68C3976B00C567B77F000001 /* RTSPSession.cpp in Sources */, + 68C3976C00C567B77F000001 /* RTSPSessionInterface.cpp in Sources */, + 68C3976D00C567B77F000001 /* RunServer.cpp in Sources */, + 520EF57209A60B21009892F1 /* RTPStream3gpp.cpp in Sources */, + 525CF5EB09A634FF0096D127 /* RTPSession3GPP.cpp in Sources */, + 525CF5EF09A635180096D127 /* RTSPSession3GPP.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C3979E00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3979F00C567B77F000001 /* BCasterTracker.cpp in Sources */, + 68C397A000C567B77F000001 /* BroadcastLog.cpp in Sources */, + 68C397A100C567B77F000001 /* NoRepeat.cpp in Sources */, + 68C397A200C567B77F000001 /* PickerFromFile.cpp in Sources */, + 68C397A300C567B77F000001 /* PlaylistBroadcaster.cpp in Sources */, + 68C397A400C567B77F000001 /* playlist_broadcaster.cpp in Sources */, + 68C397A500C567B77F000001 /* playlist_elements.cpp in Sources */, + 68C397A600C567B77F000001 /* playlist_lists.cpp in Sources */, + 68C397A700C567B77F000001 /* playlist_parsers.cpp in Sources */, + 68C397A800C567B77F000001 /* PlaylistPicker.cpp in Sources */, + 68C397A900C567B77F000001 /* playlist_QTRTPBroadcastFile.cpp in Sources */, + 68C397AA00C567B77F000001 /* playlist_SDPGen.cpp in Sources */, + 68C397AB00C567B77F000001 /* playlist_SimpleParse.cpp in Sources */, + 68C397AC00C567B77F000001 /* playlist_utils.cpp in Sources */, + 68C397AD00C567B77F000001 /* PLBroadcastDef.cpp in Sources */, + 68C397AE00C567B77F000001 /* BroadcasterSession.cpp in Sources */, ); - isa = PBXLibraryTarget; - name = "TestQTFileLib (Library)"; - productName = "TestQTFileLib (Library)"; - productReference = 68C3967A00C567B77F000001; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396C700C567B77F000001 = { + 68C397B900C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C397BA00C567B77F000001 /* QTSSPasswd.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396C800C567B77F000001 = { + 68C397C600C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C397C800C567B77F000001 /* proxy.c in Sources */, + 68C397C900C567B77F000001 /* proxy_unix.c in Sources */, + 68C397CA00C567B77F000001 /* shared_udp.c in Sources */, + 68C397CB00C567B77F000001 /* util.c in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396C900C567B77F000001 = { + 68C3987700C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396CA00C567B77F000001, - 68C39A7B00C597AB7F000001, - 68C39A7C00C597AB7F000001, - 68C39A7D00C597AB7F000001, - 68C39A7E00C597AB7F000001, + 68C3987900C567B77F000001 /* timescale.c in Sources */, + F5EF9AF001235DC301DD292F /* atomic.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396CA00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396CF00C567B77F000001 = { + 68C398B100C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C398B200C567B77F000001 /* ConfParser.cpp in Sources */, + 68C398B300C567B77F000001 /* DateTranslator.cpp in Sources */, + 68C398B400C567B77F000001 /* EventContext.cpp in Sources */, + 68C398B500C567B77F000001 /* IdleTask.cpp in Sources */, + 68C398B600C567B77F000001 /* md5digest.cpp in Sources */, + 68C398B700C567B77F000001 /* MyAssert.cpp in Sources */, + 68C398B800C567B77F000001 /* OS.cpp in Sources */, + 68C398B900C567B77F000001 /* OSBufferPool.cpp in Sources */, + 68C398BA00C567B77F000001 /* OSCodeFragment.cpp in Sources */, + 68C398BB00C567B77F000001 /* OSCond.cpp in Sources */, + 68C398BC00C567B77F000001 /* OSFileSource.cpp in Sources */, + 68C398BD00C567B77F000001 /* OSHeap.cpp in Sources */, + 68C398BE00C567B77F000001 /* OSMutex.cpp in Sources */, + 68C398BF00C567B77F000001 /* OSMutexRW.cpp in Sources */, + 68C398C000C567B77F000001 /* OSQueue.cpp in Sources */, + 68C398C100C567B77F000001 /* OSRef.cpp in Sources */, + 68C398C200C567B77F000001 /* OSThread.cpp in Sources */, + 68C398C300C567B77F000001 /* QueryParamList.cpp in Sources */, + 68C398C400C567B77F000001 /* ResizeableStringFormatter.cpp in Sources */, + 68C398C500C567B77F000001 /* Socket.cpp in Sources */, + 68C398C600C567B77F000001 /* SocketUtils.cpp in Sources */, + 68C398C700C567B77F000001 /* StringFormatter.cpp in Sources */, + 68C398C800C567B77F000001 /* StringParser.cpp in Sources */, + 68C398C900C567B77F000001 /* StringTranslator.cpp in Sources */, + 68C398CA00C567B77F000001 /* StrPtrLen.cpp in Sources */, + 68C398CB00C567B77F000001 /* Task.cpp in Sources */, + 68C398CC00C567B77F000001 /* TCPListenerSocket.cpp in Sources */, + 68C398CD00C567B77F000001 /* TCPSocket.cpp in Sources */, + 68C398CE00C567B77F000001 /* TimeoutTask.cpp in Sources */, + 68C398CF00C567B77F000001 /* UDPDemuxer.cpp in Sources */, + 68C398D000C567B77F000001 /* UDPSocket.cpp in Sources */, + 68C398D100C567B77F000001 /* UDPSocketPool.cpp in Sources */, + 68C398D200C567B77F000001 /* UserAgentParser.cpp in Sources */, + 68C398D300C567B77F000001 /* base64.c in Sources */, + 68C398D400C567B77F000001 /* getopt.c in Sources */, + 68C398D500C567B77F000001 /* GetWord.c in Sources */, + 68C398D600C567B77F000001 /* md5.c in Sources */, + 68C398D700C567B77F000001 /* Trim.c in Sources */, + F50DFC13025357EB01F41924 /* SDPUtils.cpp in Sources */, + 84413B8A09D9FEBB00F2EB8C /* ev.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C398E200C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C398E300C567B77F000001 /* OSMemory_Modules.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396D000C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396D100C567B77F000001; - targetProxy = FB0D1D4D064AFB71006F2774; - }; - 68C396D100C567B77F000001 = { - buildPhases = ( - 68C396D200C567B77F000001, - 68C396D300C567B77F000001, - 68C396D500C567B77F000001, - 68C396D900C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTRTPGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B700239282F01000103, - 68C39A9200C59C3C7F000001, - 68C39A9300C59C3C7F000001, - 68C39A9400C59C3C7F000001, - 68C39A9500C59C3C7F000001, + 68C398EB00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C398EC00C567B77F000001 /* QTSSAccessLogModule.cpp in Sources */, ); - isa = PBXToolTarget; - name = QTRTPGen; - productName = "QTRTPGen (Tool)"; - productReference = 520F71FD070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396D200C567B77F000001 = { + 68C398F400C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C398F500C567B77F000001 /* QTSSFileModule.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396D300C567B77F000001 = { + 68C3990800C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396D400C567B77F000001, + 68C3990900C567B77F000001 /* QTSSReflectorModule.cpp in Sources */, + 68C3990A00C567B77F000001 /* QTSSRelayModule.cpp in Sources */, + 68C3990C00C567B77F000001 /* RCFSourceInfo.cpp in Sources */, + 68C3990D00C567B77F000001 /* ReflectorSession.cpp in Sources */, + 68C3990E00C567B77F000001 /* ReflectorStream.cpp in Sources */, + 68C3990F00C567B77F000001 /* RelayOutput.cpp in Sources */, + 68C3991000C567B77F000001 /* RelaySDPSourceInfo.cpp in Sources */, + 68C3991100C567B77F000001 /* RTPSessionOutput.cpp in Sources */, + 68C3991200C567B77F000001 /* RTSPSourceInfo.cpp in Sources */, + 68C3991300C567B77F000001 /* SequenceNumberMap.cpp in Sources */, + 0066F5D1016E6AD000DD2B4C /* RelaySession.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396D400C567B77F000001 = { - fileRef = 68C3922B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396D500C567B77F000001 = { + 68C3991C00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396D700C567B77F000001, - F57EED54027EA94401FF7AB9, - 68C39A8E00C59BD47F000001, - F6A3A53102392A2801000103, - 68C39A9000C59BD47F000001, - 68C39A9100C59BD47F000001, + 68C3991D00C567B77F000001 /* QTSSFlowControlModule.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396D700C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396D900C567B77F000001 = { + 68C3992500C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C3992600C567B77F000001 /* QTSSWebDebugModule.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396DA00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396DB00C567B77F000001; - targetProxy = FB0D1D96064AFB71006F2774; - }; - 68C396DB00C567B77F000001 = { - buildPhases = ( - 68C396DC00C567B77F000001, - 68C396DD00C567B77F000001, - 68C396DF00C567B77F000001, - 68C396E300C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTRTPFileTest; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6999B68023927CE01000103, - 68C39A9700C59D627F000001, - 68C39A9800C59D627F000001, - 68C39A9A00C59D627F000001, + 68C3993800C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C3993900C567B77F000001 /* QTSSSpamDefenseModule.cpp in Sources */, ); - isa = PBXToolTarget; - name = QTRTPFileTest; - productName = "QTRTPFileTest (Tool)"; - productReference = 520F7207070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396DC00C567B77F000001 = { + 68C3994700C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C3994800C567B77F000001 /* QTSSRawFileModule.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396DD00C567B77F000001 = { + 68C3995600C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396DE00C567B77F000001, + 68C3995700C567B77F000001 /* QTSSFilePrivsModule.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396DE00C567B77F000001 = { - fileRef = 68C3923400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396DF00C567B77F000001 = { + 68C3996700C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396E100C567B77F000001, - 68C39A9B00C59D627F000001, - 68C39A9C00C59D627F000001, - 68C39A9E00C59D627F000001, - 5264A2C0041FD10500B9CAA7, - F6A3A53202392AE101000103, + 5D375D880D5A86C500EF4430 /* QTSSDemoAuthorizationModule.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396E100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396E300C567B77F000001 = { + 68C3997500C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C3997600C567B77F000001 /* QTSSPosixFileSysModule.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396E400C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396E500C567B77F000001; - targetProxy = FB0D1D31064AFB71006F2774; - }; - 68C396E500C567B77F000001 = { - buildPhases = ( - 68C396E600C567B77F000001, - 68C396E700C567B77F000001, - 68C396E900C567B77F000001, - 68C396ED00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSampleLister; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F6A48AEF02390D0401000103, - 68C39A9F00C59DC47F000001, - 68C39AA000C59DC47F000001, - 68C39AA200C59DC47F000001, - ); - isa = PBXToolTarget; - name = QTSampleLister; - productName = "QTSampleLister (Tool)"; - productReference = 520F71F9070B767800B604C1; - }; - 68C396E600C567B77F000001 = { + 68C3997F00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C3998000C567B77F000001 /* QTSSDemoSMILModule.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396E700C567B77F000001 = { + 68C3998F00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396E800C567B77F000001, + 68C3999000C567B77F000001 /* AdminElementNode.cpp in Sources */, + 68C3999100C567B77F000001 /* AdminQuery.cpp in Sources */, + 68C3999200C567B77F000001 /* QTSSAdminModule.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396E800C567B77F000001 = { - fileRef = 68C3923D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396E900C567B77F000001 = { + 68C399B300C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396EB00C567B77F000001, - F57EED56027EA94401FF7AB9, - 68C39AA300C59DC47F000001, - F6A3A53302392AE101000103, - 68C39AA400C59DC47F000001, - 68C39AA600C59DC47F000001, + 68C399B400C567B77F000001 /* AccessChecker.cpp in Sources */, + 68C399B500C567B77F000001 /* QTSSAccessModule.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396EB00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396ED00C567B77F000001 = { + 68C399C300C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C399C400C567B77F000001 /* OSMemory.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396EE00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396EF00C567B77F000001; - targetProxy = FB0D1D77064AFB71006F2774; - }; - 68C396EF00C567B77F000001 = { - buildPhases = ( - 68C396F000C567B77F000001, - 68C396F100C567B77F000001, - 68C396F300C567B77F000001, - 68C396F700C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTTrackInfo; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AB100C59ED87F000001, - F6999B69023927CE01000103, - 68C39AB200C59ED87F000001, - 68C39AB400C59ED87F000001, - ); - isa = PBXToolTarget; - name = QTTrackInfo; - productName = "QTTrackInfo (Tool)"; - productReference = 520F7205070B767800B604C1; - }; - 68C396F000C567B77F000001 = { + 68C399CF00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C399D000C567B77F000001 /* RTCPAckPacket.cpp in Sources */, + 68C399D100C567B77F000001 /* RTCPAPPPacket.cpp in Sources */, + 68C399D200C567B77F000001 /* RTCPPacket.cpp in Sources */, + 68C399D300C567B77F000001 /* RTCPSRPacket.cpp in Sources */, + 5273197E09AE0A5D0028AE2B /* RTCPAPPQTSSPacket.cpp in Sources */, + 52240D0D09C17A0100E87224 /* RTCPAPPNADUPacket.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396F100C567B77F000001 = { + 68C399E000C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396F200C567B77F000001, + 68C399E100C567B77F000001 /* FilePrefsSource.cpp in Sources */, + 68C399E400C567B77F000001 /* XMLPrefsParser.cpp in Sources */, + 003D3EE00132F64100DD292F /* XMLParser.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396F200C567B77F000001 = { - fileRef = 68C3924600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396F300C567B77F000001 = { + 68C399EF00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396F500C567B77F000001, - F57EED57027EA94401FF7AB9, - 68C39AA700C59E2F7F000001, - 68C39AA800C59E2F7F000001, - 68C39AAA00C59E2F7F000001, - F6A3A53402392AE101000103, + 68C399F000C567B77F000001 /* QTSS_Private.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396F500C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C396F700C567B77F000001 = { + 68C399F900C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C399FA00C567B77F000001 /* HTTPProtocol.cpp in Sources */, + 68C399FB00C567B77F000001 /* HTTPRequest.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396F800C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C396F900C567B77F000001; - targetProxy = FB0D1D25064AFB71006F2774; - }; - 68C396F900C567B77F000001 = { - buildPhases = ( - 68C396FA00C567B77F000001, - 68C396FB00C567B77F000001, - 68C396FD00C567B77F000001, - 68C3970100C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTFileInfo; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39ABF00C59F0F7F000001, - 68C39AC000C59F0F7F000001, - F6999B6A023927CE01000103, - 68C39AC200C59F0F7F000001, + 68C39A0300C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A0400C567B77F000001 /* RTPMetaInfoPacket.cpp in Sources */, ); - isa = PBXToolTarget; - name = QTFileInfo; - productName = "QTFileInfo (Tool)"; - productReference = 520F720D070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C396FA00C567B77F000001 = { + 68C39A1E00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 68C39A1F00C567B77F000001 /* QTAtom.cpp in Sources */, + 68C39A2000C567B77F000001 /* QTAtom_dref.cpp in Sources */, + 68C39A2100C567B77F000001 /* QTAtom_elst.cpp in Sources */, + 68C39A2200C567B77F000001 /* QTAtom_hinf.cpp in Sources */, + 68C39A2300C567B77F000001 /* QTAtom_mdhd.cpp in Sources */, + 68C39A2400C567B77F000001 /* QTAtom_mvhd.cpp in Sources */, + 68C39A2500C567B77F000001 /* QTAtom_stco.cpp in Sources */, + 68C39A2600C567B77F000001 /* QTAtom_stsc.cpp in Sources */, + 68C39A2700C567B77F000001 /* QTAtom_stsd.cpp in Sources */, + 68C39A2800C567B77F000001 /* QTAtom_stss.cpp in Sources */, + 68C39A2900C567B77F000001 /* QTAtom_stsz.cpp in Sources */, + 68C39A2A00C567B77F000001 /* QTAtom_stts.cpp in Sources */, + 68C39A2B00C567B77F000001 /* QTAtom_tkhd.cpp in Sources */, + 68C39A2C00C567B77F000001 /* QTAtom_tref.cpp in Sources */, + 68C39A2D00C567B77F000001 /* QTFile.cpp in Sources */, + 68C39A2E00C567B77F000001 /* QTFile_FileControlBlock.cpp in Sources */, + 68C39A2F00C567B77F000001 /* QTHintTrack.cpp in Sources */, + 68C39A3000C567B77F000001 /* QTRTPFile.cpp in Sources */, + 68C39A3100C567B77F000001 /* QTTrack.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 68C39A3D00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68C39A3E00C567B77F000001 /* QTAccessFile.cpp in Sources */, + 68C39A3F00C567B77F000001 /* QTSSModuleUtils.cpp in Sources */, + 68C39A4000C567B77F000001 /* QTSSRollingLog.cpp in Sources */, + 68C39A4100C567B77F000001 /* SDPSourceInfo.cpp in Sources */, + 68C39A4200C567B77F000001 /* SourceInfo.cpp in Sources */, + 523A8FF70A0AE08D0091F744 /* QTSS3GPPModuleUtils.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396FB00C567B77F000001 = { + 68C39A4C00C567B77F000001 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396FC00C567B77F000001, + 68C39A4D00C567B77F000001 /* ClientSession.cpp in Sources */, + 68C39A4E00C567B77F000001 /* ClientSocket.cpp in Sources */, + 68C39A4F00C567B77F000001 /* RTSPClient.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396FC00C567B77F000001 = { - fileRef = 68C3924F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C396FD00C567B77F000001 = { + 84CE3C3E0CEE607F0056DB85 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C396FF00C567B77F000001, - F57EED58027EA94401FF7AB9, - 68C39AAB00C59E2F7F000001, - 68C39AAC00C59E2F7F000001, - F6A3A53502392AE101000103, - 68C39AAE00C59E2F7F000001, + 84CE3C3F0CEE607F0056DB85 /* DSAccessChecker.cpp in Sources */, + 84CE3C400CEE607F0056DB85 /* CDirService.cpp in Sources */, + 84CE3C410CEE607F0056DB85 /* DSBuffer.cpp in Sources */, + 84CE3C420CEE607F0056DB85 /* QTSSDSAuthModule.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C396FF00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3970100C567B77F000001 = { + B62C45C8012B21880BDD2A6C /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + B62C45CC012B24BF0BDD2A6C /* QTSSMP3StreamingModule.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3970200C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3970300C567B77F000001; - targetProxy = FB0D1D28064AFB71006F2774; - }; - 68C3970300C567B77F000001 = { - buildPhases = ( - 68C3970400C567B77F000001, - 68C3970500C567B77F000001, - 68C3970700C567B77F000001, - 68C3970B00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTFileTest; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AC300C59F417F000001, - 68C39AC500C59F417F000001, - F6999B6B023927CE01000103, - 68C39AC600C59F417F000001, + B6494F990279F7500BDD2A6C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B6494FA20279F88F0BDD2A6C /* QTSSRefMovieModule.cpp in Sources */, ); - isa = PBXToolTarget; - name = QTFileTest; - productName = "QTFileTest (Tool)"; - productReference = 520F71F7070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3970400C567B77F000001 = { + B649D5CD02B97F170BDD2A6C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B649D63802B9813C0BDD2A6C /* main.cpp in Sources */, + B649D63902B9813C0BDD2A6C /* GenerateXMLPrefs.cpp in Sources */, + B649D63A02B9813C0BDD2A6C /* QTSSCallbacks.cpp in Sources */, + B649D63B02B9813C0BDD2A6C /* QTSSDataConverter.cpp in Sources */, + B649D63C02B9813C0BDD2A6C /* QTSSDictionary.cpp in Sources */, + B649D63D02B9813C0BDD2A6C /* QTSSErrorLogModule.cpp in Sources */, + B649D63E02B9813C0BDD2A6C /* QTSServer.cpp in Sources */, + B649D63F02B9813C0BDD2A6C /* QTSServerInterface.cpp in Sources */, + B649D64002B9813C0BDD2A6C /* QTSServerPrefs.cpp in Sources */, + B649D64102B9813C0BDD2A6C /* QTSSExpirationDate.cpp in Sources */, + B649D64202B9813C0BDD2A6C /* QTSSFile.cpp in Sources */, + B649D64302B9813C0BDD2A6C /* QTSSMessages.cpp in Sources */, + B649D64402B9813C0BDD2A6C /* QTSSModule.cpp in Sources */, + B649D64502B9813C0BDD2A6C /* QTSSPrefs.cpp in Sources */, + B649D64602B9813C0BDD2A6C /* QTSSSocket.cpp in Sources */, + B649D64702B9813C0BDD2A6C /* QTSSUserProfile.cpp in Sources */, + B649D64802B9813C0BDD2A6C /* RTCPTask.cpp in Sources */, + B649D64902B9813C0BDD2A6C /* RTPBandwidthTracker.cpp in Sources */, + B649D64A02B9813C0BDD2A6C /* RTPOverbufferWindow.cpp in Sources */, + B649D64B02B9813C0BDD2A6C /* RTPPacketResender.cpp in Sources */, + B649D64C02B9813C0BDD2A6C /* RTPSession.cpp in Sources */, + B649D64D02B9813C0BDD2A6C /* RTPSessionInterface.cpp in Sources */, + B649D64E02B9813C0BDD2A6C /* RTPStream.cpp in Sources */, + B649D64F02B9813C0BDD2A6C /* RTSPProtocol.cpp in Sources */, + B649D65002B9813C0BDD2A6C /* RTSPRequest.cpp in Sources */, + B649D65102B9813C0BDD2A6C /* RTSPRequestInterface.cpp in Sources */, + B649D65202B9813C0BDD2A6C /* RTSPRequestStream.cpp in Sources */, + B649D65302B9813C0BDD2A6C /* RTSPResponseStream.cpp in Sources */, + B649D65402B9813C0BDD2A6C /* RTSPSession.cpp in Sources */, + B649D65502B9813C0BDD2A6C /* RTSPSessionInterface.cpp in Sources */, + B649D65602B9813C0BDD2A6C /* RunServer.cpp in Sources */, + B649D65D02B9813C0BDD2A6C /* QTSS_Private.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B6DC97F802FB2EAB0BDD2A6C /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + B6DC980002FB30350BDD2A6C /* QTSSProxyModule.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3970500C567B77F000001 = { + E98FD95802F5BC3309DD2838 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3970600C567B77F000001, + E98FD97202F5BD9609DD2838 /* qtsslinkapp_main.m in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3970600C567B77F000001 = { - fileRef = 68C3925800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3970700C567B77F000001 = { + F533DAA1011744B701DD292F /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3970900C567B77F000001, - F57EED59027EA94401FF7AB9, - 68C39AAF00C59E2F7F000001, - 68C39AB000C59E2F7F000001, - 68C39AB600C59ED87F000001, - F6A3A53602392AE101000103, + F533DAA2011744B701DD292F /* BroadcasterMain.cpp in Sources */, + F533DAA3011744B701DD292F /* MP3Broadcaster.cpp in Sources */, + F533DAA4011744B701DD292F /* MP3BroadcasterLog.cpp in Sources */, + F533DAA5011744B701DD292F /* MP3FileBroadcaster.cpp in Sources */, + F533DAA6011744B701DD292F /* MP3MetaInfoUpdater.cpp in Sources */, + F533DAA7011744B701DD292F /* NoRepeat.cpp in Sources */, + F533DAA8011744B701DD292F /* PickerFromFile.cpp in Sources */, + F533DAA9011744B701DD292F /* PlaylistPicker.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3970900C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3970B00C567B77F000001 = { + F56B5A630278ADD701DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F56B5A920278AF2501DD2AFC /* GenerateXMLPrefs.cpp in Sources */, + F56B5A930278AF2501DD2AFC /* main.cpp in Sources */, + F56B5A940278AF2501DD2AFC /* QTSSCallbacks.cpp in Sources */, + F56B5A950278AF2501DD2AFC /* QTSSDataConverter.cpp in Sources */, + F56B5A960278AF2501DD2AFC /* QTSSDictionary.cpp in Sources */, + F56B5A970278AF2501DD2AFC /* QTSSErrorLogModule.cpp in Sources */, + F56B5A980278AF2501DD2AFC /* QTSServer.cpp in Sources */, + F56B5A990278AF2501DD2AFC /* QTSServerInterface.cpp in Sources */, + F56B5A9A0278AF2501DD2AFC /* QTSServerPrefs.cpp in Sources */, + F56B5A9B0278AF2501DD2AFC /* QTSSExpirationDate.cpp in Sources */, + F56B5A9C0278AF2501DD2AFC /* QTSSFile.cpp in Sources */, + F56B5A9D0278AF2501DD2AFC /* QTSSMessages.cpp in Sources */, + F56B5A9E0278AF2501DD2AFC /* QTSSModule.cpp in Sources */, + F56B5A9F0278AF2501DD2AFC /* QTSSPrefs.cpp in Sources */, + F56B5AA00278AF2501DD2AFC /* QTSSSocket.cpp in Sources */, + F56B5AA10278AF2501DD2AFC /* QTSSUserProfile.cpp in Sources */, + F56B5AA20278AF2501DD2AFC /* RTCPTask.cpp in Sources */, + F56B5AA30278AF2501DD2AFC /* RTPBandwidthTracker.cpp in Sources */, + F56B5AA40278AF2501DD2AFC /* RTPOverbufferWindow.cpp in Sources */, + F56B5AA50278AF2501DD2AFC /* RTPPacketResender.cpp in Sources */, + F56B5AA60278AF2501DD2AFC /* RTPSession.cpp in Sources */, + F56B5AA70278AF2501DD2AFC /* RTPSessionInterface.cpp in Sources */, + F56B5AA80278AF2501DD2AFC /* RTPStream.cpp in Sources */, + F56B5AA90278AF2501DD2AFC /* RTSPProtocol.cpp in Sources */, + 52F909F4099D6F90006F0FCA /* RTSPRequest3GPP.cpp in Sources */, + F56B5AAA0278AF2501DD2AFC /* RTSPRequest.cpp in Sources */, + F56B5AAB0278AF2501DD2AFC /* RTSPRequestInterface.cpp in Sources */, + F56B5AAC0278AF2501DD2AFC /* RTSPRequestStream.cpp in Sources */, + F56B5AAD0278AF2501DD2AFC /* RTSPResponseStream.cpp in Sources */, + F56B5AAE0278AF2501DD2AFC /* RTSPSession.cpp in Sources */, + F56B5AAF0278AF2501DD2AFC /* RTSPSessionInterface.cpp in Sources */, + F56B5AB00278AF2501DD2AFC /* RunServer.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F57EED26027E9E1201FF7AB9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F57EED33027E9EDE01FF7AB9 /* InternalStdLib.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3970C00C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3970D00C567B77F000001; - targetProxy = FB0D1D6A064AFB71006F2774; - }; - 68C3970D00C567B77F000001 = { - buildPhases = ( - 68C3970E00C567B77F000001, - 68C3970F00C567B77F000001, - 68C3971100C567B77F000001, - 68C3971500C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTBroadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39AC700C59F6D7F000001, - F6999B6C023927CE01000103, - 68C39AC800C59F6D7F000001, - 68C39ACA00C59F6D7F000001, + F57EED2B027E9E1201FF7AB9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F57EED34027E9EDE01FF7AB9 /* DynamicModuleStdLib.cpp in Sources */, ); - isa = PBXToolTarget; - name = QTBroadcaster; - productName = "QTBroadcaster (Tool)"; - productReference = 520F7203070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3970E00C567B77F000001 = { + F5E91D11027758E801DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F5E91D1602775AB101DD2AFC /* QTSSAccessModule.cpp in Sources */, + F5E91D1702775AB101DD2AFC /* AccessChecker.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3970F00C567B77F000001 = { + F5E91D2402775B5E01DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3971000C567B77F000001, + F5E91D2502775B5E01DD2AFC /* QTSSFileModule.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3971000C567B77F000001 = { - fileRef = 68C3926100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3971100C567B77F000001 = { + F5E91D3502775C5601DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3971300C567B77F000001, - F57EED5A027EA94401FF7AB9, - 68C39AB700C59ED87F000001, - 68C39AB800C59ED87F000001, - F6A3A53702392AE101000103, - 68C39ABA00C59ED87F000001, + F5E91D3602775C5601DD2AFC /* QTSSAccessLogModule.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3971300C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3971500C567B77F000001 = { + F5E91D5002775C5601DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F56B5A390278791501DD2AFC /* QTSSReflectorModule.cpp in Sources */, + F56B5A3A0278791501DD2AFC /* QTSSRelayModule.cpp in Sources */, + F56B5A3B0278791501DD2AFC /* RCFSourceInfo.cpp in Sources */, + F56B5A3C0278791501DD2AFC /* ReflectorSession.cpp in Sources */, + F56B5A3D0278791501DD2AFC /* ReflectorStream.cpp in Sources */, + F56B5A3E0278791501DD2AFC /* RelayOutput.cpp in Sources */, + F56B5A3F0278791501DD2AFC /* RelaySDPSourceInfo.cpp in Sources */, + F56B5A400278791501DD2AFC /* RTPSessionOutput.cpp in Sources */, + F56B5A410278791501DD2AFC /* RTSPSourceInfo.cpp in Sources */, + F56B5A420278791501DD2AFC /* SequenceNumberMap.cpp in Sources */, + F56B5A430278791501DD2AFC /* RelaySession.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3971600C567B77F000001 = { - isa = PBXTargetDependency; - target = 68C3971700C567B77F000001; - targetProxy = FB0D1D1B064AFB71006F2774; - }; - 68C3971700C567B77F000001 = { - buildPhases = ( - 68C3971800C567B77F000001, - 68C3971A00C567B77F000001, - 68C3971C00C567B77F000001, - 68C3972000C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = RTPFileGen; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39ACB00C59F927F000001, - 68C39ACC00C59F927F000001, - F6999B6D023927CE01000103, - 68C39ACE00C59F927F000001, + F5E91D6D02775D2501DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91D6E02775D2501DD2AFC /* QTSSFlowControlModule.cpp in Sources */, ); - isa = PBXToolTarget; - name = RTPFileGen; - productName = "RTPFileGen (Tool)"; - productReference = 520F71F5070B767800B604C1; + runOnlyForDeploymentPostprocessing = 0; }; - 68C3971800C567B77F000001 = { + F5E91D7C02775D2501DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3971900C567B77F000001, + F5E91D7D02775D2501DD2AFC /* QTSSWebDebugModule.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3971900C567B77F000001 = { - fileRef = 68C3926C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3971A00C567B77F000001 = { + F5E91D8B02775D2501DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3971B00C567B77F000001, + F5E91D8C02775D2501DD2AFC /* QTSSWebStatsModule.cpp in Sources */, ); - isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3971B00C567B77F000001 = { - fileRef = 68C3926A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3971C00C567B77F000001 = { + F5E91DA202775EEC01DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C3971E00C567B77F000001, - F57EED5B027EA94401FF7AB9, - 68C39ABB00C59ED87F000001, - 68C39ABC00C59ED87F000001, - F6A3A53802392AE101000103, - 68C39ABE00C59ED87F000001, + F5E91DA302775EEC01DD2AFC /* QTSSPosixFileSysModule.cpp in Sources */, ); - isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3971E00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3972000C567B77F000001 = { + F5E91DBF0277603301DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F5E91DC00277603301DD2AFC /* QTSSAdminModule.cpp in Sources */, + F5E91DC10277603301DD2AFC /* AdminQuery.cpp in Sources */, + F5E91DC20277603301DD2AFC /* AdminElementNode.cpp in Sources */, ); - isa = PBXRezBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3972100C567B77F000001 = { + F5E91DD10277603301DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; files = ( + F5E91DD20277603301DD2AFC /* QTSSHttpFileModule.cpp in Sources */, ); - isa = PBXCopyFilesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3972C00C567B77F000001 = { - buildPhases = ( - 68C3972D00C567B77F000001, - 68C3974E00C567B77F000001, - 68C3976F00C567B77F000001, - 68C3978600C567B77F000001, - 00759B2B00F2586E00DD2B4C, - 00759B2E00F2593E00DD2B4C, - 61E7BB7F01A1D4AB0EDD2AFC, - FBCB7F4C0507F23500A273B4, - 00759B3400F259D500DD2B4C, - 00759B3500F25A0A00DD2B4C, - 00759B3600F25A0A00DD2B4C, - 00759B3700F25A8000DD2B4C, - 00759B3800F25A8000DD2B4C, - 00759B3900F25AF700DD2B4C, - 00759B3A00F25AF700DD2B4C, - 5273046504303F0B000ECF53, - FBCB7F5C0507F30000A273B4, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/sbin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QuickTimeStreamingServer; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E388B0279D59101DD2AFC, - 00A90E33029EC2E700DD2B4C, - ); - isa = PBXToolTarget; - name = Server; - productInstallPath = /usr/sbin; - productName = "QuickTimeStreamingServer (Tool)"; - productReference = 520F7201070B767800B604C1; - }; - 68C3972D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3972E00C567B77F000001, - 68C3972F00C567B77F000001, - 68C3973000C567B77F000001, - 68C3973100C567B77F000001, - 68C3973200C567B77F000001, - 68C3973300C567B77F000001, - 68C3973400C567B77F000001, - 68C3973500C567B77F000001, - 68C3973600C567B77F000001, - 68C3973700C567B77F000001, - 68C3973800C567B77F000001, - 68C3973900C567B77F000001, - 68C3973A00C567B77F000001, - 68C3973B00C567B77F000001, - 68C3973C00C567B77F000001, - 68C3973D00C567B77F000001, - 68C3973E00C567B77F000001, - 68C3973F00C567B77F000001, - 68C3974000C567B77F000001, - 68C3974100C567B77F000001, - 68C3974200C567B77F000001, - 68C3974300C567B77F000001, - 68C3974400C567B77F000001, - 68C3974500C567B77F000001, - 68C3974600C567B77F000001, - 68C3974700C567B77F000001, - 68C3974800C567B77F000001, - 68C3974900C567B77F000001, - 68C3974A00C567B77F000001, - 68C3974B00C567B77F000001, - 68C3974C00C567B77F000001, + F5E91DE20277603301DD2AFC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F5E91DE30277603301DD2AFC /* QTSSRTPFileModule.cpp in Sources */, + F5E91DE40277603301DD2AFC /* RTPFileSession.cpp in Sources */, ); - isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; - 68C3972E00C567B77F000001 = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F6A48AF202390D0401000103 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F6A48B0B02390E3701000103 /* QTAtom.cpp in Sources */, + F6A48B0C02390E3701000103 /* QTAtom_dref.cpp in Sources */, + F6A48B0D02390E3701000103 /* QTAtom_elst.cpp in Sources */, + F6A48B0E02390E3701000103 /* QTAtom_hinf.cpp in Sources */, + F6A48B0F02390E3701000103 /* QTAtom_mdhd.cpp in Sources */, + F6A48B1002390E3701000103 /* QTAtom_mvhd.cpp in Sources */, + F6A48B1102390E3701000103 /* QTAtom_stco.cpp in Sources */, + F6A48B1202390E3701000103 /* QTAtom_stsc.cpp in Sources */, + F6A48B1302390E3701000103 /* QTAtom_stsd.cpp in Sources */, + F6A48B1402390E3701000103 /* QTAtom_stss.cpp in Sources */, + F6A48B1502390E3701000103 /* QTAtom_stsz.cpp in Sources */, + F6A48B1602390E3701000103 /* QTAtom_stts.cpp in Sources */, + F6A48B1702390E3701000103 /* QTAtom_tkhd.cpp in Sources */, + F6A48B1802390E3701000103 /* QTAtom_tref.cpp in Sources */, + F6A48B1902390E3701000103 /* QTFile.cpp in Sources */, + F6A48B1A02390E3701000103 /* QTFile_FileControlBlock.cpp in Sources */, + F6A48B1B02390E3701000103 /* QTHintTrack.cpp in Sources */, + F6A48B1C02390E3701000103 /* QTRTPFile.cpp in Sources */, + F6A48B1D02390E3701000103 /* QTTrack.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 007870EC00F4E38300DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 00E5906700F4DD0500DD2B4C /* StreamingLoadTool */; + targetProxy = FB0D1D6D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3972F00C567B77F000001 = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788DF026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396BA00C567B77F000001 /* QTFileTools */; + targetProxy = FB0D1D8C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973000C567B77F000001 = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E0026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3978800C567B77F000001 /* PlaylistBroadcaster */; + targetProxy = FB0D1D89064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973100C567B77F000001 = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E1026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C397B700C567B77F000001 /* qtpasswd */; + targetProxy = FB0D1D87064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973200C567B77F000001 = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E2026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C397C000C567B77F000001 /* StreamingProxy */; + targetProxy = FB0D1D88064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973300C567B77F000001 = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E3026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987300C567B77F000001 /* AtomicLib (Library) */; + targetProxy = FB0D1D93064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973400C567B77F000001 = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E4026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D90064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973500C567B77F000001 = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E5026B412B00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C398DE00C567B77F000001 /* APIModules */; + targetProxy = FB0D1D8B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973600C567B77F000001 = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E6026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D8F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973700C567B77F000001 = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E7026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C900C567B77F000001 /* RTCPUtilitiesLib (Library) */; + targetProxy = FB0D1D8E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973800C567B77F000001 = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E8026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399D800C567B77F000001 /* PrefsSourceLib (Library) */; + targetProxy = FB0D1D4E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973900C567B77F000001 = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788E9026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399EA00C567B77F000001 /* APIStubLib (Library) */; + targetProxy = FB0D1D84064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973A00C567B77F000001 = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788EA026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399F500C567B77F000001 /* HTTPUtilitiesLib (Library) */; + targetProxy = FB0D1D2B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973B00C567B77F000001 = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788EB026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D68064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973C00C567B77F000001 = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788EC026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0900C567B77F000001 /* QTFileLib (Library) */; + targetProxy = FB0D1D8D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973D00C567B77F000001 = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788ED026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A3600C567B77F000001 /* APICommonCode (Library) */; + targetProxy = FB0D1D21064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973E00C567B77F000001 = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788EE026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A4700C567B77F000001 /* RTSPClientLib (Library) */; + targetProxy = FB0D1D5B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3973F00C567B77F000001 = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788F0026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F533DA97011744B701DD292F /* MP3Broadcaster */; + targetProxy = FB0D1D61064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974000C567B77F000001 = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 008788F1026B412C00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 000DA9E40135948600DD2B4F /* WebAdmin */; + targetProxy = FB0D1D86064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974100C567B77F000001 = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E1C029EBB8500DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D8702775D2501DD2AFC /* QTSSWebStatsModule (Bundle) */; + targetProxy = FB0D1DDE064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974200C567B77F000001 = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E1D029EBBC300DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 004E288A025B787100DD2B50 /* QTSSHomeDirectoryModule (Bundle) */; + targetProxy = FB0D1D3A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974300C567B77F000001 = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E1E029EBC1600DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B6494F960279F7500BDD2A6C /* QTSSRefMovieModule (Bundle) */; + targetProxy = FB0D1DD2064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974400C567B77F000001 = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E1F029EBCC600DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 00A90E1B029EBB6300DD2B4C /* APIModules_Dynamic */; + targetProxy = FB0D1DB1064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974500C567B77F000001 = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E20029EBD9600DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91DCD0277603301DD2AFC /* QTSSHttpFileModule (Bundle) */; + targetProxy = FB0D1D2E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974600C567B77F000001 = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E21029EBE4000DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3993400C567B77F000001 /* QTSSSpamDefenseModule (Bundle) */; + targetProxy = FB0D1DDB064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974700C567B77F000001 = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E22029EBEA400DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3994300C567B77F000001 /* QTSSRawFileModule (Bundle) */; + targetProxy = FB0D1DD5064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974800C567B77F000001 = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E23029EBF5300DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3995200C567B77F000001 /* QTSSFilePrivsModule (Bundle) */; + targetProxy = FB0D1D29064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974900C567B77F000001 = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E24029EBF5300DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3996200C567B77F000001 /* QTSSDemoAuthorizationModule (Bundle) */; + targetProxy = FB0D1DD7064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974A00C567B77F000001 = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E25029EC03100DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3997B00C567B77F000001 /* QTSSDemoSMILModule (Bundle) */; + targetProxy = FB0D1D4A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974B00C567B77F000001 = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E26029EC0A600DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91DDD0277603301DD2AFC /* QTSSRTPFileModule (Bundle) */; + targetProxy = FB0D1DD1064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974C00C567B77F000001 = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 00A90E27029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 00A90E28029EC2E700DD2B4C /* APIModules_Static */; + targetProxy = FB0D1DB2064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3974F00C567B77F000001, - 68C3975000C567B77F000001, - 68C3975100C567B77F000001, - 68C3975200C567B77F000001, - 68C3975300C567B77F000001, - 68C3975400C567B77F000001, - 68C3975500C567B77F000001, - 68C3975600C567B77F000001, - 68C3975700C567B77F000001, - 68C3975800C567B77F000001, - 68C3975900C567B77F000001, - 68C3975A00C567B77F000001, - 68C3975B00C567B77F000001, - 68C3975C00C567B77F000001, - 68C3975D00C567B77F000001, - 68C3975E00C567B77F000001, - 68C3975F00C567B77F000001, - 68C3976000C567B77F000001, - 68C3976100C567B77F000001, - 68C3976200C567B77F000001, - 68C3976300C567B77F000001, - 68C3976400C567B77F000001, - 68C3976500C567B77F000001, - 68C3976600C567B77F000001, - 68C3976700C567B77F000001, - 68C3976800C567B77F000001, - 68C3976900C567B77F000001, - 68C3976A00C567B77F000001, - 68C3976B00C567B77F000001, - 68C3976C00C567B77F000001, - 68C3976D00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 00A90E29029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C398E000C567B77F000001 /* OSMemory_Modules (Library) */; + targetProxy = FB0D1DCA064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3974F00C567B77F000001 = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E2A029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399AF00C567B77F000001 /* QTSSAccessModule (Library) */; + targetProxy = FB0D1DC1064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975000C567B77F000001 = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E2B029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C398E800C567B77F000001 /* QTSSAccessLogModule (Library) */; + targetProxy = FB0D1D4B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975100C567B77F000001 = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E2C029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3998A00C567B77F000001 /* QTSSAdminModule (Library) */; + targetProxy = FB0D1D7D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975200C567B77F000001 = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E2D029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C398F100C567B77F000001 /* QTSSFileModule (Library) */; + targetProxy = FB0D1DBC064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975300C567B77F000001 = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E2E029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3991900C567B77F000001 /* QTSSFlowControlModule (Library) */; + targetProxy = FB0D1DC9064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975400C567B77F000001 = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E2F029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B62C45C6012B21880BDD2A6C /* QTSSMP3StreamingModule (Library) */; + targetProxy = FB0D1DC8064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975500C567B77F000001 = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E30029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3997200C567B77F000001 /* QTSSPOSIXFileSysModule (Library) */; + targetProxy = FB0D1DC7064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975600C567B77F000001 = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E31029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C398FA00C567B77F000001 /* QTSSReflectorModule (Library) */; + targetProxy = FB0D1DC6064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975700C567B77F000001 = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E32029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3992200C567B77F000001 /* QTSSWebDebugModule (Library) */; + targetProxy = FB0D1DC5064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975800C567B77F000001 = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E33029EC2E700DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 00A90E28029EC2E700DD2B4C /* APIModules_Static */; + targetProxy = FB0D1D36064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975900C567B77F000001 = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00A90E34029ECF7E00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D41064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975A00C567B77F000001 = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00B8FC1600F4E32D00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987300C567B77F000001 /* AtomicLib (Library) */; + targetProxy = FB0D1D1A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975B00C567B77F000001 = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00E5907900F4DD6000DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1DA6064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975C00C567B77F000001 = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00E5907A00F4DD6000DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D35064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975D00C567B77F000001 = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00E5907B00F4DD6000DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399D800C567B77F000001 /* PrefsSourceLib (Library) */; + targetProxy = FB0D1DB5064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975E00C567B77F000001 = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00E5907C00F4DD6000DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A4700C567B77F000001 /* RTSPClientLib (Library) */; + targetProxy = FB0D1DB4064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3975F00C567B77F000001 = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00E5907D00F4DD6000DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D2D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3976000C567B77F000001 = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 00E5907E00F4DD6A00DD2B4C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A3600C567B77F000001 /* APICommonCode (Library) */; + targetProxy = FB0D1DB3064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3976100C567B77F000001 = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 0138E58200C6B3A57F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D2F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3976200C567B77F000001 = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 482C16F204CF575A003E91E5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 008788DE026B412B00DD2B4C /* DSS_Generic */; + targetProxy = FB0D1D67064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3976300C567B77F000001 = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 482C16F304CF5773003E91E5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = E98FD95B02F5BC3309DD2838 /* QTSSLinkApp */; + targetProxy = FB0D1D55064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3976400C567B77F000001 = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5235759D0C33A0890098823D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = 5235759E0C33A0890098823D /* PBXContainerItemProxy */; }; - 68C3976500C567B77F000001 = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5235759F0C33A0890098823D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 00A90E28029EC2E700DD2B4C /* APIModules_Static */; + targetProxy = 523575A00C33A0890098823D /* PBXContainerItemProxy */; }; - 68C3976600C567B77F000001 = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 523576270C33A12C0098823D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5235759C0C33A0890098823D /* QTSS Server */; + targetProxy = 523576260C33A12C0098823D /* PBXContainerItemProxy */; }; - 68C3976700C567B77F000001 = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5269CD670429FFC400DD2EDD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 484082A403D78E0900DD2838 /* broadcasterctl */; + targetProxy = FB0D1D85064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3976800C567B77F000001 = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 529E3D560CED953500403BB3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 00E5906700F4DD0500DD2B4C /* StreamingLoadTool */; + targetProxy = 529E3D550CED953500403BB3 /* PBXContainerItemProxy */; }; - 68C3976900C567B77F000001 = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 52B24EA90B3000D900A6567F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = 52B24EA80B3000D900A6567F /* PBXContainerItemProxy */; }; - 68C3976A00C567B77F000001 = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5DB82F200DD3AC4C005193F8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = 5DB82F210DD3AC4C005193F8 /* PBXContainerItemProxy */; }; - 68C3976B00C567B77F000001 = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5DB82F3B0DD3ADE8005193F8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5DB82F1F0DD3AC4C005193F8 /* QTSSDemoRedirectModule (Bundle) */; + targetProxy = 5DB82F3A0DD3ADE8005193F8 /* PBXContainerItemProxy */; }; - 68C3976C00C567B77F000001 = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5DB82F3D0DD3AE03005193F8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5DB82F1F0DD3AC4C005193F8 /* QTSSDemoRedirectModule (Bundle) */; + targetProxy = 5DB82F3C0DD3AE03005193F8 /* PBXContainerItemProxy */; }; - 68C3976D00C567B77F000001 = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5E6ED93F0A8957FA00657251 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C900C567B77F000001 /* RTCPUtilitiesLib (Library) */; + targetProxy = 5E6ED93E0A8957FA00657251 /* PBXContainerItemProxy */; }; - 68C3976F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3977100C567B77F000001, - F5C080B70415983101DD2E7A, - F57EED5E027EA94401FF7AB9, - 0138E56E00C6B15A7F000001, - 0138E56F00C6B15A7F000001, - 0138E57000C6B15A7F000001, - 68C39AE300C5A5217F000001, - 0138E57100C6B15A7F000001, - 0138E57200C6B15A7F000001, - 0138E57300C6B15A7F000001, - 0138E57400C6B15A7F000001, - 0138E57500C6B15A7F000001, - 0138E57600C6B15A7F000001, - 0138E57700C6B15A7F000001, - 0138E57800C6B15A7F000001, - 0138E57A00C6B15A7F000001, - 0138E57C00C6B15A7F000001, - 0138E57D00C6B15A7F000001, - 68C39AE400C5A5217F000001, - 0138E57F00C6B15A7F000001, - 287CBF2800D174BE11DD2B4C, - F5EB63B1011F467801DD292F, - B62F395E012B34C40BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 68C396BB00C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396BC00C567B77F000001 /* QTSDPGen */; + targetProxy = FB0D1DA3064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3977100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + 68C396C500C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396C600C567B77F000001 /* TestQTFileLib (Library) */; + targetProxy = FB0D1D37064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 68C396D000C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396D100C567B77F000001 /* QTRTPGen */; + targetProxy = FB0D1D4D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978800C567B77F000001 = { - buildPhases = ( - 68C3978900C567B77F000001, - 68C3979E00C567B77F000001, - 68C397AF00C567B77F000001, - 68C397B500C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/bin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -D__USE_MAX_PRINTF__ -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon "; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = PlaylistBroadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F57EED61027EBA8101FF7AB9, - ); - isa = PBXToolTarget; - name = PlaylistBroadcaster; - productInstallPath = /usr/bin; - productName = "PlaylistBroadcaster (Tool)"; - productReference = 520F720B070B767800B604C1; - }; - 68C3978900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3978A00C567B77F000001, - 68C3978B00C567B77F000001, - 68C3978C00C567B77F000001, - 68C3978D00C567B77F000001, - 68C3978E00C567B77F000001, - 68C3978F00C567B77F000001, - 68C3979000C567B77F000001, - 68C3979100C567B77F000001, - 68C3979200C567B77F000001, - 68C3979300C567B77F000001, - 68C3979400C567B77F000001, - 68C3979500C567B77F000001, - 68C3979600C567B77F000001, - 68C3979700C567B77F000001, - 68C3979800C567B77F000001, - 68C3979900C567B77F000001, - 68C3979A00C567B77F000001, - 68C3979B00C567B77F000001, - 68C3979C00C567B77F000001, - 68C3979D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 68C396DA00C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396DB00C567B77F000001 /* QTRTPFileTest */; + targetProxy = FB0D1D96064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978A00C567B77F000001 = { - fileRef = 68C392CF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C396E400C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396E500C567B77F000001 /* QTSampleLister */; + targetProxy = FB0D1D31064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978B00C567B77F000001 = { - fileRef = 68C392D000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C396EE00C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396EF00C567B77F000001 /* QTTrackInfo */; + targetProxy = FB0D1D77064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978C00C567B77F000001 = { - fileRef = 68C392D100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C396F800C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C396F900C567B77F000001 /* QTFileInfo */; + targetProxy = FB0D1D25064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978D00C567B77F000001 = { - fileRef = 68C392D200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C3970200C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3970300C567B77F000001 /* QTFileTest */; + targetProxy = FB0D1D28064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978E00C567B77F000001 = { - fileRef = 68C392D300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C3970C00C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3970D00C567B77F000001 /* QTBroadcaster */; + targetProxy = FB0D1D6A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3978F00C567B77F000001 = { - fileRef = 68C392D400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C3971600C567B77F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3971700C567B77F000001 /* RTPFileGen */; + targetProxy = FB0D1D1B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979000C567B77F000001 = { - fileRef = 68C392D500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A8000C598377F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D78064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979100C567B77F000001 = { - fileRef = 68C392D600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A8100C598B27F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D5F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979200C567B77F000001 = { - fileRef = 68C392D700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A8300C598B27F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D1E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979300C567B77F000001 = { - fileRef = 68C392D800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A8A00C59BD47F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D69064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979400C567B77F000001 = { - fileRef = 68C392D900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A8C00C59BD47F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D22064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979500C567B77F000001 = { - fileRef = 68C392DA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A8D00C59BD47F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D5C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979600C567B77F000001 = { - fileRef = 68C392DB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9200C59C3C7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D81064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979700C567B77F000001 = { - fileRef = 68C392DC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9300C59C3C7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D80064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979800C567B77F000001 = { - fileRef = 68C392DD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9400C59C3C7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0900C567B77F000001 /* QTFileLib (Library) */; + targetProxy = FB0D1D7F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979900C567B77F000001 = { - fileRef = 68C392DE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9500C59C3C7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D7E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979A00C567B77F000001 = { - fileRef = 68C392DF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9600C59CF27F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987300C567B77F000001 /* AtomicLib (Library) */; + targetProxy = FB0D1DDD064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979B00C567B77F000001 = { - fileRef = 68C392E000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9700C59D627F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1DBE064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979C00C567B77F000001 = { - fileRef = 68C392E100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9800C59D627F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1DBF064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979D00C567B77F000001 = { - fileRef = 68C392E200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + 68C39A9A00C59D627F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D23064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3979F00C567B77F000001, - 68C397A000C567B77F000001, - 68C397A100C567B77F000001, - 68C397A200C567B77F000001, - 68C397A300C567B77F000001, - 68C397A400C567B77F000001, - 68C397A500C567B77F000001, - 68C397A600C567B77F000001, - 68C397A700C567B77F000001, - 68C397A800C567B77F000001, - 68C397A900C567B77F000001, - 68C397AA00C567B77F000001, - 68C397AB00C567B77F000001, - 68C397AC00C567B77F000001, - 68C397AD00C567B77F000001, - 68C397AE00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 68C39A9F00C59DC47F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D71064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3979F00C567B77F000001 = { - fileRef = 68C392BE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AA000C59DC47F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D70064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A000C567B77F000001 = { - fileRef = 68C392BF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AA200C59DC47F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D6F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A100C567B77F000001 = { - fileRef = 68C392C000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AB100C59ED87F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1DAA064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A200C567B77F000001 = { - fileRef = 68C392C100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AB200C59ED87F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1DB9064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A300C567B77F000001 = { - fileRef = 68C392C200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AB400C59ED87F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1DA5064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A400C567B77F000001 = { - fileRef = 68C392C300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39ABF00C59F0F7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D1F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A500C567B77F000001 = { - fileRef = 68C392C400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC000C59F0F7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1DB0064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A600C567B77F000001 = { - fileRef = 68C392C500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC200C59F0F7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D5D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A700C567B77F000001 = { - fileRef = 68C392C600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC300C59F417F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D65064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A800C567B77F000001 = { - fileRef = 68C392C700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC500C59F417F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D64064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397A900C567B77F000001 = { - fileRef = 68C392C800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC600C59F417F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D62064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397AA00C567B77F000001 = { - fileRef = 68C392C900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC700C59F6D7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1DAE064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397AB00C567B77F000001 = { - fileRef = 68C392CA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39AC800C59F6D7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1DAC064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397AC00C567B77F000001 = { - fileRef = 68C392CB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39ACA00C59F6D7F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D2A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397AD00C567B77F000001 = { - fileRef = 68C392CC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39ACB00C59F927F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D53064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397AE00C567B77F000001 = { - fileRef = 68C392CD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C39ACC00C59F927F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D52064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397AF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397B100C567B77F000001, - F57EED5C027EA94401FF7AB9, - 68C39AD500C5A04A7F000001, - 68C39ADC00C5A1257F000001, - 68C39AD600C5A04A7F000001, - 68C39AD700C5A04A7F000001, - 68C39AD900C5A04A7F000001, - F6999B67023926FC01000103, - 68C39ADA00C5A04A7F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 68C39ACE00C59F927F000001 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D51064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397B100C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + 84CE3BA10CEE5A510056DB85 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3972C00C567B77F000001 /* DSS Server */; + targetProxy = 84CE3BA00CEE5A510056DB85 /* PBXContainerItemProxy */; }; - 68C397B500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 84CE3C4F0CEE621B0056DB85 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5293FDFE0B2A45DD00141B86 /* QTSSDSAuthModule (Library) DSS */; + targetProxy = 84CE3C4E0CEE621B0056DB85 /* PBXContainerItemProxy */; }; - 68C397B700C567B77F000001 = { - buildPhases = ( - 68C397B800C567B77F000001, - 68C397B900C567B77F000001, - 68C397BB00C567B77F000001, - 68C397BE00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /usr/bin; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -DUSE_DEFAULT_STD_LIB -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fno-exceptions -fcommon"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = revision.h; - PRODUCT_NAME = qtpasswd; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 0138E58200C6B3A57F000001, - ); - isa = PBXToolTarget; - name = qtpasswd; - productInstallPath = /usr/bin; - productName = "qtpasswd (Tool)"; - productReference = 520F71F2070B767800B604C1; + 84CE3C510CEE622E0056DB85 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 84CE3C360CEE607F0056DB85 /* QTSSDSAuthModule (Library) OSXServer */; + targetProxy = 84CE3C500CEE622E0056DB85 /* PBXContainerItemProxy */; }; - 68C397B800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + B6494F9C0279F7A90BDD2A6C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B6494F960279F7500BDD2A6C /* QTSSRefMovieModule (Bundle) */; + targetProxy = FB0D1D9D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397B900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397BA00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + B649D5D002B9813B0BDD2A6C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D56064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397BA00C567B77F000001 = { - fileRef = 68C392EB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + B6DC980302FB313E0BDD2A6C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B6DC97FB02FB2EAB0BDD2A6C /* QTSSProxyModule (Library) */; + targetProxy = FB0D1D4C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397BB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397BC00C567B77F000001, - F57EED5D027EA94401FF7AB9, - 0138E58300C6B3A57F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F50ACCCF037E597A017C358E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 008788DE026B412B00DD2B4C /* DSS_Generic */; + targetProxy = FB0D1DD8064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397BC00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + F51C62E40279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987300C567B77F000001 /* AtomicLib (Library) */; + targetProxy = FB0D1D49064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397BE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F51C62E50279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A3600C567B77F000001 /* APICommonCode (Library) */; + targetProxy = FB0D1D48064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C000C567B77F000001 = { - buildPhases = ( - 68C397C100C567B77F000001, - 68C397C600C567B77F000001, - 68C397CC00C567B77F000001, - 68C397CE00C567B77F000001, - ); - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = revision.h; - PRODUCT_NAME = StreamingProxy; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXToolTarget; - name = StreamingProxy; - productName = "StreamingProxy (Tool)"; - productReference = 520F71FF070B767800B604C1; + F51C62E60279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399EA00C567B77F000001 /* APIStubLib (Library) */; + targetProxy = FB0D1D47064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397C200C567B77F000001, - 68C397C300C567B77F000001, - 68C397C400C567B77F000001, - 68C397C500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F51C62E70279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D46064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C200C567B77F000001 = { - fileRef = 68C392F400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F51C62E80279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399F500C567B77F000001 /* HTTPUtilitiesLib (Library) */; + targetProxy = FB0D1D45064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C300C567B77F000001 = { - fileRef = 68C392F500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F51C62E90279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1D44064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C400C567B77F000001 = { - fileRef = 68C392F600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F51C62EA0279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C398E000C567B77F000001 /* OSMemory_Modules (Library) */; + targetProxy = FB0D1D43064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C500C567B77F000001 = { - fileRef = 68C392F700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F51C62EB0279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399D800C567B77F000001 /* PrefsSourceLib (Library) */; + targetProxy = FB0D1D42064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397C800C567B77F000001, - 68C397C900C567B77F000001, - 68C397CA00C567B77F000001, - 68C397CB00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F51C62EC0279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0900C567B77F000001 /* QTFileLib (Library) */; + targetProxy = FB0D1D40064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C800C567B77F000001 = { - fileRef = 68C392FA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F51C62ED0279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C900C567B77F000001 /* RTCPUtilitiesLib (Library) */; + targetProxy = FB0D1D3F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397C900C567B77F000001 = { - fileRef = 68C392FB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F51C62EE0279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A0000C567B77F000001 /* RTPMetaInfoLib (Library) */; + targetProxy = FB0D1D3E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397CA00C567B77F000001 = { - fileRef = 68C392FC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F51C62EF0279D3BC01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A4700C567B77F000001 /* RTSPClientLib (Library) */; + targetProxy = FB0D1D3D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397CB00C567B77F000001 = { - fileRef = 68C392FD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F52E386C0279D4DA01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D1C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397CC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C397CD00C567B77F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E386D0279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D7A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397CD00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; + F52E386E0279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DCD064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C397CE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E386F0279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D34064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987300C567B77F000001 = { - buildPhases = ( - 68C3987400C567B77F000001, - 68C3987700C567B77F000001, - 68C3987B00C567B77F000001, - 68C3987D00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAtomicLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "AtomicLib (Library)"; - productName = "AtomicLib (Library)"; - productReference = 68C3969C00C567B77F000001; + F52E38700279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DCF064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3987500C567B77F000001, - 68C3987600C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E38710279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D75064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987500C567B77F000001 = { - fileRef = 68C3946F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38720279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DCB064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987600C567B77F000001 = { - fileRef = 68C3947000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38730279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D2C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3987900C567B77F000001, - F5EF9AF001235DC301DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E38740279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D7B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987900C567B77F000001 = { - fileRef = 68C3947300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F52E38750279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DBB064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E38760279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D24064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E38770279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D5E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3987F00C567B77F000001 = { - buildPhases = ( - 68C3988000C567B77F000001, - 68C398B100C567B77F000001, - 68C398D800C567B77F000001, - 68C398DC00C567B77F000001, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ". .. ../.."; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libCommonUtilitiesLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - 68C39A9600C59CF27F000001, - ); - isa = PBXLibraryTarget; - name = "CommonUtilitiesLib (Library)"; - productName = "CommonUtilitiesLib (Library)"; - productReference = 68C3969D00C567B77F000001; - }; - 68C3988000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3988100C567B77F000001, - 68C3988200C567B77F000001, - 68C3988300C567B77F000001, - 68C3988400C567B77F000001, - 68C3988500C567B77F000001, - 68C3988600C567B77F000001, - 68C3988700C567B77F000001, - 68C3988800C567B77F000001, - 68C3988900C567B77F000001, - 68C3988A00C567B77F000001, - 68C3988B00C567B77F000001, - 68C3988C00C567B77F000001, - 68C3988D00C567B77F000001, - 68C3988E00C567B77F000001, - 68C3988F00C567B77F000001, - 68C3989000C567B77F000001, - 68C3989100C567B77F000001, - 68C3989200C567B77F000001, - 68C3989300C567B77F000001, - 68C3989400C567B77F000001, - 68C3989500C567B77F000001, - 68C3989600C567B77F000001, - 68C3989700C567B77F000001, - 68C3989800C567B77F000001, - 68C3989900C567B77F000001, - 68C3989A00C567B77F000001, - 68C3989B00C567B77F000001, - 68C3989C00C567B77F000001, - 68C3989D00C567B77F000001, - 68C3989E00C567B77F000001, - 68C3989F00C567B77F000001, - 68C398A000C567B77F000001, - 68C398A100C567B77F000001, - 68C398A200C567B77F000001, - 68C398A300C567B77F000001, - 68C398A400C567B77F000001, - 68C398A500C567B77F000001, - 68C398A600C567B77F000001, - 68C398A700C567B77F000001, - 68C398A800C567B77F000001, - 68C398A900C567B77F000001, - 68C398AA00C567B77F000001, - 68C398AB00C567B77F000001, - 68C398AC00C567B77F000001, - 68C398AD00C567B77F000001, - 68C398AE00C567B77F000001, - 68C398AF00C567B77F000001, - 68C398B000C567B77F000001, - F50DFC12025357EB01F41924, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F52E38780279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DA7064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988100C567B77F000001 = { - fileRef = 68C3949D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38790279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D1D064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988200C567B77F000001 = { - fileRef = 68C3949E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E387A0279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D6B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988300C567B77F000001 = { - fileRef = 68C3949F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E387B0279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D79064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988400C567B77F000001 = { - fileRef = 68C394A000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E387C0279D50701DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D33064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988500C567B77F000001 = { - fileRef = 68C394A100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E387D0279D53D01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D59064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988600C567B77F000001 = { - fileRef = 68C394A200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E387E0279D53D01DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DCC064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988700C567B77F000001 = { - fileRef = 68C394A300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988800C567B77F000001 = { - fileRef = 68C394A400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3988900C567B77F000001 = { - fileRef = 68C394A500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E387F0279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D50064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988A00C567B77F000001 = { - fileRef = 68C394A600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38800279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DB8064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988B00C567B77F000001 = { - fileRef = 68C394A700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38810279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D58064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988C00C567B77F000001 = { - fileRef = 68C394A800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38820279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DA4064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988D00C567B77F000001 = { - fileRef = 68C394A900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38840279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D6C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988E00C567B77F000001 = { - fileRef = 68C394AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38850279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DD9064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3988F00C567B77F000001 = { - fileRef = 68C394AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38880279D55801DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DCE064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989000C567B77F000001 = { - fileRef = 68C394AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E38890279D57301DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1D26064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989100C567B77F000001 = { - fileRef = 68C394AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F52E388B0279D59101DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DA8064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989200C567B77F000001 = { - fileRef = 68C394AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F533DA99011744B701DD292F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3987F00C567B77F000001 /* CommonUtilitiesLib (Library) */; + targetProxy = FB0D1D60064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989300C567B77F000001 = { - fileRef = 68C394AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F533DA9A011744B701DD292F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399C100C567B77F000001 /* OSMemoryLib (Library) */; + targetProxy = FB0D1DBD064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989400C567B77F000001 = { - fileRef = 68C394B000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F533DA9B011744B701DD292F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C399EA00C567B77F000001 /* APIStubLib (Library) */; + targetProxy = FB0D1DD0064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989500C567B77F000001 = { - fileRef = 68C394B100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F533DAC5011745E201DD292F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C39A3600C567B77F000001 /* APICommonCode (Library) */; + targetProxy = FB0D1D97064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989600C567B77F000001 = { - fileRef = 68C394B200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F54D303D027FCAD101000102 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F57EED24027E9E1201FF7AB9 /* SafeInternalStdLib (Library) */; + targetProxy = FB0D1DD4064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989700C567B77F000001 = { - fileRef = 68C394B300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F54D303E027FCAD101000102 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F57EED29027E9E1201FF7AB9 /* SafeDynamicModuleStdLib (Library) */; + targetProxy = FB0D1D19064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989800C567B77F000001 = { - fileRef = 68C394B400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F57EED39027EA0B001FF7AB9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F57EED24027E9E1201FF7AB9 /* SafeInternalStdLib (Library) */; + targetProxy = FB0D1D92064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989900C567B77F000001 = { - fileRef = 68C394B500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F57EED3A027EA0B001FF7AB9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F57EED29027E9E1201FF7AB9 /* SafeDynamicModuleStdLib (Library) */; + targetProxy = FB0D1D91064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989A00C567B77F000001 = { - fileRef = 68C394B600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F57EED51027EA7E001FF7AB9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F57EED24027E9E1201FF7AB9 /* SafeInternalStdLib (Library) */; + targetProxy = FB0D1D3C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989B00C567B77F000001 = { - fileRef = 68C394B700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F57EED52027EA7E001FF7AB9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F57EED29027E9E1201FF7AB9 /* SafeDynamicModuleStdLib (Library) */; + targetProxy = FB0D1D3B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989C00C567B77F000001 = { - fileRef = 68C394B800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F57EED61027EBA8101FF7AB9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F51C62E30279D3BC01DD2AFC /* Libraries */; + targetProxy = FB0D1DC3064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989D00C567B77F000001 = { - fileRef = 68C394B900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2402786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 004E288A025B787100DD2B50 /* QTSSHomeDirectoryModule (Bundle) */; + targetProxy = FB0D1DA2064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989E00C567B77F000001 = { - fileRef = 68C394BA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; + F5E91E2502786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D0E027758E801DD2AFC /* QTSSAccessModule.bundle */; + targetProxy = FB0D1D39064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C3989F00C567B77F000001 = { - fileRef = 68C394BB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2602786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D2002775B5E01DD2AFC /* QTSSFileModule.bundle */; + targetProxy = FB0D1D7C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A000C567B77F000001 = { - fileRef = 68C394BC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2702786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D3102775C5601DD2AFC /* QTSSAccessLogModule.bundle */; + targetProxy = FB0D1DA1064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A100C567B77F000001 = { - fileRef = 68C394BD00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2802786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D4002775C5601DD2AFC /* QTSSReflectorModule.bundle */; + targetProxy = FB0D1DA0064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A200C567B77F000001 = { - fileRef = 68C394BE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2902786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D6902775D2501DD2AFC /* QTSSFlowControlModule.bundle */; + targetProxy = FB0D1D76064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A300C567B77F000001 = { - fileRef = 68C394BF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2A02786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D7802775D2501DD2AFC /* QTSSWebDebugModule.bundle */; + targetProxy = FB0D1D20064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A400C567B77F000001 = { - fileRef = 68C394C000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2B02786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D8702775D2501DD2AFC /* QTSSWebStatsModule (Bundle) */; + targetProxy = FB0D1D5A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A500C567B77F000001 = { - fileRef = 68C394C100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2C02786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91D9E02775EEC01DD2AFC /* QTSSPOSIXFileSysModule.bundle */; + targetProxy = FB0D1D9F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A600C567B77F000001 = { - fileRef = 68C394C200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2D02786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91DB90277603301DD2AFC /* QTSSAdminModule.bundle */; + targetProxy = FB0D1D9E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A700C567B77F000001 = { - fileRef = 68C394C300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2E02786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91DCD0277603301DD2AFC /* QTSSHttpFileModule (Bundle) */; + targetProxy = FB0D1D4F064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A800C567B77F000001 = { - fileRef = 68C394C400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E2F02786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F5E91DDD0277603301DD2AFC /* QTSSRTPFileModule (Bundle) */; + targetProxy = FB0D1D94064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398A900C567B77F000001 = { - fileRef = 68C394C500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E3002786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3993400C567B77F000001 /* QTSSSpamDefenseModule (Bundle) */; + targetProxy = FB0D1D9C064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398AA00C567B77F000001 = { - fileRef = 68C394C600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E3102786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3994300C567B77F000001 /* QTSSRawFileModule (Bundle) */; + targetProxy = FB0D1D98064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398AB00C567B77F000001 = { - fileRef = 68C394C700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E3202786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3995200C567B77F000001 /* QTSSFilePrivsModule (Bundle) */; + targetProxy = FB0D1D9B064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398AC00C567B77F000001 = { - fileRef = 68C394C800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E3302786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3996200C567B77F000001 /* QTSSDemoAuthorizationModule (Bundle) */; + targetProxy = FB0D1D9A064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398AD00C567B77F000001 = { - fileRef = 68C394C900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F5E91E3402786F1501DD2AFC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 68C3997B00C567B77F000001 /* QTSSDemoSMILModule (Bundle) */; + targetProxy = FB0D1D99064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398AE00C567B77F000001 = { - fileRef = 68C394CA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F6999B68023927CE01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D6E064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398AF00C567B77F000001 = { - fileRef = 68C394CB00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F6999B69023927CE01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1DB7064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B000C567B77F000001 = { - fileRef = 68C394CC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; + F6999B6A023927CE01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1DD3064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398B200C567B77F000001, - 68C398B300C567B77F000001, - 68C398B400C567B77F000001, - 68C398B500C567B77F000001, - 68C398B600C567B77F000001, - 68C398B700C567B77F000001, - 68C398B800C567B77F000001, - 68C398B900C567B77F000001, - 68C398BA00C567B77F000001, - 68C398BB00C567B77F000001, - 68C398BC00C567B77F000001, - 68C398BD00C567B77F000001, - 68C398BE00C567B77F000001, - 68C398BF00C567B77F000001, - 68C398C000C567B77F000001, - 68C398C100C567B77F000001, - 68C398C200C567B77F000001, - 68C398C300C567B77F000001, - 68C398C400C567B77F000001, - 68C398C500C567B77F000001, - 68C398C600C567B77F000001, - 68C398C700C567B77F000001, - 68C398C800C567B77F000001, - 68C398C900C567B77F000001, - 68C398CA00C567B77F000001, - 68C398CB00C567B77F000001, - 68C398CC00C567B77F000001, - 68C398CD00C567B77F000001, - 68C398CE00C567B77F000001, - 68C398CF00C567B77F000001, - 68C398D000C567B77F000001, - 68C398D100C567B77F000001, - 68C398D200C567B77F000001, - 68C398D300C567B77F000001, - 68C398D400C567B77F000001, - 68C398D500C567B77F000001, - 68C398D600C567B77F000001, - 68C398D700C567B77F000001, - F50DFC13025357EB01F41924, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + F6999B6B023927CE01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D63064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B200C567B77F000001 = { - fileRef = 68C3947B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F6999B6C023927CE01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1DAD064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B300C567B77F000001 = { - fileRef = 68C3947C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F6999B6D023927CE01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D38064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B400C567B77F000001 = { - fileRef = 68C3947D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F6999B6E0239282F01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D32064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B500C567B77F000001 = { - fileRef = 68C3947E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F6999B6F0239282F01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D74064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B600C567B77F000001 = { - fileRef = 68C3947F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F6999B700239282F01000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D82064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B700C567B77F000001 = { - fileRef = 68C3948000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F6A48AEF02390D0401000103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = F6A48AF002390D0401000103 /* QTFileExternalLib (Library) */; + targetProxy = FB0D1D72064AFB71006F2774 /* PBXContainerItemProxy */; }; - 68C398B800C567B77F000001 = { - fileRef = 68C3948100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; +/* End PBXTargetDependency section */ + +/* Begin PBXToolTarget section */ + 00E5906700F4DD0500DD2B4C /* StreamingLoadTool */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F9095E099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "StreamingLoadTool" */; + buildPhases = ( + 00E5906800F4DD0500DD2B4C /* Headers */, + 00E5906900F4DD0500DD2B4C /* Sources */, + 00E5906B00F4DD0500DD2B4C /* Frameworks */, + 00E5907300F4DD0500DD2B4C /* Rez */, + 00D2D75600F4E88000DD2B4C /* CopyFiles */, + 52335F2E04EA47D60003CA12 /* ShellScript */, + ); + dependencies = ( + 00B8FC1600F4E32D00DD2B4C /* PBXTargetDependency */, + 00E5907900F4DD6000DD2B4C /* PBXTargetDependency */, + 00E5907A00F4DD6000DD2B4C /* PBXTargetDependency */, + 00E5907B00F4DD6000DD2B4C /* PBXTargetDependency */, + 00E5907C00F4DD6000DD2B4C /* PBXTargetDependency */, + 00E5907D00F4DD6000DD2B4C /* PBXTargetDependency */, + 00E5907E00F4DD6A00DD2B4C /* PBXTargetDependency */, + ); + name = StreamingLoadTool; + productInstallPath = /usr/bin; + productName = SpamPro; + productReference = 00E5906600F4DD0400DD2B4C /* StreamingLoadTool */; }; - 68C398B900C567B77F000001 = { - fileRef = 68C3948200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 484082A403D78E0900DD2838 /* broadcasterctl */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F90956099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "broadcasterctl" */; + buildPhases = ( + 484082A003D78E0900DD2838 /* Headers */, + 484082A103D78E0900DD2838 /* Sources */, + 484082A203D78E0900DD2838 /* Frameworks */, + 484082A303D78E0900DD2838 /* Rez */, + 484082B503D78E6B00DD2838 /* CopyFiles */, + ); + dependencies = ( + ); + name = broadcasterctl; + productInstallPath = /usr/bin; + productName = broadcasterctl; + productReference = 484082A503D78E0900DD2838 /* broadcasterctl */; }; - 68C398BA00C567B77F000001 = { - fileRef = 68C3948300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 5235759C0C33A0890098823D /* QTSS Server */ = { + isa = PBXToolTarget; + buildConfigurationList = 5235761E0C33A0890098823D /* Build configuration list for PBXToolTarget "QTSS Server" */; + buildPhases = ( + 523575A10C33A0890098823D /* Headers */, + 523575C50C33A0890098823D /* Sources */, + 523575E90C33A0890098823D /* Frameworks */, + 523576040C33A0890098823D /* Rez */, + 523576050C33A0890098823D /* CopyFiles */, + 523576070C33A0890098823D /* CopyFiles */, + 523576110C33A0890098823D /* CopyFiles */, + 523576130C33A0890098823D /* CopyFiles */, + 523576150C33A0890098823D /* ShellScript */, + 523576160C33A0890098823D /* ShellScript */, + 523576170C33A0890098823D /* ShellScript */, + 523576180C33A0890098823D /* ShellScript */, + 523576190C33A0890098823D /* ShellScript */, + 5235761A0C33A0890098823D /* ShellScript */, + 5235761B0C33A0890098823D /* ShellScript */, + 5235761C0C33A0890098823D /* ShellScript */, + 5235761D0C33A0890098823D /* ShellScript */, + ); + dependencies = ( + 5235759D0C33A0890098823D /* PBXTargetDependency */, + 5235759F0C33A0890098823D /* PBXTargetDependency */, + 84CE3C510CEE622E0056DB85 /* PBXTargetDependency */, + ); + name = "QTSS Server"; + productInstallPath = /usr/sbin; + productName = "QuickTimeStreamingServer (Tool)"; + productReference = 523576220C33A0890098823D /* QuickTimeStreamingServer */; }; - 68C398BB00C567B77F000001 = { - fileRef = 68C3948400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C396BC00C567B77F000001 /* QTSDPGen */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908AE099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTSDPGen" */; + buildPhases = ( + 68C396BD00C567B77F000001 /* Headers */, + 68C396BE00C567B77F000001 /* Sources */, + 68C396C000C567B77F000001 /* Frameworks */, + 68C396C400C567B77F000001 /* Rez */, + ); + dependencies = ( + F6999B6E0239282F01000103 /* PBXTargetDependency */, + 68C39A8D00C59BD47F000001 /* PBXTargetDependency */, + 68C39A8C00C59BD47F000001 /* PBXTargetDependency */, + 68C39A8A00C59BD47F000001 /* PBXTargetDependency */, + ); + name = QTSDPGen; + productName = "QTSDPGen (Tool)"; + productReference = 520F7209070B767800B604C1 /* QTSDPGen */; }; - 68C398BC00C567B77F000001 = { - fileRef = 68C3948500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C396D100C567B77F000001 /* QTRTPGen */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908B6099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTRTPGen" */; + buildPhases = ( + 68C396D200C567B77F000001 /* Headers */, + 68C396D300C567B77F000001 /* Sources */, + 68C396D500C567B77F000001 /* Frameworks */, + 68C396D900C567B77F000001 /* Rez */, + ); + dependencies = ( + F6999B700239282F01000103 /* PBXTargetDependency */, + 68C39A9200C59C3C7F000001 /* PBXTargetDependency */, + 68C39A9300C59C3C7F000001 /* PBXTargetDependency */, + 68C39A9400C59C3C7F000001 /* PBXTargetDependency */, + 68C39A9500C59C3C7F000001 /* PBXTargetDependency */, + ); + name = QTRTPGen; + productName = "QTRTPGen (Tool)"; + productReference = 520F71FD070B767800B604C1 /* QTRTPGen */; }; - 68C398BD00C567B77F000001 = { - fileRef = 68C3948600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C396DB00C567B77F000001 /* QTRTPFileTest */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908BA099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTRTPFileTest" */; + buildPhases = ( + 68C396DC00C567B77F000001 /* Headers */, + 68C396DD00C567B77F000001 /* Sources */, + 68C396DF00C567B77F000001 /* Frameworks */, + 68C396E300C567B77F000001 /* Rez */, + ); + dependencies = ( + F6999B68023927CE01000103 /* PBXTargetDependency */, + 68C39A9700C59D627F000001 /* PBXTargetDependency */, + 68C39A9800C59D627F000001 /* PBXTargetDependency */, + 68C39A9A00C59D627F000001 /* PBXTargetDependency */, + ); + name = QTRTPFileTest; + productName = "QTRTPFileTest (Tool)"; + productReference = 520F7207070B767800B604C1 /* QTRTPFileTest */; }; - 68C398BE00C567B77F000001 = { - fileRef = 68C3948700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C396E500C567B77F000001 /* QTSampleLister */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908BE099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTSampleLister" */; + buildPhases = ( + 68C396E600C567B77F000001 /* Headers */, + 68C396E700C567B77F000001 /* Sources */, + 68C396E900C567B77F000001 /* Frameworks */, + 68C396ED00C567B77F000001 /* Rez */, + ); + dependencies = ( + F6A48AEF02390D0401000103 /* PBXTargetDependency */, + 68C39A9F00C59DC47F000001 /* PBXTargetDependency */, + 68C39AA000C59DC47F000001 /* PBXTargetDependency */, + 68C39AA200C59DC47F000001 /* PBXTargetDependency */, + ); + name = QTSampleLister; + productName = "QTSampleLister (Tool)"; + productReference = 520F71F9070B767800B604C1 /* QTSampleLister */; }; - 68C398BF00C567B77F000001 = { - fileRef = 68C3948800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C396EF00C567B77F000001 /* QTTrackInfo */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908C2099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTTrackInfo" */; + buildPhases = ( + 68C396F000C567B77F000001 /* Headers */, + 68C396F100C567B77F000001 /* Sources */, + 68C396F300C567B77F000001 /* Frameworks */, + 68C396F700C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39AB100C59ED87F000001 /* PBXTargetDependency */, + F6999B69023927CE01000103 /* PBXTargetDependency */, + 68C39AB200C59ED87F000001 /* PBXTargetDependency */, + 68C39AB400C59ED87F000001 /* PBXTargetDependency */, + ); + name = QTTrackInfo; + productName = "QTTrackInfo (Tool)"; + productReference = 520F7205070B767800B604C1 /* QTTrackInfo */; }; - 68C398C000C567B77F000001 = { - fileRef = 68C3948900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C396F900C567B77F000001 /* QTFileInfo */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908C6099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTFileInfo" */; + buildPhases = ( + 68C396FA00C567B77F000001 /* Headers */, + 68C396FB00C567B77F000001 /* Sources */, + 68C396FD00C567B77F000001 /* Frameworks */, + 68C3970100C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39ABF00C59F0F7F000001 /* PBXTargetDependency */, + 68C39AC000C59F0F7F000001 /* PBXTargetDependency */, + F6999B6A023927CE01000103 /* PBXTargetDependency */, + 68C39AC200C59F0F7F000001 /* PBXTargetDependency */, + ); + name = QTFileInfo; + productName = "QTFileInfo (Tool)"; + productReference = 520F720D070B767800B604C1 /* QTFileInfo */; }; - 68C398C100C567B77F000001 = { - fileRef = 68C3948A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C3970300C567B77F000001 /* QTFileTest */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908CA099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTFileTest" */; + buildPhases = ( + 68C3970400C567B77F000001 /* Headers */, + 68C3970500C567B77F000001 /* Sources */, + 68C3970700C567B77F000001 /* Frameworks */, + 68C3970B00C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39AC300C59F417F000001 /* PBXTargetDependency */, + 68C39AC500C59F417F000001 /* PBXTargetDependency */, + F6999B6B023927CE01000103 /* PBXTargetDependency */, + 68C39AC600C59F417F000001 /* PBXTargetDependency */, + ); + name = QTFileTest; + productName = "QTFileTest (Tool)"; + productReference = 520F71F7070B767800B604C1 /* QTFileTest */; }; - 68C398C200C567B77F000001 = { - fileRef = 68C3948B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C3970D00C567B77F000001 /* QTBroadcaster */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908CE099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTBroadcaster" */; + buildPhases = ( + 68C3970E00C567B77F000001 /* Headers */, + 68C3970F00C567B77F000001 /* Sources */, + 68C3971100C567B77F000001 /* Frameworks */, + 68C3971500C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39AC700C59F6D7F000001 /* PBXTargetDependency */, + F6999B6C023927CE01000103 /* PBXTargetDependency */, + 68C39AC800C59F6D7F000001 /* PBXTargetDependency */, + 68C39ACA00C59F6D7F000001 /* PBXTargetDependency */, + ); + name = QTBroadcaster; + productName = "QTBroadcaster (Tool)"; + productReference = 520F7203070B767800B604C1 /* QTBroadcaster */; }; - 68C398C300C567B77F000001 = { - fileRef = 68C3948C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C3971700C567B77F000001 /* RTPFileGen */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F908D2099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "RTPFileGen" */; + buildPhases = ( + 68C3971800C567B77F000001 /* Headers */, + 68C3971A00C567B77F000001 /* Sources */, + 68C3971C00C567B77F000001 /* Frameworks */, + 68C3972000C567B77F000001 /* Rez */, + ); + dependencies = ( + 68C39ACB00C59F927F000001 /* PBXTargetDependency */, + 68C39ACC00C59F927F000001 /* PBXTargetDependency */, + F6999B6D023927CE01000103 /* PBXTargetDependency */, + 68C39ACE00C59F927F000001 /* PBXTargetDependency */, + ); + name = RTPFileGen; + productName = "RTPFileGen (Tool)"; + productReference = 520F71F5070B767800B604C1 /* RTPFileGen */; }; - 68C398C400C567B77F000001 = { - fileRef = 68C3948D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C3972C00C567B77F000001 /* DSS Server */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F9093E099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "DSS Server" */; + buildPhases = ( + 68C3972D00C567B77F000001 /* Headers */, + 68C3974E00C567B77F000001 /* Sources */, + 68C3976F00C567B77F000001 /* Frameworks */, + 68C3978600C567B77F000001 /* Rez */, + 00759B2B00F2586E00DD2B4C /* CopyFiles */, + 00759B2E00F2593E00DD2B4C /* CopyFiles */, + 61E7BB7F01A1D4AB0EDD2AFC /* CopyFiles */, + FBCB7F4C0507F23500A273B4 /* CopyFiles */, + 00759B3400F259D500DD2B4C /* ShellScript */, + 00759B3500F25A0A00DD2B4C /* ShellScript */, + 00759B3600F25A0A00DD2B4C /* ShellScript */, + 00759B3700F25A8000DD2B4C /* ShellScript */, + 00759B3800F25A8000DD2B4C /* ShellScript */, + 00759B3900F25AF700DD2B4C /* ShellScript */, + 00759B3A00F25AF700DD2B4C /* ShellScript */, + 5273046504303F0B000ECF53 /* ShellScript */, + FBCB7F5C0507F30000A273B4 /* ShellScript */, + ); + dependencies = ( + F52E388B0279D59101DD2AFC /* PBXTargetDependency */, + 00A90E33029EC2E700DD2B4C /* PBXTargetDependency */, + 84CE3C4F0CEE621B0056DB85 /* PBXTargetDependency */, + ); + name = "DSS Server"; + productInstallPath = /usr/sbin; + productName = "QuickTimeStreamingServer (Tool)"; + productReference = 520F7201070B767800B604C1 /* QuickTimeStreamingServer */; }; - 68C398C500C567B77F000001 = { - fileRef = 68C3948E00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C3978800C567B77F000001 /* PlaylistBroadcaster */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F90946099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "PlaylistBroadcaster" */; + buildPhases = ( + 68C3978900C567B77F000001 /* Headers */, + 68C3979E00C567B77F000001 /* Sources */, + 68C397AF00C567B77F000001 /* Frameworks */, + 68C397B500C567B77F000001 /* Rez */, + ); + dependencies = ( + F57EED61027EBA8101FF7AB9 /* PBXTargetDependency */, + ); + name = PlaylistBroadcaster; + productInstallPath = /usr/bin; + productName = "PlaylistBroadcaster (Tool)"; + productReference = 520F720B070B767800B604C1 /* PlaylistBroadcaster */; }; - 68C398C600C567B77F000001 = { - fileRef = 68C3948F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C397B700C567B77F000001 /* qtpasswd */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F9094E099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "qtpasswd" */; + buildPhases = ( + 68C397B800C567B77F000001 /* Headers */, + 68C397B900C567B77F000001 /* Sources */, + 68C397BB00C567B77F000001 /* Frameworks */, + 68C397BE00C567B77F000001 /* Rez */, + ); + dependencies = ( + 0138E58200C6B3A57F000001 /* PBXTargetDependency */, + ); + name = qtpasswd; + productInstallPath = /usr/bin; + productName = "qtpasswd (Tool)"; + productReference = 520F71F2070B767800B604C1 /* qtpasswd */; }; - 68C398C700C567B77F000001 = { - fileRef = 68C3949000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + 68C397C000C567B77F000001 /* StreamingProxy */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F9094A099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "StreamingProxy" */; + buildPhases = ( + 68C397C100C567B77F000001 /* Headers */, + 68C397C600C567B77F000001 /* Sources */, + 68C397CC00C567B77F000001 /* Frameworks */, + 68C397CE00C567B77F000001 /* Rez */, + ); + dependencies = ( + ); + name = StreamingProxy; + productName = "StreamingProxy (Tool)"; + productReference = 520F71FF070B767800B604C1 /* StreamingProxy */; }; - 68C398C800C567B77F000001 = { - fileRef = 68C3949100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + B649D5CB02B97F170BDD2A6C /* StreamingProxyServer */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F90996099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "StreamingProxyServer" */; + buildPhases = ( + B649D5CC02B97F170BDD2A6C /* Headers */, + B649D5CD02B97F170BDD2A6C /* Sources */, + B649D5CE02B97F170BDD2A6C /* Frameworks */, + B649D5CF02B97F170BDD2A6C /* Rez */, + ); + dependencies = ( + B649D5D002B9813B0BDD2A6C /* PBXTargetDependency */, + ); + name = StreamingProxyServer; + productInstallPath = /usr/sbin; + productName = StreamingProxyServer; + productReference = B649D5CA02B97F160BDD2A6C /* StreamingProxyServer */; }; - 68C398C900C567B77F000001 = { - fileRef = 68C3949200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F533DA97011744B701DD292F /* MP3Broadcaster */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F90942099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "MP3Broadcaster" */; + buildPhases = ( + F533DA9C011744B701DD292F /* Headers */, + F533DAA1011744B701DD292F /* Sources */, + F533DAAA011744B701DD292F /* Frameworks */, + F533DAB1011744B701DD292F /* Rez */, + ); + dependencies = ( + F533DAC5011745E201DD292F /* PBXTargetDependency */, + F533DA99011744B701DD292F /* PBXTargetDependency */, + F533DA9A011744B701DD292F /* PBXTargetDependency */, + F533DA9B011744B701DD292F /* PBXTargetDependency */, + ); + name = MP3Broadcaster; + productInstallPath = /usr/bin; + productName = MP3Broadcaster; + productReference = F533DA95011744B601DD292F /* MP3Broadcaster */; }; - 68C398CA00C567B77F000001 = { - fileRef = 68C3949300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; + F56B5A610278ADD701DD2AFC /* Server_No_Modules */ = { + isa = PBXToolTarget; + buildConfigurationList = 52F90992099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "Server_No_Modules" */; + buildPhases = ( + F56B5A620278ADD701DD2AFC /* Headers */, + F56B5A630278ADD701DD2AFC /* Sources */, + F56B5A640278ADD701DD2AFC /* Frameworks */, + F56B5ABF0278B00A01DD2AFC /* CopyFiles */, + F56B5AC20278B00A01DD2AFC /* CopyFiles */, + F56B5AC70278B00A01DD2AFC /* ShellScript */, + F56B5AC80278B00A01DD2AFC /* ShellScript */, + F56B5AC90278B00A01DD2AFC /* ShellScript */, + F56B5ACA0278B00A01DD2AFC /* ShellScript */, + F56B5ACB0278B00A01DD2AFC /* ShellScript */, + F56B5ACC0278B00A01DD2AFC /* ShellScript */, + F56B5ACD0278B00A01DD2AFC /* ShellScript */, + ); + dependencies = ( + F52E38890279D57301DD2AFC /* PBXTargetDependency */, + ); + name = Server_No_Modules; + productInstallPath = /usr/sbin; + productName = Server_No_Modules; + productReference = F56B5A600278ADD701DD2AFC /* QuickTimeStreamingServer */; }; - 68C398CB00C567B77F000001 = { - fileRef = 68C3949400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; +/* End PBXToolTarget section */ + +/* Begin PBXVariantGroup section */ + 00A7A0D40135DF8700DD2B4F /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 00A7A0D50135DF8700DD2B4F /* English */, + ); + name = Localizable.strings; + sourceTree = ""; }; - 68C398CC00C567B77F000001 = { - fileRef = 68C3949500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 5235761F0C33A0890098823D /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", ); - }; - }; - 68C398CD00C567B77F000001 = { - fileRef = 68C3949600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/sbin; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C398CE00C567B77F000001 = { - fileRef = 68C3949700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C398CF00C567B77F000001 = { - fileRef = 68C3949800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 523576200C33A0890098823D /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", ); - }; - }; - 68C398D000C567B77F000001 = { - fileRef = 68C3949900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/sbin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C398D100C567B77F000001 = { - fileRef = 68C3949A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 523576210C33A0890098823D /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/sbin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C398D200C567B77F000001 = { - fileRef = 68C3949B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 5293FE010B2A462600141B86 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSDSAuthModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Development; }; - 68C398D300C567B77F000001 = { - fileRef = 68C394CE00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 5293FE020B2A462600141B86 /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSDSAuthModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C398D400C567B77F000001 = { - fileRef = 68C394CF00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 5293FE030B2A462600141B86 /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSDSAuthModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C398D500C567B77F000001 = { - fileRef = 68C394D000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52B250100B30055600A6567F /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDSAuthModule.bundle; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Development; }; - 68C398D600C567B77F000001 = { - fileRef = 68C394D100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52B250110B30055600A6567F /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDSAuthModule.bundle; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - 68C398D700C567B77F000001 = { - fileRef = 68C394D200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52B250120B30055600A6567F /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDSAuthModule.bundle; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - 68C398D800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7600C597627F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398DC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398DE00C567B77F000001 = { - buildPhases = ( - 68C399BA00C567B77F000001, - ); + 52F90877099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libAtomicLib.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; - dependencies = ( - 00A90E27029EC2E700DD2B4C, - 00A90E1F029EBCC600DD2B4C, - ); - isa = PBXAggregateTarget; - name = APIModules; - productName = "APIModules (Aggregate)"; + name = Development; }; - 68C398E000C567B77F000001 = { - buildPhases = ( - 68C398E100C567B77F000001, - 68C398E200C567B77F000001, - 68C398E400C567B77F000001, - 68C398E600C567B77F000001, - ); + 52F90878099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libOSMemory_Modules.a; + PRODUCT_NAME = libAtomicLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "OSMemory_Modules (Library)"; - productName = "OSMemory_Modules (Library)"; - productReference = 68C3969E00C567B77F000001; - }; - 68C398E100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398E300C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E300C567B77F000001 = { - fileRef = 68C394E100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C398E400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = Deployment; }; - 68C398E800C567B77F000001 = { - buildPhases = ( - 68C398E900C567B77F000001, - 68C398EB00C567B77F000001, - 68C398ED00C567B77F000001, - 68C398EF00C567B77F000001, - ); + 52F90879099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -10517,1266 +11826,683 @@ HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAccessLogModule.a; + PRODUCT_NAME = libAtomicLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387D0279D53D01DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAccessLogModule (Library)"; - productName = "QTSSAccessLogModule (Library)"; - productReference = 68C3969F00C567B77F000001; - }; - 68C398E900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398EA00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EA00C567B77F000001 = { - fileRef = 68C394EC00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398EB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398EC00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EC00C567B77F000001 = { - fileRef = 68C394EA00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C398ED00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398EF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F100C567B77F000001 = { - buildPhases = ( - 68C398F200C567B77F000001, - 68C398F400C567B77F000001, - 68C398F600C567B77F000001, - 68C398F800C567B77F000001, - ); + 52F9087B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSFileModule.a; + PRODUCT_NAME = libSafeInternalStdLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387F0279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSFileModule (Library)"; - productName = "QTSSFileModule (Library)"; - productReference = 68C396A000C567B77F000001; - }; - 68C398F200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398F300C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F300C567B77F000001 = { - fileRef = 68C394F700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398F400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398F500C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F500C567B77F000001 = { - fileRef = 68C394F500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C398F600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398F800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398FA00C567B77F000001 = { - buildPhases = ( - 68C398FB00C567B77F000001, - 68C3990800C567B77F000001, - 68C3991400C567B77F000001, - 68C3991700C567B77F000001, - ); + 52F9087C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSReflectorModule.a; + PRODUCT_NAME = libSafeInternalStdLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38800279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSReflectorModule (Library)"; - productName = "QTSSReflectorModule (Library)"; - productReference = 68C396A100C567B77F000001; - }; - 68C398FB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C398FC00C567B77F000001, - 68C398FD00C567B77F000001, - 68C398FF00C567B77F000001, - 68C3990000C567B77F000001, - 68C3990100C567B77F000001, - 68C3990200C567B77F000001, - 68C3990300C567B77F000001, - 68C3990400C567B77F000001, - 68C3990500C567B77F000001, - 68C3990600C567B77F000001, - 68C3990700C567B77F000001, - 0066F5D0016E6AD000DD2B4C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C398FC00C567B77F000001 = { - fileRef = 68C3950C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398FD00C567B77F000001 = { - fileRef = 68C3950D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C398FF00C567B77F000001 = { - fileRef = 68C3950F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990000C567B77F000001 = { - fileRef = 68C3951000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990100C567B77F000001 = { - fileRef = 68C3951100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990200C567B77F000001 = { - fileRef = 68C3951200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990300C567B77F000001 = { - fileRef = 68C3951300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990400C567B77F000001 = { - fileRef = 68C3951400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990500C567B77F000001 = { - fileRef = 68C3951500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990600C567B77F000001 = { - fileRef = 68C3951600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990700C567B77F000001 = { - fileRef = 68C3951700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3990800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3990900C567B77F000001, - 68C3990A00C567B77F000001, - 68C3990C00C567B77F000001, - 68C3990D00C567B77F000001, - 68C3990E00C567B77F000001, - 68C3990F00C567B77F000001, - 68C3991000C567B77F000001, - 68C3991100C567B77F000001, - 68C3991200C567B77F000001, - 68C3991300C567B77F000001, - 0066F5D1016E6AD000DD2B4C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3990900C567B77F000001 = { - fileRef = 68C3950000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990A00C567B77F000001 = { - fileRef = 68C3950100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990C00C567B77F000001 = { - fileRef = 68C3950300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3990D00C567B77F000001 = { - fileRef = 68C3950400C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C3990E00C567B77F000001 = { - fileRef = 68C3950500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F9087D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C3990F00C567B77F000001 = { - fileRef = 68C3950600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libSafeInternalStdLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C3991000C567B77F000001 = { - fileRef = 68C3950700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F9087F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C3991100C567B77F000001 = { - fileRef = 68C3950800C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libSafeDynamicModuleStdLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C3991200C567B77F000001 = { - fileRef = 68C3950900C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F90880099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C3991300C567B77F000001 = { - fileRef = 68C3950A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libSafeDynamicModuleStdLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C3991400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991900C567B77F000001 = { - buildPhases = ( - 68C3991A00C567B77F000001, - 68C3991C00C567B77F000001, - 68C3991E00C567B77F000001, - 68C3992000C567B77F000001, - ); + 52F90881099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ""; - HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSFlowControlModule.a; + PRODUCT_NAME = libSafeDynamicModuleStdLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; - dependencies = ( - F52E38810279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSFlowControlModule (Library)"; - productName = "QTSSFlowControlModule (Library)"; - productReference = 68C396A200C567B77F000001; - }; - 68C3991A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3991B00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = Default; }; - 68C3991B00C567B77F000001 = { - fileRef = 68C3952200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F90883099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ( + ., + .., + ../.., ); - }; - }; - 68C3991C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3991D00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3991D00C567B77F000001 = { - fileRef = 68C3952000C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libCommonUtilitiesLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C3991E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992200C567B77F000001 = { - buildPhases = ( - 68C3992300C567B77F000001, - 68C3992500C567B77F000001, - 68C3992700C567B77F000001, - 68C3992900C567B77F000001, - ); + 52F90884099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; - LIBRARY_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ( + ., + .., + ../.., + ); LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSWebDebugModule.a; + PRODUCT_NAME = libCommonUtilitiesLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38820279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSWebDebugModule (Library)"; - productName = "QTSSWebDebugModule (Library)"; - productReference = 68C396A300C567B77F000001; - }; - 68C3992300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3992400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992400C567B77F000001 = { - fileRef = 68C3952D00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C3992500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3992600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992600C567B77F000001 = { - fileRef = 68C3952B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F90885099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ( + ., + .., + ../.., + ); + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libCommonUtilitiesLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C3992700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 0138E52A00C5C1787F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3992900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993400C567B77F000001 = { - buildPhases = ( - 68C3993500C567B77F000001, - 68C3993700C567B77F000001, - 68C3993800C567B77F000001, - 68C3993A00C567B77F000001, - 68C3994100C567B77F000001, - ); + 52F90887099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wshadow -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSSpamDefenseModule; + PRODUCT_NAME = libOSMemoryLib.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386D0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSSpamDefenseModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSSpamDefenseModule (Bundle)"; - productReference = 520F71FC070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSSpamDefenseModule - CFBundleGetInfoString - Protects against apple load tools - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.spamdefensemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSSpamDefenseModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3993500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993600C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993600C567B77F000001 = { - fileRef = 68C3954300C567B67F000001; - isa = PBXBuildFile; - settings = { + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C3993700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993900C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993900C567B77F000001 = { - fileRef = 68C3954100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F90888099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libOSMemoryLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C3993A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3993C00C567B77F000001, - F57EED3F027EA24601FF7AB9, - 0138E52B00C5C22A7F000001, - 0138E52C00C5C22A7F000001, - 0138E52D00C5C22A7F000001, - 0138E52E00C5C22A7F000001, - 70A648BC01162DA102DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3993C00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90889099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libOSMemoryLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C3994100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994300C567B77F000001 = { - buildPhases = ( - 68C3994400C567B77F000001, - 68C3994600C567B77F000001, - 68C3994700C567B77F000001, - 68C3994900C567B77F000001, - 68C3995000C567B77F000001, - ); + 52F9088B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRawFileModule; + PRODUCT_NAME = libRTCPUtilitiesLib.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; - dependencies = ( - F52E386E0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSRawFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSRawFileModule (Bundle)"; - productReference = 520F7210070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRawFileModule - CFBundleGetInfoString - returns a file as the rtsp response. - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.rawfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRawFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3994400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994500C567B77F000001 = { - fileRef = 68C3954E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3994600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994800C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994800C567B77F000001 = { - fileRef = 68C3954C00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3994900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3994B00C567B77F000001, - 0138E53700C6A7E27F000001, - 0138E53800C6A7E27F000001, - 0138E53900C6A7E27F000001, - 0138E53A00C6A7E27F000001, - F57EED45027EA3AB01FF7AB9, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3994B00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3995000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = Development; }; - 68C3995200C567B77F000001 = { - buildPhases = ( - 68C3995300C567B77F000001, - 68C3995500C567B77F000001, - 68C3995600C567B77F000001, - 68C3995800C567B77F000001, - 68C3996000C567B77F000001, - ); + 52F9088C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFilePrivsModule; + PRODUCT_NAME = libRTCPUtilitiesLib.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386F0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSFilePrivsModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSFilePrivsModule (Bundle)"; - productReference = 520F71F4070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFilePrivsModule - CFBundleGetInfoString - QTSSFilePrivsModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.fileprivsmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFilePrivsModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3995300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995400C567B77F000001 = { - fileRef = 68C3955900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3995500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995700C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995700C567B77F000001 = { - fileRef = 68C3955700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C3995800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3995A00C567B77F000001, - F57EED46027EA3AB01FF7AB9, - 0138E53B00C6A8B97F000001, - 0138E53C00C6A8B97F000001, - 0138E53F00C6A9C67F000001, - 0138E53D00C6A8B97F000001, - 0138E53E00C6A8B97F000001, - 70A6496701162F4E02DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3995A00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996200C567B77F000001 = { - buildPhases = ( - 68C3996300C567B77F000001, - 68C3996600C567B77F000001, - 68C3996700C567B77F000001, - 68C3996A00C567B77F000001, - 68C3997000C567B77F000001, - ); + 52F9088D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSDemoAuthorizationModule; + PRODUCT_NAME = libRTCPUtilitiesLib.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38700279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSDemoAuthorizationModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSDemoAuthorizationModule (Bundle)"; - productReference = 520F720F070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSDemoAuthorizationModule - CFBundleGetInfoString - QTSSDemoAuthorizationModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.demoauthorizationmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSDemoAuthorizationModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3996300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996400C567B77F000001, - 68C3996500C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996400C567B77F000001 = { - fileRef = 68C3956500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996500C567B77F000001 = { - fileRef = 68C3956600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3996600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996800C567B77F000001, - 68C3996900C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996800C567B77F000001 = { - fileRef = 68C3956200C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3996900C567B77F000001 = { - fileRef = 68C3956300C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C3996A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3996B00C567B77F000001, - F57EED47027EA3AB01FF7AB9, - 0138E54000C6AACF7F000001, - 0138E54100C6AACF7F000001, - 0138E54200C6AACF7F000001, - 0138E54300C6AACF7F000001, - 70A6496C01162FAC02DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3996B00C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3997000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997200C567B77F000001 = { - buildPhases = ( - 68C3997300C567B77F000001, - 68C3997500C567B77F000001, - 68C3997700C567B77F000001, - 68C3997900C567B77F000001, - ); + 52F9088F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSPOSIXFileSysModule.a; + PRODUCT_NAME = libPrefsSourceLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; - dependencies = ( - F52E38840279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSPOSIXFileSysModule (Library)"; - productName = "QTSSPOSIXFileSysModule (Library)"; - productReference = 68C396A900C567B77F000001; + name = Development; }; - 68C3997300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997400C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997400C567B77F000001 = { - fileRef = 68C3957100C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3997500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997600C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997600C567B77F000001 = { - fileRef = 68C3956F00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C3997700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997B00C567B77F000001 = { - buildPhases = ( - 68C3997C00C567B77F000001, - 68C3997E00C567B77F000001, - 68C3997F00C567B77F000001, - 68C3998100C567B77F000001, - 68C3998800C567B77F000001, - ); + 52F90890099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; LIBRARY_SEARCH_PATHS = ""; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSDemoSMILModule; + PRODUCT_NAME = libPrefsSourceLib.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38710279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSDemoSMILModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = "QTSSDemoSMILModule (Bundle)"; - productReference = 520F71FB070B767800B604C1; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSDemoSMILModule - CFBundleGetInfoString - QTSSDemoSMILModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.demosmilmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSDemoSMILModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - 68C3997C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3997D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997D00C567B77F000001 = { - fileRef = 68C3957C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3997E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3997F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998000C567B77F000001 = { - fileRef = 68C3957A00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C3998100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998300C567B77F000001, - F57EED48027EA3AB01FF7AB9, - 0138E54400C6AC357F000001, - 0138E54500C6AC357F000001, - 0138E54600C6AC357F000001, - 0138E54700C6AC357F000001, - 70A649750116302502DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998300C567B77F000001 = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998A00C567B77F000001 = { - buildPhases = ( - 68C3998B00C567B77F000001, - 68C3998F00C567B77F000001, - 68C3999300C567B77F000001, - 68C3999900C567B77F000001, - ); + 52F90891099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -11784,422 +12510,229 @@ HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAdminModule.a; + PRODUCT_NAME = libPrefsSourceLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38850279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAdminModule (Library)"; - productName = "QTSSAdminModule (Library)"; - productReference = 68C396AB00C567B77F000001; - }; - 68C3998B00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3998C00C567B77F000001, - 68C3998D00C567B77F000001, - 68C3998E00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3998C00C567B77F000001 = { - fileRef = 68C3958900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998D00C567B77F000001 = { - fileRef = 68C3958A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C3998E00C567B77F000001 = { - fileRef = 68C3958B00C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C3998F00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C3999000C567B77F000001, - 68C3999100C567B77F000001, - 68C3999200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3999000C567B77F000001 = { - fileRef = 68C3958500C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C3999100C567B77F000001 = { - fileRef = 68C3958600C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F90893099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C3999200C567B77F000001 = { - fileRef = 68C3958700C567B67F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libAPIStubLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C3999300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7700C597627F000001, - 68C39A7800C597627F000001, - 68C39A7900C597627F000001, - 68C39A7A00C597627F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C3999900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399AF00C567B77F000001 = { - buildPhases = ( - 68C399B000C567B77F000001, - 68C399B300C567B77F000001, - 68C399B600C567B77F000001, - 68C399B900C567B77F000001, - ); + 52F90894099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSAccessModule.a; + PRODUCT_NAME = libAPIStubLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E387E0279D53D01DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSAccessModule (Library)"; - productName = "QTSSAccessModule (Library)"; - productReference = 68C396AE00C567B77F000001; - }; - 68C399B000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399B100C567B77F000001, - 68C399B200C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B100C567B77F000001 = { - fileRef = 68C395AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C399B200C567B77F000001 = { - fileRef = 68C395B000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C399B300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399B400C567B77F000001, - 68C399B500C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B400C567B77F000001 = { - fileRef = 68C395AC00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F90895099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C399B500C567B77F000001 = { - fileRef = 68C395AD00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libAPIStubLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C399B600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A7500C597067F000001, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399B900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399BA00C567B77F000001 = { - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C100C567B77F000001 = { - buildPhases = ( - 68C399C200C567B77F000001, - 68C399C300C567B77F000001, - 68C399C500C567B77F000001, - 68C399C700C567B77F000001, - ); + 52F90897099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libOSMemoryLib.a; + PRODUCT_NAME = libHTTPUtilitiesLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "OSMemoryLib (Library)"; - productName = "OSMemoryLib (Library)"; - productReference = 68C396AF00C567B77F000001; - }; - 68C399C200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399C400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C400C567B77F000001 = { - fileRef = 68C395B900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C399C500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399C900C567B77F000001 = { - buildPhases = ( - 68C399CA00C567B77F000001, - 68C399CF00C567B77F000001, - 68C399D400C567B77F000001, - 68C399D600C567B77F000001, - ); + 52F90898099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTCPUtilitiesLib.a; + PRODUCT_NAME = libHTTPUtilitiesLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTCPUtilitiesLib (Library)"; - productName = "RTCPUtilitiesLib (Library)"; - productReference = 68C396B000C567B77F000001; - }; - 68C399CA00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399CB00C567B77F000001, - 68C399CC00C567B77F000001, - 68C399CD00C567B77F000001, - 68C399CE00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399CB00C567B77F000001 = { - fileRef = 68C395C700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CC00C567B77F000001 = { - fileRef = 68C395C800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CD00C567B77F000001 = { - fileRef = 68C395C900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CE00C567B77F000001 = { - fileRef = 68C395CA00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399CF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399D000C567B77F000001, - 68C399D100C567B77F000001, - 68C399D200C567B77F000001, - 68C399D300C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D000C567B77F000001 = { - fileRef = 68C395C200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D100C567B77F000001 = { - fileRef = 68C395C300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D200C567B77F000001 = { - fileRef = 68C395C400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399D300C567B77F000001 = { - fileRef = 68C395C500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C399D400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399D800C567B77F000001 = { - buildPhases = ( - 68C399D900C567B77F000001, - 68C399E000C567B77F000001, - 68C399E600C567B77F000001, - 68C399E800C567B77F000001, - ); + 52F90899099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -12207,303 +12740,114 @@ HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libPrefsSourceLib.a; + PRODUCT_NAME = libHTTPUtilitiesLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "PrefsSourceLib (Library)"; - productName = "PrefsSourceLib (Library)"; - productReference = 68C396B100C567B77F000001; - }; - 68C399D900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399DA00C567B77F000001, - 68C399DD00C567B77F000001, - 68C399DF00C567B77F000001, - 003D3EDF0132F64100DD292F, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399DA00C567B77F000001 = { - fileRef = 68C395D800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399DD00C567B77F000001 = { - fileRef = 68C395DB00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399DF00C567B77F000001 = { - fileRef = 68C395DD00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399E000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399E100C567B77F000001, - 68C399E400C567B77F000001, - 003D3EE00132F64100DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399E100C567B77F000001 = { - fileRef = 68C395D300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399E400C567B77F000001 = { - fileRef = 68C395D600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C399E600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399E800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399EA00C567B77F000001 = { - buildPhases = ( - 68C399EB00C567B77F000001, - 68C399EF00C567B77F000001, - 68C399F100C567B77F000001, - 68C399F300C567B77F000001, - ); + 52F9089B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAPIStubLib.a; + PRODUCT_NAME = libRTPMetaInfoLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "APIStubLib (Library)"; - productName = "APIStubLib (Library)"; - productReference = 68C396B200C567B77F000001; - }; - 68C399EB00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399EC00C567B77F000001, - 68C399ED00C567B77F000001, - 68C399EE00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399EC00C567B77F000001 = { - fileRef = 68C395EA00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399ED00C567B77F000001 = { - fileRef = 68C395EB00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399EE00C567B77F000001 = { - fileRef = 68C395EC00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399EF00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399F000C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F000C567B77F000001 = { - fileRef = 68C395E800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C399F100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F500C567B77F000001 = { - buildPhases = ( - 68C399F600C567B77F000001, - 68C399F900C567B77F000001, - 68C399FC00C567B77F000001, - 68C399FE00C567B77F000001, - ); + 52F9089C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libHTTPUtilitiesLib.a; + PRODUCT_NAME = libRTPMetaInfoLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "HTTPUtilitiesLib (Library)"; - productName = "HTTPUtilitiesLib (Library)"; - productReference = 68C396B300C567B77F000001; - }; - 68C399F600C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399F700C567B77F000001, - 68C399F800C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399F700C567B77F000001 = { - fileRef = 68C395F800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399F800C567B77F000001 = { - fileRef = 68C395F900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C399F900C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C399FA00C567B77F000001, - 68C399FB00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399FA00C567B77F000001 = { - fileRef = 68C395F500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C399FB00C567B77F000001 = { - fileRef = 68C395F600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C399FC00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C399FE00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0000C567B77F000001 = { - buildPhases = ( - 68C39A0100C567B77F000001, - 68C39A0300C567B77F000001, - 68C39A0500C567B77F000001, - 68C39A0700C567B77F000001, - ); + 52F9089D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -12511,7 +12855,17 @@ HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -12519,77 +12873,41 @@ PRODUCT_NAME = libRTPMetaInfoLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTPMetaInfoLib (Library)"; - productName = "RTPMetaInfoLib (Library)"; - productReference = 68C396B400C567B77F000001; + name = Default; }; - 68C39A0100C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0200C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0200C567B77F000001 = { - fileRef = 68C3960400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, - ); - }; - }; - 68C39A0300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0400C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0400C567B77F000001 = { - fileRef = 68C3960200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A0500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0900C567B77F000001 = { - buildPhases = ( - 68C39A0A00C567B77F000001, - 68C39A1E00C567B77F000001, - 68C39A3200C567B77F000001, - 68C39A3400C567B77F000001, - ); + 52F9089F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -DDSS_USE_API_CALLBACKS -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-DDSS_USE_API_CALLBACKS", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -12597,411 +12915,603 @@ PRODUCT_NAME = libQTFileLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTFileLib (Library)"; - productName = "QTFileLib (Library)"; - productReference = 68C396B500C567B77F000001; - }; - 68C39A0A00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A0B00C567B77F000001, - 68C39A0C00C567B77F000001, - 68C39A0D00C567B77F000001, - 68C39A0E00C567B77F000001, - 68C39A0F00C567B77F000001, - 68C39A1000C567B77F000001, - 68C39A1100C567B77F000001, - 68C39A1200C567B77F000001, - 68C39A1300C567B77F000001, - 68C39A1400C567B77F000001, - 68C39A1500C567B77F000001, - 68C39A1600C567B77F000001, - 68C39A1700C567B77F000001, - 68C39A1800C567B77F000001, - 68C39A1900C567B77F000001, - 68C39A1A00C567B77F000001, - 68C39A1B00C567B77F000001, - 68C39A1C00C567B77F000001, - 68C39A1D00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A0B00C567B77F000001 = { - fileRef = 68C3962100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A0C00C567B77F000001 = { - fileRef = 68C3962200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-DDSS_USE_API_CALLBACKS", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A0D00C567B77F000001 = { - fileRef = 68C3962300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTFileLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A0E00C567B77F000001 = { - fileRef = 68C3962400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-DDSS_USE_API_CALLBACKS", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A0F00C567B77F000001 = { - fileRef = 68C3962500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTFileLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A1000C567B77F000001 = { - fileRef = 68C3962600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A3099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1100C567B77F000001 = { - fileRef = 68C3962700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libAPICommonCode.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A1200C567B77F000001 = { - fileRef = 68C3962800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A4099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1300C567B77F000001 = { - fileRef = 68C3962900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libAPICommonCode.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A1400C567B77F000001 = { - fileRef = 68C3962A00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A5099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1500C567B77F000001 = { - fileRef = 68C3962B00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libAPICommonCode.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A1600C567B77F000001 = { - fileRef = 68C3962C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A7099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1700C567B77F000001 = { - fileRef = 68C3962D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libRTSPClientLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A1800C567B77F000001 = { - fileRef = 68C3962E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A8099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1900C567B77F000001 = { - fileRef = 68C3962F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libRTSPClientLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A1A00C567B77F000001 = { - fileRef = 68C3963000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908A9099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1B00C567B77F000001 = { - fileRef = 68C3963100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libRTSPClientLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A1C00C567B77F000001 = { - fileRef = 68C3963200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908AB099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A1D00C567B77F000001 = { - fileRef = 68C3963300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTFileExternalLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A1E00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A1F00C567B77F000001, - 68C39A2000C567B77F000001, - 68C39A2100C567B77F000001, - 68C39A2200C567B77F000001, - 68C39A2300C567B77F000001, - 68C39A2400C567B77F000001, - 68C39A2500C567B77F000001, - 68C39A2600C567B77F000001, - 68C39A2700C567B77F000001, - 68C39A2800C567B77F000001, - 68C39A2900C567B77F000001, - 68C39A2A00C567B77F000001, - 68C39A2B00C567B77F000001, - 68C39A2C00C567B77F000001, - 68C39A2D00C567B77F000001, - 68C39A2E00C567B77F000001, - 68C39A2F00C567B77F000001, - 68C39A3000C567B77F000001, - 68C39A3100C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A1F00C567B77F000001 = { - fileRef = 68C3960D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908AC099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A2000C567B77F000001 = { - fileRef = 68C3960E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTFileExternalLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A2100C567B77F000001 = { - fileRef = 68C3960F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908AD099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", ); - }; - }; - 68C39A2200C567B77F000001 = { - fileRef = 68C3961000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTFileExternalLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A2300C567B77F000001 = { - fileRef = 68C3961100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2400C567B77F000001 = { - fileRef = 68C3961200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2500C567B77F000001 = { - fileRef = 68C3961300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2600C567B77F000001 = { - fileRef = 68C3961400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2700C567B77F000001 = { - fileRef = 68C3961500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - ); - }; - }; - 68C39A2800C567B77F000001 = { - fileRef = 68C3961600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908AF099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ../..; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A2900C567B77F000001 = { - fileRef = 68C3961700C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSDPGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A2A00C567B77F000001 = { - fileRef = 68C3961800C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908B0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ../..; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A2B00C567B77F000001 = { - fileRef = 68C3961900C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSDPGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A2C00C567B77F000001 = { - fileRef = 68C3961A00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908B1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ../..; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A2D00C567B77F000001 = { - fileRef = 68C3961B00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSDPGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A2E00C567B77F000001 = { - fileRef = 68C3961C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908B3099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A2F00C567B77F000001 = { - fileRef = 68C3961D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libTestQTFileLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A3000C567B77F000001 = { - fileRef = 68C3961E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908B4099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A3100C567B77F000001 = { - fileRef = 68C3961F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libTestQTFileLib.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A3200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3400C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3600C567B77F000001 = { - buildPhases = ( - 68C39A3700C567B77F000001, - 68C39A3D00C567B77F000001, - 68C39A4300C567B77F000001, - 68C39A4500C567B77F000001, - ); + 52F908B5099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -13009,8421 +13519,6594 @@ HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libAPICommonCode.a; + PRODUCT_NAME = libTestQTFileLib.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "APICommonCode (Library)"; - productName = "APICommonCode (Library)"; - productReference = 68C396B600C567B77F000001; - }; - 68C39A3700C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A3800C567B77F000001, - 68C39A3900C567B77F000001, - 68C39A3A00C567B77F000001, - 68C39A3B00C567B77F000001, - 68C39A3C00C567B77F000001, - F532558C0288434401DD2B50, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3800C567B77F000001 = { - fileRef = 68C3964200C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A3900C567B77F000001 = { - fileRef = 68C3964300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908B7099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A3A00C567B77F000001 = { - fileRef = 68C3964400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTRTPGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A3B00C567B77F000001 = { - fileRef = 68C3964500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908B8099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A3C00C567B77F000001 = { - fileRef = 68C3964600C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTRTPGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A3D00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A3E00C567B77F000001, - 68C39A3F00C567B77F000001, - 68C39A4000C567B77F000001, - 68C39A4100C567B77F000001, - 68C39A4200C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A3E00C567B77F000001 = { - fileRef = 68C3963C00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908B9099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A3F00C567B77F000001 = { - fileRef = 68C3963D00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTRTPGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A4000C567B77F000001 = { - fileRef = 68C3963E00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908BB099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); - }; - }; - 68C39A4100C567B77F000001 = { - fileRef = 68C3963F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTRTPFileTest; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A4200C567B77F000001 = { - fileRef = 68C3964000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908BC099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTRTPFileTest; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A4300C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4500C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4700C567B77F000001 = { - buildPhases = ( - 68C39A4800C567B77F000001, - 68C39A4C00C567B77F000001, - 68C39A5000C567B77F000001, - 68C39A5200C567B77F000001, - ); + 52F908BD099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = ""; LIBRARY_SEARCH_PATHS = ""; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libRTSPClientLib.a; + PRODUCT_NAME = QTRTPFileTest; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "RTSPClientLib (Library)"; - productName = "RTSPClientLib (Library)"; - productReference = 68C396B700C567B77F000001; + name = Default; }; - 68C39A4800C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A4900C567B77F000001, - 68C39A4A00C567B77F000001, - 68C39A4B00C567B77F000001, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4900C567B77F000001 = { - fileRef = 68C3965300C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908BF099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSampleLister; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A4A00C567B77F000001 = { - fileRef = 68C3965400C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908C0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSampleLister; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A4B00C567B77F000001 = { - fileRef = 68C3965500C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( - Project, + 52F908C1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSampleLister; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A4C00C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - 68C39A4D00C567B77F000001, - 68C39A4E00C567B77F000001, - 68C39A4F00C567B77F000001, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A4D00C567B77F000001 = { - fileRef = 68C3964F00C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908C3099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTTrackInfo; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A4E00C567B77F000001 = { - fileRef = 68C3965000C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908C4099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTTrackInfo; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A4F00C567B77F000001 = { - fileRef = 68C3965100C567B77F000001; - isa = PBXBuildFile; - settings = { - ATTRIBUTES = ( + 52F908C5099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTTrackInfo; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", ); }; + name = Default; }; - 68C39A5000C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A5200C567B77F000001 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - 68C39A7500C597067F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908C7099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTFileInfo; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A7600C597627F000001 = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908C8099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTFileInfo; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A7700C597627F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908C9099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTFileInfo; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39A7800C597627F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908CB099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTFileTest; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A7900C597627F000001 = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908CC099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTFileTest; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A7A00C597627F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908CD099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTFileTest; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39A7B00C597AB7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908CF099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTBroadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A7C00C597AB7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTBroadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A7D00C597AB7F000001 = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTBroadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39A7E00C597AB7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8000C598377F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D78064AFB71006F2774; - }; - 68C39A8100C598B27F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D5F064AFB71006F2774; - }; - 68C39A8300C598B27F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D1E064AFB71006F2774; - }; - 68C39A8600C59A9E7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8700C59A9E7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8800C59A9E7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A8A00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D69064AFB71006F2774; - }; - 68C39A8C00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D22064AFB71006F2774; - }; - 68C39A8D00C59BD47F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D5C064AFB71006F2774; - }; - 68C39A8E00C59BD47F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9000C59BD47F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9100C59BD47F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9200C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D81064AFB71006F2774; - }; - 68C39A9300C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D80064AFB71006F2774; - }; - 68C39A9400C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - targetProxy = FB0D1D7F064AFB71006F2774; - }; - 68C39A9500C59C3C7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D7E064AFB71006F2774; - }; - 68C39A9600C59CF27F000001 = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1DDD064AFB71006F2774; - }; - 68C39A9700C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DBE064AFB71006F2774; - }; - 68C39A9800C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DBF064AFB71006F2774; - }; - 68C39A9A00C59D627F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D23064AFB71006F2774; - }; - 68C39A9B00C59D627F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39A9C00C59D627F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D3099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = RTPFileGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39A9E00C59D627F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D4099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = RTPFileGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39A9F00C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D71064AFB71006F2774; - }; - 68C39AA000C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D70064AFB71006F2774; - }; - 68C39AA200C59DC47F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D6F064AFB71006F2774; - }; - 68C39AA300C59DC47F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D5099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = RTPFileGen; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39AA400C59DC47F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D7099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = QTFileTools; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39AA600C59DC47F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D8099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = QTFileTools; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39AA700C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908D9099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = QTFileTools; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39AA800C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908DB099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libOSMemory_Modules.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39AAA00C59E2F7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908DC099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libOSMemory_Modules.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39AAB00C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908DD099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libOSMemory_Modules.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39AAC00C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908DF099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Libraries; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39AAE00C59E2F7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Libraries; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39AAF00C59E2F7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Libraries; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39AB000C59E2F7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E3099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAccessModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39AB100C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DAA064AFB71006F2774; - }; - 68C39AB200C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DB9064AFB71006F2774; - }; - 68C39AB400C59ED87F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1DA5064AFB71006F2774; - }; - 68C39AB600C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB700C59ED87F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AB800C59ED87F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABA00C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABB00C59ED87F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABC00C59ED87F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABE00C59ED87F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ABF00C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D1F064AFB71006F2774; - }; - 68C39AC000C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DB0064AFB71006F2774; - }; - 68C39AC200C59F0F7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D5D064AFB71006F2774; - }; - 68C39AC300C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D65064AFB71006F2774; - }; - 68C39AC500C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D64064AFB71006F2774; - }; - 68C39AC600C59F417F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D62064AFB71006F2774; - }; - 68C39AC700C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1DAE064AFB71006F2774; - }; - 68C39AC800C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DAC064AFB71006F2774; - }; - 68C39ACA00C59F6D7F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D2A064AFB71006F2774; - }; - 68C39ACB00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D53064AFB71006F2774; - }; - 68C39ACC00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D52064AFB71006F2774; - }; - 68C39ACE00C59F927F000001 = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D51064AFB71006F2774; - }; - 68C39AD500C5A04A7F000001 = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD600C5A04A7F000001 = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD700C5A04A7F000001 = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39AD900C5A04A7F000001 = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - 68C39ADA00C5A04A7F000001 = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E4099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAccessModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 68C39ADC00C5A1257F000001 = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E5099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAccessModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 68C39ADF00C5A41F7F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = get_opt.h; - refType = 4; - sourceTree = ""; - }; - 68C39AE000C5A41F7F000001 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.c; - path = get_opt.c; - refType = 4; - sourceTree = ""; - }; - 68C39AE300C5A5217F000001 = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E7099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAccessLogModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 68C39AE400C5A5217F000001 = { - fileRef = 68C396A300C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E8099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAccessLogModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; -//680 -//681 -//682 -//683 -//684 -//700 -//701 -//702 -//703 -//704 - 70A648BC01162DA102DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908E9099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAccessLogModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - 70A6496701162F4E02DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908EB099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAdminModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - 70A6496C01162FAC02DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908EC099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAdminModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - 70A649750116302502DD292F = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908ED099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSAdminModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; -//700 -//701 -//702 -//703 -//704 -//840 -//841 -//842 -//843 -//844 - 846E9B7D0728600F00E7A587 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_broadcast_password.html; - path = WebAdmin/WebAdminHtml/change_broadcast_password.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - 846E9B7E0728602900E7A587 = { - fileRef = 846E9B7D0728600F00E7A587; - isa = PBXBuildFile; - settings = { + 52F908EF099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSFileModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; -//840 -//841 -//842 -//843 -//844 -//B60 -//B61 -//B62 -//B63 -//B64 - B62C45C5012B21870BDD2A6C = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSMP3StreamingModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B62C45C6012B21880BDD2A6C = { - buildPhases = ( - B62C45C7012B21880BDD2A6C, - B62C45C8012B21880BDD2A6C, - B62C45C9012B21880BDD2A6C, - B62C45CA012B21880BDD2A6C, - ); + 52F908F0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSMP3StreamingModule.a; + PRODUCT_NAME = libQTSSFileModule.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; - dependencies = ( - 520F723C070B8F7600B604C1, - F52E38880279D55801DD2AFC, - ); - isa = PBXLibraryTarget; - name = "QTSSMP3StreamingModule (Library)"; - productName = QTSSMP3StreamingModule; - productReference = B62C45C5012B21870BDD2A6C; + name = Deployment; }; - B62C45C7012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B62C45CF012B253C0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45C8012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B62C45CC012B24BF0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45C9012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45CA012B21880BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B62C45CB012B24BD0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = QTSSMP3StreamingModule.cpp; - path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.cpp; - refType = 4; - sourceTree = ""; - }; - B62C45CC012B24BF0BDD2A6C = { - fileRef = B62C45CB012B24BD0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B62C45CD012B253B0BDD2A6C = { - children = ( - B62C45CB012B24BD0BDD2A6C, - B62C45CE012B253B0BDD2A6C, - ); - isa = PBXGroup; - name = QTSSMP3StreamingModule; - path = ""; - refType = 4; - sourceTree = ""; - }; - B62C45CE012B253B0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = QTSSMP3StreamingModule.h; - path = QTSSMP3StreamingModule/QTSSMP3StreamingModule.h; - refType = 4; - sourceTree = ""; - }; - B62C45CF012B253C0BDD2A6C = { - fileRef = B62C45CE012B253B0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B62F395E012B34C40BDD2A6C = { - fileRef = B62C45C5012B21870BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494F950279F74E0BDD2A6C = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSRefMovieModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B6494F960279F7500BDD2A6C = { - buildPhases = ( - B6494F970279F7500BDD2A6C, - B6494F980279F7500BDD2A6C, - B6494F990279F7500BDD2A6C, - B6494F9A0279F7500BDD2A6C, - B6494F9B0279F7500BDD2A6C, - ); + 52F908F1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRefMovieModule; + PRODUCT_NAME = libQTSSFileModule.a; + REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - ); - isa = PBXBundleTarget; - name = "QTSSRefMovieModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSRefMovieModule; - productReference = B6494F950279F74E0BDD2A6C; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRefMovieModule - CFBundleGetInfoString - Generate RTSP ref movies - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.refmoviemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRefMovieModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - B6494F970279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA10279F88F0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F980279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F990279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA20279F88F0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9A0279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6494FA40279F98A0BDD2A6C, - F57EED44027EA28201FF7AB9, - B6494FA50279F9B10BDD2A6C, - B6494FA60279FA6F0BDD2A6C, - B6494FA70279FAB80BDD2A6C, - B6494FA80279FB8D0BDD2A6C, - B69647D8027A41EC0BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9B0279F7500BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6494F9C0279F7A90BDD2A6C = { - isa = PBXTargetDependency; - target = B6494F960279F7500BDD2A6C; - targetProxy = FB0D1D9D064AFB71006F2774; - }; - B6494F9D0279F88D0BDD2A6C = { - children = ( - B6494F9E0279F88D0BDD2A6C, - B6494F9F0279F88D0BDD2A6C, - ); - isa = PBXGroup; - name = QTSSRefMovieModule; - refType = 4; - sourceTree = ""; - }; - B6494F9E0279F88D0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = QTSSRefMovieModule.cpp; - path = QTSSRefMovieModule/QTSSRefMovieModule.cpp; - refType = 4; - sourceTree = ""; - }; - B6494F9F0279F88D0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = QTSSRefMovieModule.h; - path = QTSSRefMovieModule/QTSSRefMovieModule.h; - refType = 4; - sourceTree = ""; - }; - B6494FA10279F88F0BDD2A6C = { - fileRef = B6494F9F0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { - }; - }; - B6494FA20279F88F0BDD2A6C = { - fileRef = B6494F9E0279F88D0BDD2A6C; - isa = PBXBuildFile; - settings = { + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B6494FA40279F98A0BDD2A6C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908F3099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSFlowControlModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B6494FA50279F9B10BDD2A6C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908F4099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSFlowControlModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B6494FA60279FA6F0BDD2A6C = { - fileRef = 68C3969E00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908F5099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSFlowControlModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B6494FA70279FAB80BDD2A6C = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908F7099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSMP3StreamingModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B6494FA80279FB8D0BDD2A6C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F908F8099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSMP3StreamingModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5CA02B97F160BDD2A6C = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = StreamingProxyServer; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B649D5CB02B97F170BDD2A6C = { - buildPhases = ( - B649D5CC02B97F170BDD2A6C, - B649D5CD02B97F170BDD2A6C, - B649D5CE02B97F170BDD2A6C, - B649D5CF02B97F170BDD2A6C, - ); + 52F908F9099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { - INSTALL_PATH = /usr/sbin; - OTHER_CFLAGS = "-DDSS_DYNAMIC_MODULES_ONLY -DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = StreamingProxyServer; + PRODUCT_NAME = libQTSSMP3StreamingModule.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; - dependencies = ( - B649D5D002B9813B0BDD2A6C, - ); - isa = PBXToolTarget; - name = StreamingProxyServer; - productInstallPath = /usr/sbin; - productName = StreamingProxyServer; - productReference = B649D5CA02B97F160BDD2A6C; - }; - B649D5CC02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D5D302B9813B0BDD2A6C, - B649D5D402B9813B0BDD2A6C, - B649D5D502B9813B0BDD2A6C, - B649D5D602B9813B0BDD2A6C, - B649D5D702B9813C0BDD2A6C, - B649D5D802B9813C0BDD2A6C, - B649D5D902B9813C0BDD2A6C, - B649D5DA02B9813C0BDD2A6C, - B649D5DB02B9813C0BDD2A6C, - B649D5DC02B9813C0BDD2A6C, - B649D5DD02B9813C0BDD2A6C, - B649D5DE02B9813C0BDD2A6C, - B649D5DF02B9813C0BDD2A6C, - B649D5E002B9813C0BDD2A6C, - B649D5E102B9813C0BDD2A6C, - B649D5E202B9813C0BDD2A6C, - B649D5E302B9813C0BDD2A6C, - B649D5E402B9813C0BDD2A6C, - B649D5E502B9813C0BDD2A6C, - B649D5E602B9813C0BDD2A6C, - B649D5E702B9813C0BDD2A6C, - B649D5E802B9813C0BDD2A6C, - B649D5E902B9813C0BDD2A6C, - B649D5EA02B9813C0BDD2A6C, - B649D5EB02B9813C0BDD2A6C, - B649D5EC02B9813C0BDD2A6C, - B649D5ED02B9813C0BDD2A6C, - B649D5EE02B9813C0BDD2A6C, - B649D5EF02B9813C0BDD2A6C, - B649D5F002B9813C0BDD2A6C, - B649D5F102B9813C0BDD2A6C, - B649D5F902B9813C0BDD2A6C, - B649D5FA02B9813C0BDD2A6C, - B649D5FB02B9813C0BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + name = Default; }; - B649D5CD02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D63802B9813C0BDD2A6C, - B649D63902B9813C0BDD2A6C, - B649D63A02B9813C0BDD2A6C, - B649D63B02B9813C0BDD2A6C, - B649D63C02B9813C0BDD2A6C, - B649D63D02B9813C0BDD2A6C, - B649D63E02B9813C0BDD2A6C, - B649D63F02B9813C0BDD2A6C, - B649D64002B9813C0BDD2A6C, - B649D64102B9813C0BDD2A6C, - B649D64202B9813C0BDD2A6C, - B649D64302B9813C0BDD2A6C, - B649D64402B9813C0BDD2A6C, - B649D64502B9813C0BDD2A6C, - B649D64602B9813C0BDD2A6C, - B649D64702B9813C0BDD2A6C, - B649D64802B9813C0BDD2A6C, - B649D64902B9813C0BDD2A6C, - B649D64A02B9813C0BDD2A6C, - B649D64B02B9813C0BDD2A6C, - B649D64C02B9813C0BDD2A6C, - B649D64D02B9813C0BDD2A6C, - B649D64E02B9813C0BDD2A6C, - B649D64F02B9813C0BDD2A6C, - B649D65002B9813C0BDD2A6C, - B649D65102B9813C0BDD2A6C, - B649D65202B9813C0BDD2A6C, - B649D65302B9813C0BDD2A6C, - B649D65402B9813C0BDD2A6C, - B649D65502B9813C0BDD2A6C, - B649D65602B9813C0BDD2A6C, - B649D65D02B9813C0BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CE02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B649D69302B983380BDD2A6C, - B649D69402B983380BDD2A6C, - B649D69502B983380BDD2A6C, - B649D69602B983380BDD2A6C, - B649D69702B983380BDD2A6C, - B649D69802B983380BDD2A6C, - B649D69902B983380BDD2A6C, - B649D69A02B983380BDD2A6C, - B649D69B02B983380BDD2A6C, - B649D69C02B983380BDD2A6C, - B649D69D02B983380BDD2A6C, - B649D69E02B983380BDD2A6C, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5CF02B97F170BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B649D5D002B9813B0BDD2A6C = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D56064AFB71006F2774; - }; - B649D5D302B9813B0BDD2A6C = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D402B9813B0BDD2A6C = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D502B9813B0BDD2A6C = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D602B9813B0BDD2A6C = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5D702B9813C0BDD2A6C = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F908FB099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSPOSIXFileSysModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D5D802B9813C0BDD2A6C = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F908FC099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSPOSIXFileSysModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5D902B9813C0BDD2A6C = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F908FD099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSPOSIXFileSysModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D5DA02B9813C0BDD2A6C = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F908FF099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSReflectorModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D5DB02B9813C0BDD2A6C = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90900099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSReflectorModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5DC02B9813C0BDD2A6C = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90901099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSReflectorModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D5DD02B9813C0BDD2A6C = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90903099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSProxyModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D5DE02B9813C0BDD2A6C = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90904099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSProxyModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5DF02B9813C0BDD2A6C = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90905099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSProxyModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D5E002B9813C0BDD2A6C = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90907099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSWebDebugModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D5E102B9813C0BDD2A6C = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90908099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSWebDebugModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5E202B9813C0BDD2A6C = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90909099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSWebDebugModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D5E302B9813C0BDD2A6C = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9090B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_Static; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D5E402B9813C0BDD2A6C = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9090C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_Static; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5E502B9813C0BDD2A6C = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9090D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_Static; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D5E602B9813C0BDD2A6C = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9090F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSHomeDirectoryModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D5E702B9813C0BDD2A6C = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90910099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSHomeDirectoryModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5E802B9813C0BDD2A6C = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90911099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSHomeDirectoryModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D5E902B9813C0BDD2A6C = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90913099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRefMovieModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D5EA02B9813C0BDD2A6C = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90914099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRefMovieModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5EB02B9813C0BDD2A6C = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90915099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRefMovieModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D5EC02B9813C0BDD2A6C = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90917099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoAuthorizationModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D5ED02B9813C0BDD2A6C = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90918099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoAuthorizationModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5EE02B9813C0BDD2A6C = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90919099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoAuthorizationModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D5EF02B9813C0BDD2A6C = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9091B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoSMILModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D5F002B9813C0BDD2A6C = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9091C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoSMILModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D5F102B9813C0BDD2A6C = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9091D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoSMILModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D5F902B9813C0BDD2A6C = { - fileRef = 68C395EA00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F9091F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFilePrivsModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D5FA02B9813C0BDD2A6C = { - fileRef = 68C395EC00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D5FB02B9813C0BDD2A6C = { - fileRef = 68C395EB00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90920099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFilePrivsModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D63802B9813C0BDD2A6C = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90921099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFilePrivsModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D63902B9813C0BDD2A6C = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90923099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSHttpFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D63A02B9813C0BDD2A6C = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90924099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSHttpFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D63B02B9813C0BDD2A6C = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90925099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSHttpFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D63C02B9813C0BDD2A6C = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90927099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRawFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D63D02B9813C0BDD2A6C = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90928099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRawFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D63E02B9813C0BDD2A6C = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90929099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRawFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D63F02B9813C0BDD2A6C = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9092B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRTPFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D64002B9813C0BDD2A6C = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9092C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRTPFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D64102B9813C0BDD2A6C = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9092D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSRTPFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D64202B9813C0BDD2A6C = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9092F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wshadow", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSSpamDefenseModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D64302B9813C0BDD2A6C = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90930099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wshadow", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSSpamDefenseModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D64402B9813C0BDD2A6C = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90931099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wshadow", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSSpamDefenseModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D64502B9813C0BDD2A6C = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90933099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSWebStatsModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - B649D64602B9813C0BDD2A6C = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90934099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSWebStatsModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - B649D64702B9813C0BDD2A6C = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90935099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSWebStatsModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - B649D64802B9813C0BDD2A6C = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90937099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_Dynamic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D64902B9813C0BDD2A6C = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64A02B9813C0BDD2A6C = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64B02B9813C0BDD2A6C = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D64C02B9813C0BDD2A6C = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90938099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_Dynamic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D64D02B9813C0BDD2A6C = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90939099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_Dynamic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D64E02B9813C0BDD2A6C = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9093B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D64F02B9813C0BDD2A6C = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9093C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D65002B9813C0BDD2A6C = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9093D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D65102B9813C0BDD2A6C = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F9093F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/sbin; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D65202B9813C0BDD2A6C = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90940099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/sbin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D65302B9813C0BDD2A6C = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90941099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/sbin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D65402B9813C0BDD2A6C = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90943099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/bin; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-D__USE_MAX_PRINTF__", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = MP3Broadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D65502B9813C0BDD2A6C = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90944099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /usr/bin; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-D__USE_MAX_PRINTF__", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = MP3Broadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D65602B9813C0BDD2A6C = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { + 52F90945099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /usr/bin; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-D__USE_MAX_PRINTF__", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = MP3Broadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D65D02B9813C0BDD2A6C = { - fileRef = 68C395E800C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90947099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/bin; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-D__USE_MAX_PRINTF__", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = PlaylistBroadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D69302B983380BDD2A6C = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90948099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/bin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-D__USE_MAX_PRINTF__", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = PlaylistBroadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D69402B983380BDD2A6C = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90949099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/bin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-D__USE_MAX_PRINTF__", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = PlaylistBroadcaster; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D69502B983380BDD2A6C = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F9094B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = revision.h; + PRODUCT_NAME = StreamingProxy; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D69602B983380BDD2A6C = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F9094C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = revision.h; + PRODUCT_NAME = StreamingProxy; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B649D69702B983380BDD2A6C = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F9094D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = revision.h; + PRODUCT_NAME = StreamingProxy; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B649D69802B983380BDD2A6C = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69902B983380BDD2A6C = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69A02B983380BDD2A6C = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69B02B983380BDD2A6C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69C02B983380BDD2A6C = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - B649D69D02B983380BDD2A6C = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F9094F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/bin; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-DUSE_DEFAULT_STD_LIB", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fno-exceptions", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = revision.h; + PRODUCT_NAME = qtpasswd; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - B649D69E02B983380BDD2A6C = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90950099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/bin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-DUSE_DEFAULT_STD_LIB", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fno-exceptions", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = revision.h; + PRODUCT_NAME = qtpasswd; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B66082C20337F1DF0BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = defaultPaths.h; - refType = 4; - sourceTree = ""; - }; - B69647D8027A41EC0BDD2A6C = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { + 52F90951099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /usr/bin; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-DUSE_DEFAULT_STD_LIB", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fno-exceptions", + "-fcommon", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = revision.h; + PRODUCT_NAME = qtpasswd; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B6DC97F702FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6DC980102FB30350BDD2A6C, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97F802FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - B6DC980002FB30350BDD2A6C, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97F902FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97FA02FB2EAB0BDD2A6C = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - B6DC97FB02FB2EAB0BDD2A6C = { - buildPhases = ( - B6DC97F702FB2EAB0BDD2A6C, - B6DC97F802FB2EAB0BDD2A6C, - B6DC97F902FB2EAB0BDD2A6C, - B6DC97FA02FB2EAB0BDD2A6C, - ); + 52F90953099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTSSProxyModule.a; + PRODUCT_NAME = WebAdmin; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTSSProxyModule (Library)"; - productInstallPath = /usr/local/lib; - productName = QTSSProxyModule; - productReference = B6DC97FC02FB2EAB0BDD2A6C; - }; - B6DC97FC02FB2EAB0BDD2A6C = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTSSProxyModule.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - B6DC97FD02FB30350BDD2A6C = { - children = ( - B6DC97FE02FB30350BDD2A6C, - B6DC97FF02FB30350BDD2A6C, - ); - isa = PBXGroup; - path = QTSSProxyModule; - refType = 4; - sourceTree = ""; - }; - B6DC97FE02FB30350BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = QTSSProxyModule.cpp; - refType = 4; - sourceTree = ""; - }; - B6DC97FF02FB30350BDD2A6C = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSProxyModule.h; - refType = 4; - sourceTree = ""; + name = Development; }; - B6DC980002FB30350BDD2A6C = { - fileRef = B6DC97FE02FB30350BDD2A6C; - isa = PBXBuildFile; - settings = { + 52F90954099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = WebAdmin; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - B6DC980102FB30350BDD2A6C = { - fileRef = B6DC97FF02FB30350BDD2A6C; - isa = PBXBuildFile; - settings = { + 52F90955099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = WebAdmin; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - B6DC980302FB313E0BDD2A6C = { - isa = PBXTargetDependency; - target = B6DC97FB02FB2EAB0BDD2A6C; - targetProxy = FB0D1D4C064AFB71006F2774; - }; -//B60 -//B61 -//B62 -//B63 -//B64 -//DB0 -//DB1 -//DB2 -//DB3 -//DB4 - DB5FB48607C42A3D00A894EA = { - children = ( - DB5FB4CE07C4336500A894EA, - DB5FB4CF07C4336500A894EA, - DB5FB4D007C4336500A894EA, - ); - isa = PBXGroup; - name = man1; - refType = 4; - sourceTree = ""; - }; - DB5FB4CD07C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = createuserstreamingdir.8; - path = Documentation/man/qtss/createuserstreamingdir.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4CE07C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - name = MP3Broadcaster.1; - path = Documentation/man/qtss/MP3Broadcaster.1; - refType = 4; - sourceTree = ""; - }; - DB5FB4CF07C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - name = PlaylistBroadcaster.1; - path = Documentation/man/qtss/PlaylistBroadcaster.1; - refType = 4; - sourceTree = ""; - }; - DB5FB4D007C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.man; - name = qtpasswd.1; - path = Documentation/man/qtss/qtpasswd.1; - refType = 4; - sourceTree = ""; - }; - DB5FB4D107C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = QuickTimeStreamingServer.8; - path = Documentation/man/qtss/QuickTimeStreamingServer.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4D207C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = streamingadminserver.pl.8; - path = Documentation/man/qtss/streamingadminserver.pl.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4D307C4336500A894EA = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html.documentation; - name = StreamingLoadTool.8; - path = Documentation/man/qtss/StreamingLoadTool.8; - refType = 4; - sourceTree = ""; - }; - DB5FB4DC07C433A600A894EA = { - buildActionMask = 8; - comments = man1; - dstPath = /usr/share/man/man1; - dstSubfolderSpec = 0; - files = ( - DBDEE63C07C435A1007A0296, - DBDEE63D07C435A1007A0296, - DBDEE63E07C435A1007A0296, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - DB5FB4F907C433BC00A894EA = { - children = ( - DB5FB4CD07C4336500A894EA, - DB5FB4D107C4336500A894EA, - DB5FB4D207C4336500A894EA, - DB5FB4D307C4336500A894EA, - ); - isa = PBXGroup; - name = man8; - refType = 4; - sourceTree = ""; - }; - DB5FB50507C433EA00A894EA = { - buildActionMask = 8; - comments = man8; - dstPath = /usr/share/man/man8; - dstSubfolderSpec = 0; - files = ( - DBDEE64707C435A6007A0296, - DBDEE64807C435A6007A0296, - DBDEE64907C435A6007A0296, - DBDEE64A07C435A6007A0296, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - DBDEE63C07C435A1007A0296 = { - fileRef = DB5FB4CE07C4336500A894EA; - isa = PBXBuildFile; - settings = { + 52F90957099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/bin; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = broadcasterctl; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - DBDEE63D07C435A1007A0296 = { - fileRef = DB5FB4CF07C4336500A894EA; - isa = PBXBuildFile; - settings = { + 52F90958099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /usr/bin; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = broadcasterctl; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - DBDEE63E07C435A1007A0296 = { - fileRef = DB5FB4D007C4336500A894EA; - isa = PBXBuildFile; - settings = { + 52F90959099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /usr/bin; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = broadcasterctl; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - DBDEE64707C435A6007A0296 = { - fileRef = DB5FB4CD07C4336500A894EA; - isa = PBXBuildFile; - settings = { + 52F9095B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = DSSALL; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - DBDEE64807C435A6007A0296 = { - fileRef = DB5FB4D107C4336500A894EA; - isa = PBXBuildFile; - settings = { + 52F9095C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = DSSALL; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - DBDEE64907C435A6007A0296 = { - fileRef = DB5FB4D207C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; - DBDEE64A07C435A6007A0296 = { - fileRef = DB5FB4D307C4336500A894EA; - isa = PBXBuildFile; - settings = { - }; - }; -//DB0 -//DB1 -//DB2 -//DB3 -//DB4 -//E90 -//E91 -//E92 -//E93 -//E94 - E9013524018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_arrow_down.gif; - path = WebAdmin/WebAdminHtml/images/scroll_arrow_down.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013525018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_arrow_up.gif; - path = WebAdmin/WebAdminHtml/images/scroll_arrow_up.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013526018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_bg.gif; - path = WebAdmin/WebAdminHtml/images/scroll_bg.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013527018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_bg_inactive.gif; - path = WebAdmin/WebAdminHtml/images/scroll_bg_inactive.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013528018645DE09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = scroll_thumb.gif; - path = WebAdmin/WebAdminHtml/images/scroll_thumb.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9013529018645DF09DD2838 = { - fileRef = E9013524018645DE09DD2838; - isa = PBXBuildFile; - settings = { + 52F9095D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = DSSALL; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - E901352A018645DF09DD2838 = { - fileRef = E9013525018645DE09DD2838; - isa = PBXBuildFile; - settings = { + 52F9095F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/bin; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = StreamingLoadTool; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - E901352B018645DF09DD2838 = { - fileRef = E9013526018645DE09DD2838; - isa = PBXBuildFile; - settings = { + 52F90960099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /usr/bin; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = StreamingLoadTool; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - E901352C018645DF09DD2838 = { - fileRef = E9013527018645DE09DD2838; - isa = PBXBuildFile; - settings = { + 52F90961099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /usr/bin; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = StreamingLoadTool; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - E901352D018645DF09DD2838 = { - fileRef = E9013528018645DE09DD2838; - isa = PBXBuildFile; - settings = { + 52F90963099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = StreamingServer; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - E9029E240188C0DA09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_start_playlist.gif; - path = WebAdmin/WebAdminHtml/images/icon_start_playlist.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9029E250188C0DB09DD2838 = { - fileRef = E9029E240188C0DA09DD2838; - isa = PBXBuildFile; - settings = { + 52F90964099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = s; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = StreamingServer; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - E9029E260188C10709DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_stop_playlist.gif; - path = WebAdmin/WebAdminHtml/images/icon_stop_playlist.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9029E270188C10809DD2838 = { - fileRef = E9029E260188C10709DD2838; - isa = PBXBuildFile; - settings = { + 52F90965099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = s; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = StreamingServer; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - E90CD037016133D009DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = sort_arrow_desc.gif; - path = WebAdmin/WebAdminHtml/images/sort_arrow_desc.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E90CD038016133D109DD2838 = { - fileRef = E90CD037016133D009DD2838; - isa = PBXBuildFile; - settings = { + 52F90967099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Applications/Server/; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = "QTSS Web Admin"; + SECTORDER_FLAGS = ""; + USE_GCC3_PFE_SUPPORT = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = app; + ZERO_LINK = YES; }; + name = Development; }; - E90CD039016133F209DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_error.gif; - path = WebAdmin/WebAdminHtml/images/icon_error.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E90CD03A016133F309DD2838 = { - fileRef = E90CD039016133F209DD2838; - isa = PBXBuildFile; - settings = { + 52F90968099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Applications/Server/; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = "QTSS Web Admin"; + SECTORDER_FLAGS = ""; + USE_GCC3_PFE_SUPPORT = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = app; + ZERO_LINK = NO; }; + name = Deployment; }; - E90CF1AB014FDE2709DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_mp3_password.html; - path = WebAdmin/WebAdminHtml/change_mp3_password.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E90CF1AC014FDE2809DD2838 = { - fileRef = E90CF1AB014FDE2709DD2838; - isa = PBXBuildFile; - settings = { + 52F90969099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Applications/Server/; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = "QTSS Web Admin"; + SECTORDER_FLAGS = ""; + USE_GCC3_PFE_SUPPORT = NO; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = app; }; + name = Default; }; - E924776E01C6CFD209DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = MapUTF.pl; - path = WebAdmin/WebAdminHtml/MapUTF.pl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E924776F01C6CFD309DD2838 = { - fileRef = E924776E01C6CFD209DD2838; - isa = PBXBuildFile; - settings = { + 52F9096B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = DSS_Generic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - E926569B0430ED4409DD2838 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chown -R 76:80 ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; - }; - E93941050291C82409DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = "password-utils.pl"; - path = "WebAdmin/WebAdminHtml/password-utils.pl"; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E93941060291C82509DD2838 = { - fileRef = E93941050291C82409DD2838; - isa = PBXBuildFile; - settings = { + 52F9096C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = DSS_Generic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - E93DD2F0027876B609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = users.html; - path = WebAdmin/WebAdminHtml/users.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E93DD2F1027876B709DD2838 = { - fileRef = E93DD2F0027876B609DD2838; - isa = PBXBuildFile; - settings = { + 52F9096D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = DSS_Generic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Default; }; - E9423B930146CCCF09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = relayxmlparser.pl; - path = WebAdmin/WebAdminHtml/relayxmlparser.pl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9423B940146CCD009DD2838 = { - fileRef = E9423B930146CCCF09DD2838; - isa = PBXBuildFile; - settings = { + 52F9096F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAccessModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - E957C41901454E2009DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = index.html; - path = WebAdmin/WebAdminHtml/index.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E957C41A01454E2109DD2838 = { - fileRef = E957C41901454E2009DD2838; - isa = PBXBuildFile; - settings = { + 52F90970099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-Os"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAccessModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - E95AB76D013AC8BF09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_password.html; - path = WebAdmin/WebAdminHtml/change_password.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E95AB76F013AC8C009DD2838 = { - fileRef = E95AB76D013AC8BF09DD2838; - isa = PBXBuildFile; - settings = { + 52F90971099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-Os"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAccessModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - E961241C0432443309DD2838 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R g+w ${DSTROOT}/Library/QuickTimeStreaming/AdminHtml"; - }; - E96314AC013B155309DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = log_settings.html; - path = WebAdmin/WebAdminHtml/log_settings.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E96314AD013B155309DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = ports.html; - path = WebAdmin/WebAdminHtml/ports.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E96314B0013B155409DD2838 = { - fileRef = E96314AC013B155309DD2838; - isa = PBXBuildFile; - settings = { + 52F90973099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - E96314B1013B155409DD2838 = { - fileRef = E96314AD013B155309DD2838; - isa = PBXBuildFile; - settings = { + 52F90974099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - E9686BA401B2D0D209DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant5.html; - path = WebAdmin/WebAdminHtml/setup_assistant5.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9686BA501B2D0D309DD2838 = { - fileRef = E9686BA401B2D0D209DD2838; - isa = PBXBuildFile; - settings = { + 52F90975099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFileModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - E978DC40017F827C09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = change_password_redirect.html; - path = WebAdmin/WebAdminHtml/change_password_redirect.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E978DC41017F827D09DD2838 = { - fileRef = E978DC40017F827C09DD2838; - isa = PBXBuildFile; - settings = { + 52F90977099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAccessLogModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - E97D18EC0150316E09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text; - name = genres; - path = WebAdmin/WebAdminHtml/html_en/genres; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E97D18ED0150316E09DD2838 = { - fileRef = E97D18EC0150316E09DD2838; - isa = PBXBuildFile; - settings = { + 52F90978099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAccessLogModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - E97F11EE04313E7C09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = start_broadcaster.html; - refType = 4; - sourceTree = ""; - }; - E97F11EF04313E7C09DD2838 = { - fileRef = E97F11EE04313E7C09DD2838; - isa = PBXBuildFile; - settings = { + 52F90979099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAccessLogModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - E97F11F004313E8A09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - path = restart_broadcaster.html; - refType = 4; - sourceTree = ""; - }; - E97F11F104313E8A09DD2838 = { - fileRef = E97F11F004313E8A09DD2838; - isa = PBXBuildFile; - settings = { + 52F9097B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSReflectorModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - E98933B602F6140609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.perl; - name = broadcaster_lib.pl; - path = WebAdmin/WebAdminHtml/broadcaster_lib.pl; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98933B702F6140609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = broadcaster_settings.html; - path = WebAdmin/WebAdminHtml/broadcaster_settings.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98933B802F6140609DD2838 = { - fileRef = E98933B602F6140609DD2838; - isa = PBXBuildFile; - settings = { + 52F9097C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSReflectorModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - E98933B902F6140609DD2838 = { - fileRef = E98933B702F6140609DD2838; - isa = PBXBuildFile; - settings = { + 52F9097D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSReflectorModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - E98FD95602F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - E98FD95702F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD96102F5BCF209DD2838, - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 52F9097F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFlowControlModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Development; }; - E98FD95802F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD97202F5BD9609DD2838, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 52F90980099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFlowControlModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; + }; + name = Deployment; }; - E98FD95902F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - E98FD97002F5BD6309DD2838, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 52F90981099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSFlowControlModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + }; + name = Default; }; - E98FD95A02F5BC3309DD2838 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; + 52F90983099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSWebDebugModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Development; }; - E98FD95B02F5BC3309DD2838 = { - buildPhases = ( - E98FD95602F5BC3309DD2838, - E98FD95702F5BC3309DD2838, - E98FD95802F5BC3309DD2838, - E98FD95902F5BC3309DD2838, - E98FD95A02F5BC3309DD2838, - ); + 52F90984099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; buildSettings = { - INSTALL_PATH = /Applications/Server/; - OTHER_CFLAGS = ""; + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = "QTSS Web Admin"; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSWebDebugModule; SECTORDER_FLAGS = ""; - USE_GCC3_PFE_SUPPORT = NO; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = app; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; - dependencies = ( - ); - isa = PBXApplicationTarget; - name = QTSSLinkApp; - productInstallPath = /Applications/Server/; - productName = QTSSLink; - productReference = E98FD95C02F5BC3309DD2838; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSS Web Admin - CFBundleGetInfoString - Executes the web admin on port 1220 - CFBundleIconFile - QTSS Admin app - CFBundleIdentifier - com.apple.qtss.linkapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QuickTime Streaming Server - CFBundlePackageType - APPL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - E98FD95C02F5BC3309DD2838 = { - explicitFileType = wrapper.application; - isa = PBXFileReference; - path = "QTSS Web Admin.app"; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - E98FD95E02F5BCA109DD2838 = { - children = ( - E98FD96002F5BCF209DD2838, - E98FD97102F5BD9609DD2838, - ); - isa = PBXGroup; - name = QTSSLinkApp; - refType = 4; - sourceTree = ""; - }; - E98FD96002F5BCF209DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.icns; - name = "QTSS Admin app.icns"; - path = "WebAdmin/QTSSLinkApp/QTSS Admin app.icns"; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98FD96102F5BCF209DD2838 = { - fileRef = E98FD96002F5BCF209DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD96A02F5BD6309DD2838 = { - isa = PBXFileReference; - lastKnownFileType = wrapper.framework; - name = Cocoa.framework; - path = /System/Library/Frameworks/Cocoa.framework; - refType = 0; - sourceTree = ""; - }; - E98FD97002F5BD6309DD2838 = { - fileRef = E98FD96A02F5BD6309DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FD97102F5BD9609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - name = qtsslinkapp_main.m; - path = WebAdmin/QTSSLinkApp/qtsslinkapp_main.m; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98FD97202F5BD9609DD2838 = { - fileRef = E98FD97102F5BD9609DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E98FF20A01860AAB09DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_generic.gif; - path = WebAdmin/WebAdminHtml/images/icon_generic.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E98FF20B01860AAC09DD2838 = { - fileRef = E98FF20A01860AAB09DD2838; - isa = PBXBuildFile; - settings = { - }; - }; - E9A7DCF2015180FB09FF1BBE = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = link.gif; - path = WebAdmin/WebAdminHtml/images/link.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9A7DCF3015180FB09FF1BBE = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = link_disabled.gif; - path = WebAdmin/WebAdminHtml/images/link_disabled.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9A7DCF4015180FC09FF1BBE = { - fileRef = E9A7DCF2015180FB09FF1BBE; - isa = PBXBuildFile; - settings = { - }; - }; - E9A7DCF5015180FC09FF1BBE = { - fileRef = E9A7DCF3015180FB09FF1BBE; - isa = PBXBuildFile; - settings = { - }; - }; - E9ACCA5C013C317B09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = error_log.html; - path = WebAdmin/WebAdminHtml/error_log.html; - refType = 2; - sourceTree = SOURCE_ROOT; + name = Deployment; }; - E9ACCA5D013C317C09DD2838 = { - fileRef = E9ACCA5C013C317B09DD2838; - isa = PBXBuildFile; - settings = { + 52F90985099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSWebDebugModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - E9ACCA5E013C52EB09DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = access_log.html; - path = WebAdmin/WebAdminHtml/access_log.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9ACCA5F013C52EC09DD2838 = { - fileRef = E9ACCA5E013C52EB09DD2838; - isa = PBXBuildFile; - settings = { + 52F90987099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSPosixFileSysModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - E9BA8EEF027A14D009DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_user.gif; - path = WebAdmin/WebAdminHtml/images/icon_user.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9BA8EF0027A14D109DD2838 = { - fileRef = E9BA8EEF027A14D009DD2838; - isa = PBXBuildFile; - settings = { + 52F90988099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSPosixFileSysModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - E9BA8EF1027A14D909DD2838 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_group.gif; - path = WebAdmin/WebAdminHtml/images/icon_group.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9BA8EF2027A14DA09DD2838 = { - fileRef = E9BA8EF1027A14D909DD2838; - isa = PBXBuildFile; - settings = { + 52F90989099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSPosixFileSysModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - E9E2F95501C9716509DD2838 = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.javascript; - name = encode_unicode.js; - path = WebAdmin/WebAdminHtml/includes/encode_unicode.js; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9E2F95601C9716609DD2838 = { - fileRef = E9E2F95501C9716509DD2838; - isa = PBXBuildFile; - settings = { + 52F9098B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAdminModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - E9E7E9C4016BDDD509DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = start_server.html; - path = WebAdmin/WebAdminHtml/start_server.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9E7E9C5016BDDD609DD2838 = { - fileRef = E9E7E9C4016BDDD509DD2838; - isa = PBXBuildFile; - settings = { + 52F9098C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAdminModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; }; + name = Deployment; }; - E9EC923C0137107609DD2838 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = general_settings.html; - path = WebAdmin/WebAdminHtml/general_settings.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - E9EC923E0137107709DD2838 = { - fileRef = E9EC923C0137107609DD2838; - isa = PBXBuildFile; - settings = { + 52F9098D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /Library/QuickTimeStreaming/Modules; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSAdminModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; -//E90 -//E91 -//E92 -//E93 -//E94 -//F50 -//F51 -//F52 -//F53 -//F54 - F50ACCCF037E597A017C358E = { - isa = PBXTargetDependency; - target = 008788DE026B412B00DD2B4C; - targetProxy = FB0D1DD8064AFB71006F2774; - }; - F50DFC10025357EB01F41924 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = SDPUtils.cpp; - refType = 4; - sourceTree = ""; - }; - F50DFC11025357EB01F41924 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SDPUtils.h; - refType = 4; - sourceTree = ""; - }; - F50DFC12025357EB01F41924 = { - fileRef = F50DFC11025357EB01F41924; - isa = PBXBuildFile; - settings = { + 52F9098F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_All_Dynamic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; }; + name = Development; }; - F50DFC13025357EB01F41924 = { - fileRef = F50DFC10025357EB01F41924; - isa = PBXBuildFile; - settings = { + 52F90990099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = APIModules_All_Dynamic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; }; + name = Deployment; }; - F51C62E30279D3BC01DD2AFC = { - buildPhases = ( - ); + 52F90991099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; buildSettings = { OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; OTHER_REZFLAGS = ""; - PRODUCT_NAME = Libraries; + PRODUCT_NAME = APIModules_All_Dynamic; SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; - dependencies = ( - F51C62E40279D3BC01DD2AFC, - F51C62E50279D3BC01DD2AFC, - F51C62E60279D3BC01DD2AFC, - F51C62E70279D3BC01DD2AFC, - F51C62E80279D3BC01DD2AFC, - F51C62E90279D3BC01DD2AFC, - F51C62EA0279D3BC01DD2AFC, - F51C62EB0279D3BC01DD2AFC, - 00A90E34029ECF7E00DD2B4C, - F51C62EC0279D3BC01DD2AFC, - F51C62ED0279D3BC01DD2AFC, - F51C62EE0279D3BC01DD2AFC, - F51C62EF0279D3BC01DD2AFC, - F57EED51027EA7E001FF7AB9, - F57EED52027EA7E001FF7AB9, - ); - isa = PBXAggregateTarget; - name = Libraries; - productName = Libraries; - }; - F51C62E40279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C3987300C567B77F000001; - targetProxy = FB0D1D49064AFB71006F2774; - }; - F51C62E50279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1D48064AFB71006F2774; - }; - F51C62E60279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - targetProxy = FB0D1D47064AFB71006F2774; - }; - F51C62E70279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D46064AFB71006F2774; - }; - F51C62E80279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399F500C567B77F000001; - targetProxy = FB0D1D45064AFB71006F2774; - }; - F51C62E90279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1D44064AFB71006F2774; - }; - F51C62EA0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C398E000C567B77F000001; - targetProxy = FB0D1D43064AFB71006F2774; - }; - F51C62EB0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399D800C567B77F000001; - targetProxy = FB0D1D42064AFB71006F2774; - }; - F51C62EC0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A0900C567B77F000001; - targetProxy = FB0D1D40064AFB71006F2774; - }; - F51C62ED0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C399C900C567B77F000001; - targetProxy = FB0D1D3F064AFB71006F2774; - }; - F51C62EE0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A0000C567B77F000001; - targetProxy = FB0D1D3E064AFB71006F2774; - }; - F51C62EF0279D3BC01DD2AFC = { - isa = PBXTargetDependency; - target = 68C39A4700C567B77F000001; - targetProxy = FB0D1D3D064AFB71006F2774; - }; - F52E386C0279D4DA01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D1C064AFB71006F2774; - }; - F52E386D0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D7A064AFB71006F2774; - }; - F52E386E0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCD064AFB71006F2774; - }; - F52E386F0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D34064AFB71006F2774; - }; - F52E38700279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCF064AFB71006F2774; - }; - F52E38710279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D75064AFB71006F2774; - }; - F52E38720279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCB064AFB71006F2774; - }; - F52E38730279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D2C064AFB71006F2774; - }; - F52E38740279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D7B064AFB71006F2774; - }; - F52E38750279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DBB064AFB71006F2774; - }; - F52E38760279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D24064AFB71006F2774; - }; - F52E38770279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D5E064AFB71006F2774; - }; - F52E38780279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DA7064AFB71006F2774; - }; - F52E38790279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D1D064AFB71006F2774; + name = Default; }; - F52E387A0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D6B064AFB71006F2774; - }; - F52E387B0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D79064AFB71006F2774; - }; - F52E387C0279D50701DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D33064AFB71006F2774; - }; - F52E387D0279D53D01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D59064AFB71006F2774; - }; - F52E387E0279D53D01DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCC064AFB71006F2774; - }; - F52E387F0279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D50064AFB71006F2774; - }; - F52E38800279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DB8064AFB71006F2774; - }; - F52E38810279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D58064AFB71006F2774; - }; - F52E38820279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DA4064AFB71006F2774; - }; - F52E38840279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D6C064AFB71006F2774; - }; - F52E38850279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DD9064AFB71006F2774; - }; - F52E38880279D55801DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DCE064AFB71006F2774; - }; - F52E38890279D57301DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1D26064AFB71006F2774; - }; - F52E388B0279D59101DD2AFC = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DA8064AFB71006F2774; - }; - F532558B0288434401DD2B50 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = QTSSMemoryDeleter.h; - refType = 4; - sourceTree = ""; - }; - F532558C0288434401DD2B50 = { - fileRef = F532558B0288434401DD2B50; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA8B011744B601DD292F = { - children = ( - F533DA8C011744B601DD292F, - F533DA8D011744B601DD292F, - F533DA8E011744B601DD292F, - F533DA8F011744B601DD292F, - F533DA90011744B601DD292F, - F533DA91011744B601DD292F, - F533DA92011744B601DD292F, - F533DA93011744B601DD292F, - F533DA94011744B601DD292F, - ); - isa = PBXGroup; - path = MP3Broadcaster; - refType = 4; - sourceTree = ""; - }; - F533DA8C011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = BroadcasterMain.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA8D011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3Broadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA8E011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3Broadcaster.h; - refType = 4; - sourceTree = ""; - }; - F533DA8F011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3BroadcasterLog.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA90011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3BroadcasterLog.h; - refType = 4; - sourceTree = ""; - }; - F533DA91011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3FileBroadcaster.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA92011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3FileBroadcaster.h; - refType = 4; - sourceTree = ""; - }; - F533DA93011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - path = MP3MetaInfoUpdater.cpp; - refType = 4; - sourceTree = ""; - }; - F533DA94011744B601DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = MP3MetaInfoUpdater.h; - refType = 4; - sourceTree = ""; - }; - F533DA95011744B601DD292F = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = MP3Broadcaster; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F533DA97011744B701DD292F = { - buildPhases = ( - F533DA9C011744B701DD292F, - F533DAA1011744B701DD292F, - F533DAAA011744B701DD292F, - F533DAB1011744B701DD292F, - ); - buildSettings = { - INSTALL_PATH = /usr/bin; - OTHER_CFLAGS = "-D__MacOSX__ -D__USE_MAX_PRINTF__"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = MP3Broadcaster; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F533DAC5011745E201DD292F, - F533DA99011744B701DD292F, - F533DA9A011744B701DD292F, - F533DA9B011744B701DD292F, - ); - isa = PBXToolTarget; - name = MP3Broadcaster; - productInstallPath = /usr/bin; - productName = MP3Broadcaster; - productReference = F533DA95011744B601DD292F; - }; - F533DA99011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C3987F00C567B77F000001; - targetProxy = FB0D1D60064AFB71006F2774; - }; - F533DA9A011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C399C100C567B77F000001; - targetProxy = FB0D1DBD064AFB71006F2774; - }; - F533DA9B011744B701DD292F = { - isa = PBXTargetDependency; - target = 68C399EA00C567B77F000001; - targetProxy = FB0D1DD0064AFB71006F2774; - }; - F533DA9C011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DA9D011744B701DD292F, - F533DA9E011744B701DD292F, - F533DA9F011744B701DD292F, - F533DAA0011744B701DD292F, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DA9D011744B701DD292F = { - fileRef = F533DA8E011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA9E011744B701DD292F = { - fileRef = F533DA90011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DA9F011744B701DD292F = { - fileRef = F533DA92011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA0011744B701DD292F = { - fileRef = F533DA94011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA1011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DAA2011744B701DD292F, - F533DAA3011744B701DD292F, - F533DAA4011744B701DD292F, - F533DAA5011744B701DD292F, - F533DAA6011744B701DD292F, - F533DAA7011744B701DD292F, - F533DAA8011744B701DD292F, - F533DAA9011744B701DD292F, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAA2011744B701DD292F = { - fileRef = F533DA8C011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA3011744B701DD292F = { - fileRef = F533DA8D011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA4011744B701DD292F = { - fileRef = F533DA8F011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA5011744B701DD292F = { - fileRef = F533DA91011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA6011744B701DD292F = { - fileRef = F533DA93011744B601DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA7011744B701DD292F = { - fileRef = 68C392C000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA8011744B701DD292F = { - fileRef = 68C392C100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAA9011744B701DD292F = { - fileRef = 68C392C700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAA011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - F533DAAC011744B701DD292F, - F57EED5F027EA94401FF7AB9, - F533DAAD011744B701DD292F, - F533DAAE011744B701DD292F, - F533DAAF011744B701DD292F, - F5EB63B2011F4A8F01DD292F, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAAC011744B701DD292F = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAD011744B701DD292F = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAE011744B701DD292F = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAAF011744B701DD292F = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F533DAB1011744B701DD292F = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F533DAC5011745E201DD292F = { - isa = PBXTargetDependency; - target = 68C39A3600C567B77F000001; - targetProxy = FB0D1D97064AFB71006F2774; - }; - F54D303D027FCAD101000102 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - targetProxy = FB0D1DD4064AFB71006F2774; - }; - F54D303E027FCAD101000102 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - targetProxy = FB0D1D19064AFB71006F2774; - }; - F551E69C013818ED01000102 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = confirm.html; - path = WebAdmin/WebAdminHtml/confirm.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F551E69E0138190801000102 = { - fileRef = F551E69C013818ED01000102; - isa = PBXBuildFile; - settings = { - }; - }; - F5610DA501B5C81301DD2F6B = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = dialog_side.gif; - path = WebAdmin/WebAdminHtml/images/dialog_side.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5610DA601B5C81501DD2F6B = { - fileRef = F5610DA501B5C81301DD2F6B; - isa = PBXBuildFile; - settings = { - }; - }; - F568F9780254EE28010001C8 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = nav_logo_small.gif; - path = WebAdmin/WebAdminHtml/images/nav_logo_small.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F568F9790254EE29010001C8 = { - fileRef = F568F9780254EE28010001C8; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2D0278791501DD2AFC = { - fileRef = 68C3950C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2E0278791501DD2AFC = { - fileRef = 68C3950D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A2F0278791501DD2AFC = { - fileRef = 68C3950F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A300278791501DD2AFC = { - fileRef = 68C3951000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A310278791501DD2AFC = { - fileRef = 68C3951100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A320278791501DD2AFC = { - fileRef = 68C3951200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A330278791501DD2AFC = { - fileRef = 68C3951300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A340278791501DD2AFC = { - fileRef = 68C3951400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A350278791501DD2AFC = { - fileRef = 68C3951500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A360278791501DD2AFC = { - fileRef = 68C3951600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A370278791501DD2AFC = { - fileRef = 68C3951700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A380278791501DD2AFC = { - fileRef = 0066F5CF016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A390278791501DD2AFC = { - fileRef = 68C3950000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3A0278791501DD2AFC = { - fileRef = 68C3950100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3B0278791501DD2AFC = { - fileRef = 68C3950300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3C0278791501DD2AFC = { - fileRef = 68C3950400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3D0278791501DD2AFC = { - fileRef = 68C3950500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3E0278791501DD2AFC = { - fileRef = 68C3950600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A3F0278791501DD2AFC = { - fileRef = 68C3950700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A400278791501DD2AFC = { - fileRef = 68C3950800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A410278791501DD2AFC = { - fileRef = 68C3950900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A420278791501DD2AFC = { - fileRef = 68C3950A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A430278791501DD2AFC = { - fileRef = 0066F5CE016E6AD000DD2B4C; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A440278791501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A450278791501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A460278791501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A470278791501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A480278791501DD2AFC = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A490278796A01DD2AFC = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4A0278796A01DD2AFC = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4D02787A6901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4E02787A7F01DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A4F02787A9501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5002787AF101DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5102787AF101DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5202787AF901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A5302787B0101DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A600278ADD701DD2AFC = { - explicitFileType = "compiled.mach-o.executable"; - isa = PBXFileReference; - path = QuickTimeStreamingServer; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F56B5A610278ADD701DD2AFC = { - buildPhases = ( - F56B5A620278ADD701DD2AFC, - F56B5A630278ADD701DD2AFC, - F56B5A640278ADD701DD2AFC, - F56B5ABF0278B00A01DD2AFC, - F56B5AC20278B00A01DD2AFC, - F56B5AC70278B00A01DD2AFC, - F56B5AC80278B00A01DD2AFC, - F56B5AC90278B00A01DD2AFC, - F56B5ACA0278B00A01DD2AFC, - F56B5ACB0278B00A01DD2AFC, - F56B5ACC0278B00A01DD2AFC, - F56B5ACD0278B00A01DD2AFC, - ); + 52F90993099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; INSTALL_PATH = /usr/sbin; - OTHER_CFLAGS = "-DDSS_DYNAMIC_MODULES_ONLY -DDSS_STREAMING_SERVER -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_DYNAMIC_MODULES_ONLY", + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); OTHER_REZFLAGS = ""; PREFIX_HEADER = PlatformHeader.h; PRODUCT_NAME = QuickTimeStreamingServer; REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F52E38890279D57301DD2AFC, - ); - isa = PBXToolTarget; - name = Server_No_Modules; - productInstallPath = /usr/sbin; - productName = Server_No_Modules; - productReference = F56B5A600278ADD701DD2AFC; - }; - F56B5A620278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A720278AF2501DD2AFC, - F56B5A730278AF2501DD2AFC, - F56B5A740278AF2501DD2AFC, - F56B5A750278AF2501DD2AFC, - F56B5A760278AF2501DD2AFC, - F56B5A770278AF2501DD2AFC, - F56B5A780278AF2501DD2AFC, - F56B5A790278AF2501DD2AFC, - F56B5A7A0278AF2501DD2AFC, - F56B5A7B0278AF2501DD2AFC, - F56B5A7C0278AF2501DD2AFC, - F56B5A7D0278AF2501DD2AFC, - F56B5A7E0278AF2501DD2AFC, - F56B5A7F0278AF2501DD2AFC, - F56B5A800278AF2501DD2AFC, - F56B5A810278AF2501DD2AFC, - F56B5A820278AF2501DD2AFC, - F56B5A830278AF2501DD2AFC, - F56B5A840278AF2501DD2AFC, - F56B5A850278AF2501DD2AFC, - F56B5A860278AF2501DD2AFC, - F56B5A870278AF2501DD2AFC, - F56B5A880278AF2501DD2AFC, - F56B5A890278AF2501DD2AFC, - F56B5A8A0278AF2501DD2AFC, - F56B5A8B0278AF2501DD2AFC, - F56B5A8C0278AF2501DD2AFC, - F56B5A8D0278AF2501DD2AFC, - F56B5A8E0278AF2501DD2AFC, - F56B5A8F0278AF2501DD2AFC, - F56B5A900278AF2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A630278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A920278AF2501DD2AFC, - F56B5A930278AF2501DD2AFC, - F56B5A940278AF2501DD2AFC, - F56B5A950278AF2501DD2AFC, - F56B5A960278AF2501DD2AFC, - F56B5A970278AF2501DD2AFC, - F56B5A980278AF2501DD2AFC, - F56B5A990278AF2501DD2AFC, - F56B5A9A0278AF2501DD2AFC, - F56B5A9B0278AF2501DD2AFC, - F56B5A9C0278AF2501DD2AFC, - F56B5A9D0278AF2501DD2AFC, - F56B5A9E0278AF2501DD2AFC, - F56B5A9F0278AF2501DD2AFC, - F56B5AA00278AF2501DD2AFC, - F56B5AA10278AF2501DD2AFC, - F56B5AA20278AF2501DD2AFC, - F56B5AA30278AF2501DD2AFC, - F56B5AA40278AF2501DD2AFC, - F56B5AA50278AF2501DD2AFC, - F56B5AA60278AF2501DD2AFC, - F56B5AA70278AF2501DD2AFC, - F56B5AA80278AF2501DD2AFC, - F56B5AA90278AF2501DD2AFC, - F56B5AAA0278AF2501DD2AFC, - F56B5AAB0278AF2501DD2AFC, - F56B5AAC0278AF2501DD2AFC, - F56B5AAD0278AF2501DD2AFC, - F56B5AAE0278AF2501DD2AFC, - F56B5AAF0278AF2501DD2AFC, - F56B5AB00278AF2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A640278ADD701DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5AB30278AF2501DD2AFC, - F56B5AB40278AF2501DD2AFC, - F56B5AB50278AF2501DD2AFC, - F56B5AB60278AF2501DD2AFC, - F56B5AB70278AF2501DD2AFC, - F56B5AB80278AF2501DD2AFC, - F56B5AB90278AF2501DD2AFC, - F56B5ABA0278AF2501DD2AFC, - F56B5ABB0278AF2501DD2AFC, - F56B5ABC0278AF2501DD2AFC, - F56B5ABD0278AF2501DD2AFC, - F56B5ABE0278AF2501DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F56B5A720278AF2501DD2AFC = { - fileRef = 68C3929600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A730278AF2501DD2AFC = { - fileRef = 68C3929700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A740278AF2501DD2AFC = { - fileRef = 68C3929800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A750278AF2501DD2AFC = { - fileRef = 68C3929900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A760278AF2501DD2AFC = { - fileRef = 68C3929A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A770278AF2501DD2AFC = { - fileRef = 68C3929B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A780278AF2501DD2AFC = { - fileRef = 68C3929C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A790278AF2501DD2AFC = { - fileRef = 68C3929D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7A0278AF2501DD2AFC = { - fileRef = 68C3929E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7B0278AF2501DD2AFC = { - fileRef = 68C3929F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7C0278AF2501DD2AFC = { - fileRef = 68C392A000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7D0278AF2501DD2AFC = { - fileRef = 68C392A100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7E0278AF2501DD2AFC = { - fileRef = 68C392A200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A7F0278AF2501DD2AFC = { - fileRef = 68C392A300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A800278AF2501DD2AFC = { - fileRef = 68C392A400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A810278AF2501DD2AFC = { - fileRef = 68C392A500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A820278AF2501DD2AFC = { - fileRef = 68C392A600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A830278AF2501DD2AFC = { - fileRef = 68C392A700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A840278AF2501DD2AFC = { - fileRef = 68C392A800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A850278AF2501DD2AFC = { - fileRef = 68C392A900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A860278AF2501DD2AFC = { - fileRef = 68C392AA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A870278AF2501DD2AFC = { - fileRef = 68C392AB00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A880278AF2501DD2AFC = { - fileRef = 68C392AC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A890278AF2501DD2AFC = { - fileRef = 68C392AD00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8A0278AF2501DD2AFC = { - fileRef = 68C392AE00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8B0278AF2501DD2AFC = { - fileRef = 68C392AF00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8C0278AF2501DD2AFC = { - fileRef = 68C392B000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8D0278AF2501DD2AFC = { - fileRef = 68C392B100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8E0278AF2501DD2AFC = { - fileRef = 68C392B200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A8F0278AF2501DD2AFC = { - fileRef = 68C392B300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A900278AF2501DD2AFC = { - fileRef = 68C392B400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A920278AF2501DD2AFC = { - fileRef = 68C3927500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A930278AF2501DD2AFC = { - fileRef = 68C3927600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A940278AF2501DD2AFC = { - fileRef = 68C3927700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A950278AF2501DD2AFC = { - fileRef = 68C3927800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A960278AF2501DD2AFC = { - fileRef = 68C3927900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A970278AF2501DD2AFC = { - fileRef = 68C3927A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A980278AF2501DD2AFC = { - fileRef = 68C3927B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A990278AF2501DD2AFC = { - fileRef = 68C3927C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9A0278AF2501DD2AFC = { - fileRef = 68C3927D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9B0278AF2501DD2AFC = { - fileRef = 68C3927E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9C0278AF2501DD2AFC = { - fileRef = 68C3927F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9D0278AF2501DD2AFC = { - fileRef = 68C3928000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9E0278AF2501DD2AFC = { - fileRef = 68C3928100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5A9F0278AF2501DD2AFC = { - fileRef = 68C3928200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA00278AF2501DD2AFC = { - fileRef = 68C3928300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA10278AF2501DD2AFC = { - fileRef = 68C3928400C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA20278AF2501DD2AFC = { - fileRef = 68C3928500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA30278AF2501DD2AFC = { - fileRef = 68C3928600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA40278AF2501DD2AFC = { - fileRef = 68C3928700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA50278AF2501DD2AFC = { - fileRef = 68C3928800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA60278AF2501DD2AFC = { - fileRef = 68C3928900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA70278AF2501DD2AFC = { - fileRef = 68C3928A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA80278AF2501DD2AFC = { - fileRef = 68C3928B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AA90278AF2501DD2AFC = { - fileRef = 68C3928C00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAA0278AF2501DD2AFC = { - fileRef = 68C3928D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAB0278AF2501DD2AFC = { - fileRef = 68C3928E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAC0278AF2501DD2AFC = { - fileRef = 68C3928F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAD0278AF2501DD2AFC = { - fileRef = 68C3929000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAE0278AF2501DD2AFC = { - fileRef = 68C3929100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AAF0278AF2501DD2AFC = { - fileRef = 68C3929200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB00278AF2501DD2AFC = { - fileRef = 68C3929300C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB30278AF2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB40278AF2501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB50278AF2501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB60278AF2501DD2AFC = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB70278AF2501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB80278AF2501DD2AFC = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AB90278AF2501DD2AFC = { - fileRef = 68C396AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABA0278AF2501DD2AFC = { - fileRef = 68C396B100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABB0278AF2501DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABC0278AF2501DD2AFC = { - fileRef = 68C396B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABD0278AF2501DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABE0278AF2501DD2AFC = { - fileRef = 68C396B700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5ABF0278B00A01DD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Config; - dstSubfolderSpec = 0; - files = ( - F56B5AC00278B00A01DD2AFC, - F56B5AC10278B00A01DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - F56B5AC00278B00A01DD2AFC = { - fileRef = 68C3920E00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC10278B00A01DD2AFC = { - fileRef = 005B0878013B079200DD292F; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC20278B00A01DD2AFC = { - buildActionMask = 8; - dstPath = /Library/QuickTimeStreaming/Movies; - dstSubfolderSpec = 0; - files = ( - F56B5AC30278B00A01DD2AFC, - F56B5AC50278B00A01DD2AFC, - F56B5AC60278B00A01DD2AFC, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - }; - F56B5AC30278B00A01DD2AFC = { - fileRef = 0082672B01A2F39A00DD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC50278B00A01DD2AFC = { - fileRef = 61B89716017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC60278B00A01DD2AFC = { - fileRef = 61B89717017F4FDD0EDD2AFC; - isa = PBXBuildFile; - settings = { - }; - }; - F56B5AC70278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Logs"; - }; - F56B5AC80278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - F56B5AC90278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 0777 ${DSTROOT}/Library/QuickTimeStreaming/Playlists"; - }; - F56B5ACA0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "mkdir -p ${DSTROOT}/Library/QuickTimeStreaming/Modules"; - }; - F56B5ACB0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "cp ${SRCROOT}/streamingserver.xml ${DSTROOT}/Library/QuickTimeStreaming/Config/streamingserver.xml-sample"; - }; - F56B5ACC0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chgrp -R admin ${DSTROOT}/Library/QuickTimeStreaming"; - }; - F56B5ACD0278B00A01DD2AFC = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod -R ug+w ${DSTROOT}/Library/QuickTimeStreaming\t"; - }; - F56CBE630136D97301000102 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = weight_up_arrow.gif; - path = WebAdmin/WebAdminHtml/images/weight_up_arrow.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F56CBE640136D97301000102 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = wieght_down_arrow.gif; - path = WebAdmin/WebAdminHtml/images/wieght_down_arrow.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F56CBE670136D97301000102 = { - fileRef = F56CBE630136D97301000102; - isa = PBXBuildFile; - settings = { - }; - }; - F56CBE680136D97301000102 = { - fileRef = F56CBE640136D97301000102; - isa = PBXBuildFile; - settings = { - }; - }; - F56EA4BE0199D17E0100010F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_status.html; - path = WebAdmin/WebAdminHtml/relay_status.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F56EA4BF0199D1800100010F = { - fileRef = F56EA4BE0199D17E0100010F; - isa = PBXBuildFile; - settings = { - }; - }; - F574E248015FE06F01000127 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = playlist_error_log.html; - path = WebAdmin/WebAdminHtml/playlist_error_log.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F574E249015FE07001000127 = { - fileRef = F574E248015FE06F01000127; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED22027E9E1101FF7AB9 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libSafeInternalStdLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F57EED23027E9E1101FF7AB9 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libSafeDynamicModuleStdLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F57EED24027E9E1201FF7AB9 = { - buildPhases = ( - F57EED25027E9E1201FF7AB9, - F57EED26027E9E1201FF7AB9, - F57EED27027E9E1201FF7AB9, - F57EED28027E9E1201FF7AB9, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libSafeInternalStdLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "SafeInternalStdLib (Library)"; - productInstallPath = /usr/local/lib; - productName = SafeInternalStdLib; - productReference = F57EED22027E9E1101FF7AB9; - }; - F57EED25027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED38027E9FF201FF7AB9, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED26027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED33027E9EDE01FF7AB9, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED27027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED28027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED29027E9E1201FF7AB9 = { - buildPhases = ( - F57EED2A027E9E1201FF7AB9, - F57EED2B027E9E1201FF7AB9, - F57EED2C027E9E1201FF7AB9, - F57EED2D027E9E1201FF7AB9, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libSafeDynamicModuleStdLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "SafeDynamicModuleStdLib (Library)"; - productInstallPath = /usr/local/lib; - productName = SafeDynamicModuleStdLib; - productReference = F57EED23027E9E1101FF7AB9; - }; - F57EED2A027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED37027E9FD601FF7AB9, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2B027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - F57EED34027E9EDE01FF7AB9, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2C027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2D027E9E1201FF7AB9 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F57EED2E027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SafeStdLib.h; - refType = 4; - sourceTree = ""; - }; - F57EED2F027E9EDD01FF7AB9 = { - children = ( - F57EED30027E9EDD01FF7AB9, - F57EED31027E9EDD01FF7AB9, - ); - isa = PBXGroup; - name = SafeStdLib; - path = ""; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F57EED30027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = DynamicModuleStdLib.cpp; - path = SafeStdLib/DynamicModuleStdLib.cpp; - refType = 4; - sourceTree = ""; - }; - F57EED31027E9EDD01FF7AB9 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = InternalStdLib.cpp; - path = SafeStdLib/InternalStdLib.cpp; - refType = 4; - sourceTree = ""; - }; - F57EED33027E9EDE01FF7AB9 = { - fileRef = F57EED31027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED34027E9EDE01FF7AB9 = { - fileRef = F57EED30027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED37027E9FD601FF7AB9 = { - fileRef = F57EED2E027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED38027E9FF201FF7AB9 = { - fileRef = F57EED2E027E9EDD01FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED39027EA0B001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - targetProxy = FB0D1D92064AFB71006F2774; - }; - F57EED3A027EA0B001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - targetProxy = FB0D1D91064AFB71006F2774; - }; - F57EED3F027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED40027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED41027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED42027EA24601FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED43027EA28201FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED44027EA28201FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED45027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED46027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED47027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED48027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED49027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4A027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4B027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4C027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4D027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4E027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED4F027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED50027EA3AB01FF7AB9 = { - fileRef = F57EED23027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED51027EA7E001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED24027E9E1201FF7AB9; - targetProxy = FB0D1D3C064AFB71006F2774; - }; - F57EED52027EA7E001FF7AB9 = { - isa = PBXTargetDependency; - target = F57EED29027E9E1201FF7AB9; - targetProxy = FB0D1D3B064AFB71006F2774; - }; - F57EED53027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED54027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED56027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED57027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED58027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED59027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5A027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5B027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5C027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5D027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5E027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED5F027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED60027EA94401FF7AB9 = { - fileRef = F57EED22027E9E1101FF7AB9; - isa = PBXBuildFile; - settings = { - }; - }; - F57EED61027EBA8101FF7AB9 = { - isa = PBXTargetDependency; - target = F51C62E30279D3BC01DD2AFC; - targetProxy = FB0D1DC3064AFB71006F2774; - }; - F596A33B019319300189D339 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = nav_help.gif; - path = WebAdmin/WebAdminHtml/images/nav_help.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F596A33C019319320189D339 = { - fileRef = F596A33B019319300189D339; - isa = PBXBuildFile; - settings = { - }; - }; - F59F642C01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_targets.html; - path = WebAdmin/WebAdminHtml/relay_targets.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F642D01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_details_default.html; - path = WebAdmin/WebAdminHtml/relay_details_default.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F642E01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay_details.html; - path = WebAdmin/WebAdminHtml/relay_details.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F642F01449BDF01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = relay.html; - path = WebAdmin/WebAdminHtml/relay.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F643001449BE001000104 = { - fileRef = F59F642C01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643101449BE001000104 = { - fileRef = F59F642D01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643201449BE001000104 = { - fileRef = F59F642E01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F643301449BE001000104 = { - fileRef = F59F642F01449BDF01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64340144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant2.html; - path = WebAdmin/WebAdminHtml/setup_assistant2.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F64350144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant3.html; - path = WebAdmin/WebAdminHtml/setup_assistant3.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F64360144BCEA01000104 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.html; - name = setup_assistant4.html; - path = WebAdmin/WebAdminHtml/setup_assistant4.html; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F59F64370144BCEB01000104 = { - fileRef = F59F64340144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64380144BCEB01000104 = { - fileRef = F59F64350144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F59F64390144BCEB01000104 = { - fileRef = F59F64360144BCEA01000104; - isa = PBXBuildFile; - settings = { - }; - }; - F5C07FA60415973001DD2E7A = { - isa = PBXFileReference; - lastKnownFileType = wrapper.framework; - name = Security.framework; - path = /System/Library/Frameworks/Security.framework; - refType = 0; - sourceTree = ""; - }; - F5C080B70415983101DD2E7A = { - fileRef = F5C07FA60415973001DD2E7A; - isa = PBXBuildFile; - settings = { - }; - }; - F5C3E6EB017CFE24010001C8 = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = icon_doc.gif; - path = WebAdmin/WebAdminHtml/images/icon_doc.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5C3E6EC017CFE25010001C8 = { - fileRef = F5C3E6EB017CFE24010001C8; - isa = PBXBuildFile; - settings = { - }; - }; - F5C7F02601B6CE3401DD2F6B = { - isa = PBXFileReference; - lastKnownFileType = image.gif; - name = nav_logo.gif; - path = WebAdmin/WebAdminHtml/images/nav_logo.gif; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5C7F02701B6CE3601DD2F6B = { - fileRef = F5C7F02601B6CE3401DD2F6B; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D0D027758E801DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSAccessModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D0E027758E801DD2AFC = { - buildPhases = ( - F5E91D0F027758E801DD2AFC, - F5E91D10027758E801DD2AFC, - F5E91D11027758E801DD2AFC, - F5E91D12027758E801DD2AFC, - F5E91D13027758E801DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OPTIMIZATION_CFLAGS = "-Os"; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAccessModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E386C0279D4DA01DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAccessModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAccessModule.bundle; - productReference = F5E91D0D027758E801DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAccessModule - CFBundleGetInfoString - Suppors qtaccess-style authorization - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.accessmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAccessModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D0F027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1402775AB101DD2AFC, - F5E91D1502775AB101DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D10027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D11027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1602775AB101DD2AFC, - F5E91D1702775AB101DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D12027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D1902775AB101DD2AFC, - F57EED4A027EA3AB01FF7AB9, - F56B5A4E02787A7F01DD2AFC, - F56B5A4F02787A9501DD2AFC, - F5E91DF0027868CE01DD2AFC, - F56B5A4D02787A6901DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D13027758E801DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D1402775AB101DD2AFC = { - fileRef = 68C395B000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1502775AB101DD2AFC = { - fileRef = 68C395AF00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1602775AB101DD2AFC = { - fileRef = 68C395AD00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1702775AB101DD2AFC = { - fileRef = 68C395AC00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1902775AB101DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D1F02775B5D01DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D2002775B5E01DD2AFC = { - buildPhases = ( - F5E91D2102775B5E01DD2AFC, - F5E91D2302775B5E01DD2AFC, - F5E91D2402775B5E01DD2AFC, - F5E91D2602775B5E01DD2AFC, - F5E91D2E02775B5E01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38730279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSFileModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSFileModule.bundle; - productReference = F5E91D1F02775B5D01DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFileModule - CFBundleGetInfoString - QTSSFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.filemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D2102775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2202775B5E01DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2202775B5E01DD2AFC = { - fileRef = 68C394F700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2302775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2402775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2502775B5E01DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2502775B5E01DD2AFC = { - fileRef = 68C394F500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2602775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D2802775B5E01DD2AFC, - F57EED4B027EA3AB01FF7AB9, - F5E91DF702786AB101DD2AFC, - F5E91DFA02786B0701DD2AFC, - F5E91DF802786AF601DD2AFC, - F5E91DFB02786B0F01DD2AFC, - F5E91DF902786AFF01DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2802775B5E01DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D2E02775B5E01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D2F02775C5601DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSAccessLogModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D3002775C5601DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSReflectorModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D3102775C5601DD2AFC = { - buildPhases = ( - F5E91D3202775C5601DD2AFC, - F5E91D3402775C5601DD2AFC, - F5E91D3502775C5601DD2AFC, - F5E91D3702775C5601DD2AFC, - F5E91D3F02775C5601DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAccessLogModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38740279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAccessLogModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAccessLogModule.bundle; - productReference = F5E91D2F02775C5601DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAccessLogModule - CFBundleGetInfoString - QTSSAccessLogModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.accesslogmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAccessLogModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D3202775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3302775C5601DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3302775C5601DD2AFC = { - fileRef = 68C394EC00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3402775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3502775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3602775C5601DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3602775C5601DD2AFC = { - fileRef = 68C394EA00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3702775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D3902775C5601DD2AFC, - F57EED4C027EA3AB01FF7AB9, - F56B5A5002787AF101DD2AFC, - F56B5A5202787AF901DD2AFC, - F56B5A5302787B0101DD2AFC, - F56B5A5102787AF101DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D3902775C5601DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D3F02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D4002775C5601DD2AFC = { - buildPhases = ( - F5E91D4102775C5601DD2AFC, - F5E91D4F02775C5601DD2AFC, - F5E91D5002775C5601DD2AFC, - F5E91D5D02775C5601DD2AFC, - F5E91D6502775C5601DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSReflectorModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38750279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSReflectorModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSReflectorModule.bundle; - productReference = F5E91D3002775C5601DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSReflectorModule - CFBundleGetInfoString - QTSSReflectorModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.reflectormodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSReflectorModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D4102775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A2D0278791501DD2AFC, - F56B5A2E0278791501DD2AFC, - F56B5A2F0278791501DD2AFC, - F56B5A300278791501DD2AFC, - F56B5A310278791501DD2AFC, - F56B5A320278791501DD2AFC, - F56B5A330278791501DD2AFC, - F56B5A340278791501DD2AFC, - F56B5A350278791501DD2AFC, - F56B5A360278791501DD2AFC, - F56B5A370278791501DD2AFC, - F56B5A380278791501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D4F02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5002775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F56B5A390278791501DD2AFC, - F56B5A3A0278791501DD2AFC, - F56B5A3B0278791501DD2AFC, - F56B5A3C0278791501DD2AFC, - F56B5A3D0278791501DD2AFC, - F56B5A3E0278791501DD2AFC, - F56B5A3F0278791501DD2AFC, - F56B5A400278791501DD2AFC, - F56B5A410278791501DD2AFC, - F56B5A420278791501DD2AFC, - F56B5A430278791501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5D02775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D5F02775C5601DD2AFC, - F57EED43027EA28201FF7AB9, - F5E91DFC02786B4201DD2AFC, - F56B5A440278791501DD2AFC, - F56B5A450278791501DD2AFC, - F56B5A460278791501DD2AFC, - F56B5A470278791501DD2AFC, - F56B5A480278791501DD2AFC, - F56B5A490278796A01DD2AFC, - F56B5A4A0278796A01DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D5F02775C5601DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6502775C5601DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6602775D2501DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSFlowControlModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D6702775D2501DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSWebDebugModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D6802775D2501DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSWebStatsModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D6902775D2501DD2AFC = { - buildPhases = ( - F5E91D6A02775D2501DD2AFC, - F5E91D6C02775D2501DD2AFC, - F5E91D6D02775D2501DD2AFC, - F5E91D6F02775D2501DD2AFC, - F5E91D7702775D2501DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSFlowControlModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38760279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSFlowControlModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSFlowControlModule.bundle; - productReference = F5E91D6602775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSFlowControlModule - CFBundleGetInfoString - QTSSFlowControlModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.flowcontrolmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSFlowControlModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D6A02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D6B02775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6B02775D2501DD2AFC = { - fileRef = 68C3952200C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6C02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6D02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D6E02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D6E02775D2501DD2AFC = { - fileRef = 68C3952000C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D6F02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7102775D2501DD2AFC, - F57EED4D027EA3AB01FF7AB9, - F5E91DFD02786BD001DD2AFC, - F5E91DFF02786C9601DD2AFC, - F5E91E0002786C9F01DD2AFC, - F5E91E0102786CA701DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7102775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7702775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7802775D2501DD2AFC = { - buildPhases = ( - F5E91D7902775D2501DD2AFC, - F5E91D7B02775D2501DD2AFC, - F5E91D7C02775D2501DD2AFC, - F5E91D7E02775D2501DD2AFC, - F5E91D8602775D2501DD2AFC, - ); - buildSettings = { - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSWebDebugModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38770279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSWebDebugModule.bundle; - productName = QTSSWebDebugModule.bundle; - productReference = F5E91D6702775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSWebDebugModule - CFBundleGetInfoString - QTSSWebDebugModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.webdebugmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSWebDebugModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D7902775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7A02775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7A02775D2501DD2AFC = { - fileRef = 68C3952D00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7B02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7C02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D7D02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D7D02775D2501DD2AFC = { - fileRef = 68C3952B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D7E02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8002775D2501DD2AFC, - F57EED40027EA24601FF7AB9, - F5E91D8302775D2501DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8002775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8302775D2501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8602775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8702775D2501DD2AFC = { - buildPhases = ( - F5E91D8802775D2501DD2AFC, - F5E91D8A02775D2501DD2AFC, - F5E91D8B02775D2501DD2AFC, - F5E91D8D02775D2501DD2AFC, - F5E91D9502775D2501DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSWebStatsModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38780279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSWebStatsModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSWebStatsModule.bundle; - productReference = F5E91D6802775D2501DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSWebStatsModule - CFBundleGetInfoString - QTSSWebStatsModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.webstatsmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSWebStatsModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D8802775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8902775D2501DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8902775D2501DD2AFC = { - fileRef = 68C3953800C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8A02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8B02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8C02775D2501DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8C02775D2501DD2AFC = { - fileRef = 68C3953600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D8D02775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91D8F02775D2501DD2AFC, - F5E91E0202786CD501DD2AFC, - F5E91E0302786CFB01DD2AFC, - F5E91E0502786D0A01DD2AFC, - F5E91E0402786D0401DD2AFC, - F57EED41027EA24601FF7AB9, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D8F02775D2501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91D9502775D2501DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91D9D02775EEB01DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSPosixFileSysModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91D9E02775EEC01DD2AFC = { - buildPhases = ( - F5E91D9F02775EEC01DD2AFC, - F5E91DA102775EEC01DD2AFC, - F5E91DA202775EEC01DD2AFC, - F5E91DA402775EEC01DD2AFC, - F5E91DA502775EEC01DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSPosixFileSysModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E38790279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSPOSIXFileSysModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSPOSIXFileSysModule.bundle; - productReference = F5E91D9D02775EEB01DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSPosixFileSysModule - CFBundleGetInfoString - QTSSPosixFileSysModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.posixfileystemmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSPosixFileSysModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91D9F02775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DA002775EEC01DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA002775EEC01DD2AFC = { - fileRef = 68C3957100C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DA102775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA202775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DA302775EEC01DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA302775EEC01DD2AFC = { - fileRef = 68C3956F00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DA402775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DB20277603301DD2AFC, - F57EED4E027EA3AB01FF7AB9, - F5E91E0702786D4401DD2AFC, - F5E91E0802786D4401DD2AFC, - F5E91E0902786D4D01DD2AFC, - F5E91E0A02786D5301DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA502775EEC01DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DA60277603301DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSAdminModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91DA70277603301DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSHttpFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91DA80277603301DD2AFC = { - explicitFileType = wrapper.cfbundle; - isa = PBXFileReference; - path = QTSSRTPFileModule.bundle; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F5E91DB20277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DB90277603301DD2AFC = { - buildPhases = ( - F5E91DBA0277603301DD2AFC, - F5E91DBE0277603301DD2AFC, - F5E91DBF0277603301DD2AFC, - F5E91DC30277603301DD2AFC, - F5E91DCB0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSAdminModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387A0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = QTSSAdminModule.bundle; - productInstallPath = /Library/QuickTimeStreaming/Modules; - productName = QTSSAdminModule.bundle; - productReference = F5E91DA60277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSAdminModule - CFBundleGetInfoString - QTSSAdminModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.adminmodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSAdminModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DBA0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DBB0277603301DD2AFC, - F5E91DBC0277603301DD2AFC, - F5E91DBD0277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DBB0277603301DD2AFC = { - fileRef = 68C3958B00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBC0277603301DD2AFC = { - fileRef = 68C3958A00C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBD0277603301DD2AFC = { - fileRef = 68C3958900C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DBE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DBF0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DC00277603301DD2AFC, - F5E91DC10277603301DD2AFC, - F5E91DC20277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DC00277603301DD2AFC = { - fileRef = 68C3958700C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC10277603301DD2AFC = { - fileRef = 68C3958600C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC20277603301DD2AFC = { - fileRef = 68C3958500C567B67F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DC30277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DF20278699501DD2AFC, - F57EED4F027EA3AB01FF7AB9, - F5E91DF30278699501DD2AFC, - F5E91DF50278699501DD2AFC, - F5E91DF60278699501DD2AFC, - F5E91E0B02786DA901DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCB0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCD0277603301DD2AFC = { - buildPhases = ( - F5E91DCE0277603301DD2AFC, - F5E91DD00277603301DD2AFC, - F5E91DD10277603301DD2AFC, - F5E91DD30277603301DD2AFC, - F5E91DDB0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSHttpFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387B0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSHttpFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSHttpFileModule.bundle; - productReference = F5E91DA70277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSHttpFileModule - CFBundleGetInfoString - QTSSHttpFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.httpfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSHttpFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DCE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DCF0277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DCF0277603301DD2AFC = { - fileRef = 68C3959600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DD00277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD10277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DD20277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD20277603301DD2AFC = { - fileRef = 68C3959400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DD30277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DD50277603301DD2AFC, - F57EED50027EA3AB01FF7AB9, - F5E91E0C02786DDF01DD2AFC, - F5E91E0E02786DE701DD2AFC, - F5E91E0D02786DDF01DD2AFC, - F5E91E1102786E0601DD2AFC, - F5E91E1002786DFE01DD2AFC, - F5E91E0F02786DF601DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DD50277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DDB0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DDD0277603301DD2AFC = { - buildPhases = ( - F5E91DDE0277603301DD2AFC, - F5E91DE10277603301DD2AFC, - F5E91DE20277603301DD2AFC, - F5E91DE50277603301DD2AFC, - F5E91DED0277603301DD2AFC, - ); - buildSettings = { - INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; - OTHER_CFLAGS = "-DDSS_USE_API_CALLBACKS -D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = QTSSRTPFileModule; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - WRAPPER_EXTENSION = bundle; - }; - dependencies = ( - F52E387C0279D50701DD2AFC, - ); - isa = PBXBundleTarget; - name = "QTSSRTPFileModule (Bundle)"; - productInstallPath = /Library/QuickTimeStreaming/Modules.disabled; - productName = QTSSRTPFileModule.bundle; - productReference = F5E91DA80277603301DD2AFC; - productSettingsXML = " - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - QTSSRTPFileModule - CFBundleGetInfoString - QTSSRTPFileModule - CFBundleIconFile - - CFBundleIdentifier - com.apple.qtss.rtpfilemodule - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - QTSSRTPFileModule - CFBundlePackageType - BNDL - CFBundleShortVersionString - 5.1 - CFBundleSignature - ???? - CFBundleVersion - 0.0.1d1 - - -"; - }; - F5E91DDE0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DDF0277603301DD2AFC, - F5E91DE00277603301DD2AFC, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DDF0277603301DD2AFC = { - fileRef = 68C395A200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE00277603301DD2AFC = { - fileRef = 68C395A300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE10277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXResourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE20277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DE30277603301DD2AFC, - F5E91DE40277603301DD2AFC, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE30277603301DD2AFC = { - fileRef = 68C3959F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE40277603301DD2AFC = { - fileRef = 68C395A000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DE50277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - F5E91DE70277603301DD2AFC, - F57EED42027EA24601FF7AB9, - F5E91E1202786E3101DD2AFC, - F5E91E1502786E3E01DD2AFC, - F5E91E1402786E3901DD2AFC, - F5E91E1302786E3101DD2AFC, - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DE70277603301DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DED0277603301DD2AFC = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F5E91DF0027868CE01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF20278699501DD2AFC = { - fileRef = 68C3965E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF30278699501DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF50278699501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF60278699501DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF702786AB101DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF802786AF601DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DF902786AFF01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFA02786B0701DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFB02786B0F01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFC02786B4201DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFD02786BD001DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91DFF02786C9601DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0002786C9F01DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0102786CA701DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0202786CD501DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0302786CFB01DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0402786D0401DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0502786D0A01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0702786D4401DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0802786D4401DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0902786D4D01DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0A02786D5301DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0B02786DA901DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0C02786DDF01DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0D02786DDF01DD2AFC = { - fileRef = 68C396B300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0E02786DE701DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E0F02786DF601DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1002786DFE01DD2AFC = { - fileRef = 68C396B500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1102786E0601DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1202786E3101DD2AFC = { - fileRef = 68C396B200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1302786E3101DD2AFC = { - fileRef = 68C396B600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1402786E3901DD2AFC = { - fileRef = 68C3969D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E1502786E3E01DD2AFC = { - fileRef = 68C396B400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5E91E2302786F1501DD2AFC = { - buildPhases = ( - ); - buildSettings = { - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; - OTHER_REZFLAGS = ""; - PRODUCT_NAME = APIModules_All_Dynamic; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - F5E91E2402786F1501DD2AFC, - F5E91E2502786F1501DD2AFC, - F5E91E2602786F1501DD2AFC, - F5E91E2702786F1501DD2AFC, - F5E91E2802786F1501DD2AFC, - F5E91E2902786F1501DD2AFC, - F5E91E2A02786F1501DD2AFC, - F5E91E2B02786F1501DD2AFC, - F5E91E2C02786F1501DD2AFC, - F5E91E2D02786F1501DD2AFC, - F5E91E2E02786F1501DD2AFC, - B6494F9C0279F7A90BDD2A6C, - F5E91E2F02786F1501DD2AFC, - F5E91E3002786F1501DD2AFC, - F5E91E3102786F1501DD2AFC, - F5E91E3202786F1501DD2AFC, - F5E91E3302786F1501DD2AFC, - F5E91E3402786F1501DD2AFC, - ); - isa = PBXAggregateTarget; - name = APIModules_All_Dynamic; - productName = APIModules_All_Dynamic; - }; - F5E91E2402786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 004E288A025B787100DD2B50; - targetProxy = FB0D1DA2064AFB71006F2774; - }; - F5E91E2502786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D0E027758E801DD2AFC; - targetProxy = FB0D1D39064AFB71006F2774; - }; - F5E91E2602786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D2002775B5E01DD2AFC; - targetProxy = FB0D1D7C064AFB71006F2774; - }; - F5E91E2702786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D3102775C5601DD2AFC; - targetProxy = FB0D1DA1064AFB71006F2774; - }; - F5E91E2802786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D4002775C5601DD2AFC; - targetProxy = FB0D1DA0064AFB71006F2774; - }; - F5E91E2902786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D6902775D2501DD2AFC; - targetProxy = FB0D1D76064AFB71006F2774; - }; - F5E91E2A02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D7802775D2501DD2AFC; - targetProxy = FB0D1D20064AFB71006F2774; - }; - F5E91E2B02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D8702775D2501DD2AFC; - targetProxy = FB0D1D5A064AFB71006F2774; - }; - F5E91E2C02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91D9E02775EEC01DD2AFC; - targetProxy = FB0D1D9F064AFB71006F2774; - }; - F5E91E2D02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DB90277603301DD2AFC; - targetProxy = FB0D1D9E064AFB71006F2774; - }; - F5E91E2E02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DCD0277603301DD2AFC; - targetProxy = FB0D1D4F064AFB71006F2774; - }; - F5E91E2F02786F1501DD2AFC = { - isa = PBXTargetDependency; - target = F5E91DDD0277603301DD2AFC; - targetProxy = FB0D1D94064AFB71006F2774; - }; - F5E91E3002786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3993400C567B77F000001; - targetProxy = FB0D1D9C064AFB71006F2774; - }; - F5E91E3102786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3994300C567B77F000001; - targetProxy = FB0D1D98064AFB71006F2774; - }; - F5E91E3202786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3995200C567B77F000001; - targetProxy = FB0D1D9B064AFB71006F2774; - }; - F5E91E3302786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3996200C567B77F000001; - targetProxy = FB0D1D9A064AFB71006F2774; - }; - F5E91E3402786F1501DD2AFC = { - isa = PBXTargetDependency; - target = 68C3997B00C567B77F000001; - targetProxy = FB0D1D99064AFB71006F2774; - }; - F5EB63B1011F467801DD292F = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5EB63B2011F4A8F01DD292F = { - fileRef = 68C3969C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F5EF9AEF01235DC301DD292F = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = atomic.cpp; - path = CommonUtilitiesLib/atomic.cpp; - refType = 2; - sourceTree = SOURCE_ROOT; - }; - F5EF9AF001235DC301DD292F = { - fileRef = F5EF9AEF01235DC301DD292F; - isa = PBXBuildFile; - settings = { - }; - }; -//F50 -//F51 -//F52 -//F53 -//F54 -//F60 -//F61 -//F62 -//F63 -//F64 - F6999B67023926FC01000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6999B68023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D6E064AFB71006F2774; - }; - F6999B69023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1DB7064AFB71006F2774; - }; - F6999B6A023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1DD3064AFB71006F2774; - }; - F6999B6B023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D63064AFB71006F2774; - }; - F6999B6C023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1DAD064AFB71006F2774; - }; - F6999B6D023927CE01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D38064AFB71006F2774; - }; - F6999B6E0239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D32064AFB71006F2774; - }; - F6999B6F0239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D74064AFB71006F2774; - }; - F6999B700239282F01000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D82064AFB71006F2774; - }; - F6A3A53102392A2801000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53202392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53302392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53402392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53502392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53602392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53702392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A3A53802392AE101000103 = { - fileRef = F6A48AED02390D0401000103; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AED02390D0401000103 = { - explicitFileType = "compiled.mach-o.dylib"; - isa = PBXFileReference; - path = libQTFileExternalLib.a; - refType = 3; - sourceTree = BUILT_PRODUCTS_DIR; - }; - F6A48AEF02390D0401000103 = { - isa = PBXTargetDependency; - target = F6A48AF002390D0401000103; - targetProxy = FB0D1D72064AFB71006F2774; - }; - F6A48AF002390D0401000103 = { - buildPhases = ( - F6A48AF102390D0401000103, - F6A48AF202390D0401000103, - F6A48AF302390D0401000103, - F6A48AF402390D0401000103, - ); - buildSettings = { - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - LIBRARY_STYLE = STATIC; - OTHER_CFLAGS = "-D__MacOSX__ -DNeXT -Wredundant-decls -Wcast-qual -Wno-four-char-constants -fcommon -fno-exceptions"; - OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = ""; - PREFIX_HEADER = PlatformHeader.h; - PRODUCT_NAME = libQTFileExternalLib.a; - REZ_EXECUTABLE = YES; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; - }; - dependencies = ( - ); - isa = PBXLibraryTarget; - name = "QTFileExternalLib (Library)"; - productInstallPath = /usr/local/lib; - productName = QTFileExternalLib; - productReference = F6A48AED02390D0401000103; - }; - F6A48AF102390D0401000103 = { - buildActionMask = 2147483647; - files = ( - F6A48AF802390D8901000103, - F6A48AF902390D8901000103, - F6A48AFA02390D8901000103, - F6A48AFB02390D8901000103, - F6A48AFC02390D8901000103, - F6A48AFD02390D8901000103, - F6A48AFE02390D8901000103, - F6A48AFF02390D8901000103, - F6A48B0002390D8901000103, - F6A48B0102390D8901000103, - F6A48B0202390D8901000103, - F6A48B0302390D8901000103, - F6A48B0402390D8901000103, - F6A48B0502390D8901000103, - F6A48B0602390D8901000103, - F6A48B0702390D8901000103, - F6A48B0802390D8901000103, - F6A48B0902390D8901000103, - F6A48B0A02390D8901000103, - ); - isa = PBXHeadersBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF202390D0401000103 = { - buildActionMask = 2147483647; - files = ( - F6A48B0B02390E3701000103, - F6A48B0C02390E3701000103, - F6A48B0D02390E3701000103, - F6A48B0E02390E3701000103, - F6A48B0F02390E3701000103, - F6A48B1002390E3701000103, - F6A48B1102390E3701000103, - F6A48B1202390E3701000103, - F6A48B1302390E3701000103, - F6A48B1402390E3701000103, - F6A48B1502390E3701000103, - F6A48B1602390E3701000103, - F6A48B1702390E3701000103, - F6A48B1802390E3701000103, - F6A48B1902390E3701000103, - F6A48B1A02390E3701000103, - F6A48B1B02390E3701000103, - F6A48B1C02390E3701000103, - F6A48B1D02390E3701000103, - ); - isa = PBXSourcesBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF302390D0401000103 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXFrameworksBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF402390D0401000103 = { - buildActionMask = 2147483647; - files = ( - ); - isa = PBXRezBuildPhase; - runOnlyForDeploymentPostprocessing = 0; - }; - F6A48AF802390D8901000103 = { - fileRef = 68C3962100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AF902390D8901000103 = { - fileRef = 68C3962200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFA02390D8901000103 = { - fileRef = 68C3962300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFB02390D8901000103 = { - fileRef = 68C3962400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFC02390D8901000103 = { - fileRef = 68C3962500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFD02390D8901000103 = { - fileRef = 68C3962600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFE02390D8901000103 = { - fileRef = 68C3962700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48AFF02390D8901000103 = { - fileRef = 68C3962800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0002390D8901000103 = { - fileRef = 68C3962900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0102390D8901000103 = { - fileRef = 68C3962A00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0202390D8901000103 = { - fileRef = 68C3962B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0302390D8901000103 = { - fileRef = 68C3962C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0402390D8901000103 = { - fileRef = 68C3962D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0502390D8901000103 = { - fileRef = 68C3962E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0602390D8901000103 = { - fileRef = 68C3962F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0702390D8901000103 = { - fileRef = 68C3963000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0802390D8901000103 = { - fileRef = 68C3963100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0902390D8901000103 = { - fileRef = 68C3963200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0A02390D8901000103 = { - fileRef = 68C3963300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0B02390E3701000103 = { - fileRef = 68C3960D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0C02390E3701000103 = { - fileRef = 68C3960E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0D02390E3701000103 = { - fileRef = 68C3960F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0E02390E3701000103 = { - fileRef = 68C3961000C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B0F02390E3701000103 = { - fileRef = 68C3961100C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1002390E3701000103 = { - fileRef = 68C3961200C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1102390E3701000103 = { - fileRef = 68C3961300C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1202390E3701000103 = { - fileRef = 68C3961400C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1302390E3701000103 = { - fileRef = 68C3961500C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1402390E3701000103 = { - fileRef = 68C3961600C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1502390E3701000103 = { - fileRef = 68C3961700C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1602390E3701000103 = { - fileRef = 68C3961800C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1702390E3701000103 = { - fileRef = 68C3961900C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1802390E3701000103 = { - fileRef = 68C3961A00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1902390E3701000103 = { - fileRef = 68C3961B00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1A02390E3701000103 = { - fileRef = 68C3961C00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1B02390E3701000103 = { - fileRef = 68C3961D00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1C02390E3701000103 = { - fileRef = 68C3961E00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; - F6A48B1D02390E3701000103 = { - fileRef = 68C3961F00C567B77F000001; - isa = PBXBuildFile; - settings = { - }; - }; -//F60 -//F61 -//F62 -//F63 -//F64 -//FB0 -//FB1 -//FB2 -//FB3 -//FB4 - FB0D1D19064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED29027E9E1201FF7AB9; - remoteInfo = "SafeDynamicModuleStdLib (Library)"; - }; - FB0D1D1A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1D1B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3971700C567B77F000001; - remoteInfo = RTPFileGen; - }; - FB0D1D1C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D1D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D1E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D1F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D20064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D7802775D2501DD2AFC; - remoteInfo = QTSSWebDebugModule.bundle; - }; - FB0D1D21064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1D22064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D23064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D24064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D25064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396F900C567B77F000001; - remoteInfo = QTFileInfo; - }; - FB0D1D26064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D28064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3970300C567B77F000001; - remoteInfo = QTFileTest; - }; - FB0D1D29064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3995200C567B77F000001; - remoteInfo = "QTSSFilePrivsModule (Bundle)"; - }; - FB0D1D2A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D2B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399F500C567B77F000001; - remoteInfo = "HTTPUtilitiesLib (Library)"; - }; - FB0D1D2C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D2D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D2E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DCD0277603301DD2AFC; - remoteInfo = "QTSSHttpFileModule (Bundle)"; - }; - FB0D1D2F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D31064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396E500C567B77F000001; - remoteInfo = QTSampleLister; - }; - FB0D1D32064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D33064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D34064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D35064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D36064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; - remoteInfo = APIModules_Static; - }; - FB0D1D37064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396C600C567B77F000001; - remoteInfo = "TestQTFileLib (Library)"; - }; - FB0D1D38064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D39064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D0E027758E801DD2AFC; - remoteInfo = QTSSAccessModule.bundle; - }; - FB0D1D3A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 004E288A025B787100DD2B50; - remoteInfo = "QTSSHomeDirectoryModule (Bundle)"; - }; - FB0D1D3B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED29027E9E1201FF7AB9; - remoteInfo = "SafeDynamicModuleStdLib (Library)"; - }; - FB0D1D3C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED24027E9E1201FF7AB9; - remoteInfo = "SafeInternalStdLib (Library)"; - }; - FB0D1D3D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A4700C567B77F000001; - remoteInfo = "RTSPClientLib (Library)"; - }; - FB0D1D3E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D3F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C900C567B77F000001; - remoteInfo = "RTCPUtilitiesLib (Library)"; - }; - FB0D1D40064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0900C567B77F000001; - remoteInfo = "QTFileLib (Library)"; - }; - FB0D1D41064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D42064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399D800C567B77F000001; - remoteInfo = "PrefsSourceLib (Library)"; - }; - FB0D1D43064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398E000C567B77F000001; - remoteInfo = "OSMemory_Modules (Library)"; - }; - FB0D1D44064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D45064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399F500C567B77F000001; - remoteInfo = "HTTPUtilitiesLib (Library)"; - }; - FB0D1D46064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D47064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399EA00C567B77F000001; - remoteInfo = "APIStubLib (Library)"; - }; - FB0D1D48064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1D49064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1D4A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3997B00C567B77F000001; - remoteInfo = "QTSSDemoSMILModule (Bundle)"; - }; - FB0D1D4B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398E800C567B77F000001; - remoteInfo = "QTSSAccessLogModule (Library)"; - }; - FB0D1D4C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B6DC97FB02FB2EAB0BDD2A6C; - remoteInfo = "QTSSProxyModule (Library)"; - }; - FB0D1D4D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396D100C567B77F000001; - remoteInfo = QTRTPGen; - }; - FB0D1D4E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399D800C567B77F000001; - remoteInfo = "PrefsSourceLib (Library)"; - }; - FB0D1D4F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DCD0277603301DD2AFC; - remoteInfo = "QTSSHttpFileModule (Bundle)"; - }; - FB0D1D50064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D51064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D52064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D53064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D55064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = E98FD95B02F5BC3309DD2838; - remoteInfo = QTSSLinkApp; - }; - FB0D1D56064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D58064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D59064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D5A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D8702775D2501DD2AFC; - remoteInfo = "QTSSWebStatsModule (Bundle)"; - }; - FB0D1D5B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A4700C567B77F000001; - remoteInfo = "RTSPClientLib (Library)"; - }; - FB0D1D5C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D5D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D5E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D5F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D60064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D61064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F533DA97011744B701DD292F; - remoteInfo = MP3Broadcaster; - }; - FB0D1D62064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D63064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D64064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D65064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D67064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 008788DE026B412B00DD2B4C; - remoteInfo = DSS_Generic; - }; - FB0D1D68064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D69064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D6A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3970D00C567B77F000001; - remoteInfo = QTBroadcaster; - }; - FB0D1D6B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D6C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D6D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00E5906700F4DD0500DD2B4C; - remoteInfo = StreamingLoadTool; - }; - FB0D1D6E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D6F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D70064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D71064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D72064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D74064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D75064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D76064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D6902775D2501DD2AFC; - remoteInfo = QTSSFlowControlModule.bundle; - }; - FB0D1D77064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396EF00C567B77F000001; - remoteInfo = QTTrackInfo; - }; - FB0D1D78064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D79064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D7A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D7B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1D7C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D2002775B5E01DD2AFC; - remoteInfo = QTSSFileModule.bundle; - }; - FB0D1D7D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3998A00C567B77F000001; - remoteInfo = "QTSSAdminModule (Library)"; - }; - FB0D1D7E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1D7F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0900C567B77F000001; - remoteInfo = "QTFileLib (Library)"; - }; - FB0D1D80064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D81064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D82064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1D84064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399EA00C567B77F000001; - remoteInfo = "APIStubLib (Library)"; - }; - FB0D1D85064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 484082A403D78E0900DD2838; - remoteInfo = broadcasterctl; - }; - FB0D1D86064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 000DA9E40135948600DD2B4F; - remoteInfo = WebAdmin; - }; - FB0D1D87064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C397B700C567B77F000001; - remoteInfo = qtpasswd; - }; - FB0D1D88064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C397C000C567B77F000001; - remoteInfo = StreamingProxy; - }; - FB0D1D89064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3978800C567B77F000001; - remoteInfo = PlaylistBroadcaster; - }; - FB0D1D8A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3972C00C567B77F000001; - remoteInfo = Server; - }; - FB0D1D8B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398DE00C567B77F000001; - remoteInfo = APIModules; - }; - FB0D1D8C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396BA00C567B77F000001; - remoteInfo = QTFileTools; - }; - FB0D1D8D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0900C567B77F000001; - remoteInfo = "QTFileLib (Library)"; - }; - FB0D1D8E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C900C567B77F000001; - remoteInfo = "RTCPUtilitiesLib (Library)"; - }; - FB0D1D8F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1D90064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1D91064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED29027E9E1201FF7AB9; - remoteInfo = "SafeDynamicModuleStdLib (Library)"; - }; - FB0D1D92064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED24027E9E1201FF7AB9; - remoteInfo = "SafeInternalStdLib (Library)"; - }; - FB0D1D93064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; - }; - FB0D1D94064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DDD0277603301DD2AFC; - remoteInfo = "QTSSRTPFileModule (Bundle)"; - }; - FB0D1D96064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396DB00C567B77F000001; - remoteInfo = QTRTPFileTest; - }; - FB0D1D97064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1D98064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3994300C567B77F000001; - remoteInfo = "QTSSRawFileModule (Bundle)"; - }; - FB0D1D99064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3997B00C567B77F000001; - remoteInfo = "QTSSDemoSMILModule (Bundle)"; - }; - FB0D1D9A064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3996200C567B77F000001; - remoteInfo = "QTSSDemoAuthorizationModule (Bundle)"; - }; - FB0D1D9B064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3995200C567B77F000001; - remoteInfo = "QTSSFilePrivsModule (Bundle)"; - }; - FB0D1D9C064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3993400C567B77F000001; - remoteInfo = "QTSSSpamDefenseModule (Bundle)"; - }; - FB0D1D9D064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B6494F960279F7500BDD2A6C; - remoteInfo = "QTSSRefMovieModule (Bundle)"; - }; - FB0D1D9E064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DB90277603301DD2AFC; - remoteInfo = QTSSAdminModule.bundle; - }; - FB0D1D9F064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D9E02775EEC01DD2AFC; - remoteInfo = QTSSPOSIXFileSysModule.bundle; - }; - FB0D1DA0064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D4002775C5601DD2AFC; - remoteInfo = QTSSReflectorModule.bundle; - }; - FB0D1DA1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D3102775C5601DD2AFC; - remoteInfo = QTSSAccessLogModule.bundle; - }; - FB0D1DA2064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 004E288A025B787100DD2B50; - remoteInfo = "QTSSHomeDirectoryModule (Bundle)"; - }; - FB0D1DA3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C396BC00C567B77F000001; - remoteInfo = QTSDPGen; - }; - FB0D1DA4064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DA5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A0000C567B77F000001; - remoteInfo = "RTPMetaInfoLib (Library)"; - }; - FB0D1DA6064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DA7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DA8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DAA064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DAC064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DAD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1DAE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DB0064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DB1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00A90E1B029EBB6300DD2B4C; - remoteInfo = APIModules_Dynamic; - }; - FB0D1DB2064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 00A90E28029EC2E700DD2B4C; - remoteInfo = APIModules_Static; - }; - FB0D1DB3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A3600C567B77F000001; - remoteInfo = "APICommonCode (Library)"; - }; - FB0D1DB4064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C39A4700C567B77F000001; - remoteInfo = "RTSPClientLib (Library)"; - }; - FB0D1DB5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399D800C567B77F000001; - remoteInfo = "PrefsSourceLib (Library)"; - }; - FB0D1DB7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1DB8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DB9064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DBB064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DBC064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398F100C567B77F000001; - remoteInfo = "QTSSFileModule (Library)"; - }; - FB0D1DBD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DBE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987F00C567B77F000001; - remoteInfo = "CommonUtilitiesLib (Library)"; - }; - FB0D1DBF064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399C100C567B77F000001; - remoteInfo = "OSMemoryLib (Library)"; - }; - FB0D1DC1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399AF00C567B77F000001; - remoteInfo = "QTSSAccessModule (Library)"; - }; - FB0D1DC3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DC5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3992200C567B77F000001; - remoteInfo = "QTSSWebDebugModule (Library)"; - }; - FB0D1DC6064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398FA00C567B77F000001; - remoteInfo = "QTSSReflectorModule (Library)"; - }; - FB0D1DC7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3997200C567B77F000001; - remoteInfo = "QTSSPOSIXFileSysModule (Library)"; - }; - FB0D1DC8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B62C45C6012B21880BDD2A6C; - remoteInfo = "QTSSMP3StreamingModule (Library)"; - }; - FB0D1DC9064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3991900C567B77F000001; - remoteInfo = "QTSSFlowControlModule (Library)"; - }; - FB0D1DCA064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C398E000C567B77F000001; - remoteInfo = "OSMemory_Modules (Library)"; - }; - FB0D1DCB064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCC064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DCF064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; - }; - FB0D1DD0064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C399EA00C567B77F000001; - remoteInfo = "APIStubLib (Library)"; - }; - FB0D1DD1064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91DDD0277603301DD2AFC; - remoteInfo = "QTSSRTPFileModule (Bundle)"; - }; - FB0D1DD2064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = B6494F960279F7500BDD2A6C; - remoteInfo = "QTSSRefMovieModule (Bundle)"; - }; - FB0D1DD3064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F6A48AF002390D0401000103; - remoteInfo = "QTFileExternalLib (Library)"; - }; - FB0D1DD4064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F57EED24027E9E1201FF7AB9; - remoteInfo = "SafeInternalStdLib (Library)"; - }; - FB0D1DD5064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3994300C567B77F000001; - remoteInfo = "QTSSRawFileModule (Bundle)"; - }; - FB0D1DD7064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3996200C567B77F000001; - remoteInfo = "QTSSDemoAuthorizationModule (Bundle)"; - }; - FB0D1DD8064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 008788DE026B412B00DD2B4C; - remoteInfo = DSS_Generic; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; + }; + name = Development; }; - FB0D1DD9064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F51C62E30279D3BC01DD2AFC; - remoteInfo = Libraries; + 52F90994099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /usr/sbin; + OTHER_CFLAGS = ( + "-DDSS_DYNAMIC_MODULES_ONLY", + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; + }; + name = Deployment; }; - FB0D1DDB064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3993400C567B77F000001; - remoteInfo = "QTSSSpamDefenseModule (Bundle)"; + 52F90995099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /usr/sbin; + OTHER_CFLAGS = ( + "-DDSS_DYNAMIC_MODULES_ONLY", + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QuickTimeStreamingServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Default; }; - FB0D1DDD064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = 68C3987300C567B77F000001; - remoteInfo = "AtomicLib (Library)"; + 52F90997099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/sbin; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_DYNAMIC_MODULES_ONLY", + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = StreamingProxyServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = YES; + }; + name = Development; }; - FB0D1DDE064AFB71006F2774 = { - containerPortal = 68C3920500C567B67F000001; - isa = PBXContainerItemProxy; - proxyType = 1; - remoteGlobalIDString = F5E91D8702775D2501DD2AFC; - remoteInfo = "QTSSWebStatsModule (Bundle)"; + 52F90998099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + INSTALL_PATH = /usr/sbin; + OTHER_CFLAGS = ( + "-DDSS_DYNAMIC_MODULES_ONLY", + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = StreamingProxyServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; + }; + name = Deployment; }; - FB776EE607DCFD4C00C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_h264_300kbit.mp4; - refType = 4; - sourceTree = ""; + 52F90999099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + INSTALL_PATH = /usr/sbin; + OTHER_CFLAGS = ( + "-DDSS_DYNAMIC_MODULES_ONLY", + "-DDSS_STREAMING_SERVER", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = StreamingProxyServer; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Default; }; - FB776EE707DCFD4C00C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_h264_100kbit.mp4; - refType = 4; - sourceTree = ""; + 52F9099B099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; + LIBRARY_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-g", + "-pipe", + "-pipe", + "-fno-common", + "-no-cpp-precomp", + "-flat_namespace", + "-DHAS_TELLDIR_PROTOTYPE", + "-fno-strict-aliasing", + ); + OTHER_REZFLAGS = ""; + PRODUCT_NAME = SSLeay.bundle; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; + }; + name = Development; }; - FB776EE907DCFD4C00C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_h264_1mbit.mp4; - refType = 4; - sourceTree = ""; + 52F9099C099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; + LIBRARY_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; + OTHER_CFLAGS = ( + "-g", + "-pipe", + "-pipe", + "-fno-common", + "-no-cpp-precomp", + "-flat_namespace", + "-DHAS_TELLDIR_PROTOTYPE", + "-fno-strict-aliasing", + ); + OTHER_REZFLAGS = ""; + PRODUCT_NAME = SSLeay.bundle; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; + }; + name = Deployment; }; - FB776EEE07DCFD6100C0B6CE = { - fileRef = FB776EE607DCFD4C00C0B6CE; - isa = PBXBuildFile; - settings = { + 52F9099D099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; + LIBRARY_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/Perl/darwin/CORE\""; + OTHER_CFLAGS = ( + "-g", + "-pipe", + "-pipe", + "-fno-common", + "-no-cpp-precomp", + "-flat_namespace", + "-DHAS_TELLDIR_PROTOTYPE", + "-fno-strict-aliasing", + ); + OTHER_REZFLAGS = ""; + PRODUCT_NAME = SSLeay.bundle; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; }; + name = Default; }; - FB776EEF07DCFD6100C0B6CE = { - fileRef = FB776EE707DCFD4C00C0B6CE; - isa = PBXBuildFile; - settings = { + 52F9099F099D6A4D006F0FCA /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { }; + name = Development; }; - FB776EF107DCFD6100C0B6CE = { - fileRef = FB776EE907DCFD4C00C0B6CE; - isa = PBXBuildFile; - settings = { + 52F909A0099D6A4D006F0FCA /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { }; + name = Deployment; }; - FB776F0007DD002400C0B6CE = { - isa = PBXFileReference; - lastKnownFileType = file; - path = sample_50kbit.3gp; - refType = 4; - sourceTree = ""; + 52F909A1099D6A4D006F0FCA /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Default; }; - FB776F0207DD002E00C0B6CE = { - fileRef = FB776F0007DD002400C0B6CE; - isa = PBXBuildFile; - settings = { + 5DB82F310DD3AC4C005193F8 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoRedirectModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = YES; }; + name = Development; }; - FBCB7F4C0507F23500A273B4 = { - buildActionMask = 8; - dstPath = /usr/bin; - dstSubfolderSpec = 0; - files = ( - FBCB7F5B0507F2D700A273B4, - ); - isa = PBXCopyFilesBuildPhase; - runOnlyForDeploymentPostprocessing = 1; + 5DB82F320DD3AC4C005193F8 /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoRedirectModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + ZERO_LINK = NO; + }; + name = Deployment; }; - FBCB7F580507F2D100A273B4 = { - fileEncoding = 30; - isa = PBXFileReference; - lastKnownFileType = text.script.sh; - name = createuserstreamingdir; - path = QTSSHomeDirectoryModule/createuserstreamingdir; - refType = 4; - sourceTree = ""; + 5DB82F330DD3AC4C005193F8 /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = ""; + INSTALL_PATH = /Library/QuickTimeStreaming/Modules.disabled; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ( + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = QTSSDemoRedirectModule; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = bundle; + }; + name = Default; }; - FBCB7F5B0507F2D700A273B4 = { - fileRef = FBCB7F580507F2D100A273B4; - isa = PBXBuildFile; - settings = { + 84CE3C460CEE607F0056DB85 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-DOSX_SACL", + "-DOSX_OD_API", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSDSAuthModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); }; + name = Development; }; - FBCB7F5C0507F30000A273B4 = { - buildActionMask = 8; - files = ( - ); - isa = PBXShellScriptBuildPhase; - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "chmod 555 ${DSTROOT}/usr/bin/createuserstreamingdir"; + 84CE3C470CEE607F0056DB85 /* Deployment */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + LIBRARY_STYLE = STATIC; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSDSAuthModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + ZERO_LINK = NO; + }; + name = Deployment; }; + 84CE3C480CEE607F0056DB85 /* Default */ = { + isa = XCBuildConfiguration; + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", + ); + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = ( + "-DDSS_USE_API_CALLBACKS", + "-D__MacOSX__", + "-DNeXT", + "-Wall", + "-Wconversion", + "-Wredundant-decls", + "-Wcast-qual", + "-Wno-four-char-constants", + "-fcommon", + "-fno-exceptions", + ); + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PREFIX_HEADER = PlatformHeader.h; + PRODUCT_NAME = libQTSSDSAuthModule.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Default; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 5235761E0C33A0890098823D /* Build configuration list for PBXToolTarget "QTSS Server" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5235761F0C33A0890098823D /* Development */, + 523576200C33A0890098823D /* Deployment */, + 523576210C33A0890098823D /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 5293FE000B2A462600141B86 /* Build configuration list for PBXLibraryTarget "QTSSDSAuthModule (Library) DSS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5293FE010B2A462600141B86 /* Development */, + 5293FE020B2A462600141B86 /* Deployment */, + 5293FE030B2A462600141B86 /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52B2500F0B30055600A6567F /* Build configuration list for PBXBundleTarget "QTSSDSAuthModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52B250100B30055600A6567F /* Development */, + 52B250110B30055600A6567F /* Deployment */, + 52B250120B30055600A6567F /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90876099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "AtomicLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90877099D6A4D006F0FCA /* Development */, + 52F90878099D6A4D006F0FCA /* Deployment */, + 52F90879099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9087A099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "SafeInternalStdLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9087B099D6A4D006F0FCA /* Development */, + 52F9087C099D6A4D006F0FCA /* Deployment */, + 52F9087D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9087E099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "SafeDynamicModuleStdLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9087F099D6A4D006F0FCA /* Development */, + 52F90880099D6A4D006F0FCA /* Deployment */, + 52F90881099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90882099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "CommonUtilitiesLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90883099D6A4D006F0FCA /* Development */, + 52F90884099D6A4D006F0FCA /* Deployment */, + 52F90885099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90886099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "OSMemoryLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90887099D6A4D006F0FCA /* Development */, + 52F90888099D6A4D006F0FCA /* Deployment */, + 52F90889099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9088A099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "RTCPUtilitiesLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9088B099D6A4D006F0FCA /* Development */, + 52F9088C099D6A4D006F0FCA /* Deployment */, + 52F9088D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9088E099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "PrefsSourceLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9088F099D6A4D006F0FCA /* Development */, + 52F90890099D6A4D006F0FCA /* Deployment */, + 52F90891099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90892099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "APIStubLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90893099D6A4D006F0FCA /* Development */, + 52F90894099D6A4D006F0FCA /* Deployment */, + 52F90895099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90896099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "HTTPUtilitiesLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90897099D6A4D006F0FCA /* Development */, + 52F90898099D6A4D006F0FCA /* Deployment */, + 52F90899099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9089A099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "RTPMetaInfoLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9089B099D6A4D006F0FCA /* Development */, + 52F9089C099D6A4D006F0FCA /* Deployment */, + 52F9089D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9089E099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTFileLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9089F099D6A4D006F0FCA /* Development */, + 52F908A0099D6A4D006F0FCA /* Deployment */, + 52F908A1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908A2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "APICommonCode (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908A3099D6A4D006F0FCA /* Development */, + 52F908A4099D6A4D006F0FCA /* Deployment */, + 52F908A5099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908A6099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "RTSPClientLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908A7099D6A4D006F0FCA /* Development */, + 52F908A8099D6A4D006F0FCA /* Deployment */, + 52F908A9099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908AA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTFileExternalLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908AB099D6A4D006F0FCA /* Development */, + 52F908AC099D6A4D006F0FCA /* Deployment */, + 52F908AD099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908AE099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTSDPGen" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908AF099D6A4D006F0FCA /* Development */, + 52F908B0099D6A4D006F0FCA /* Deployment */, + 52F908B1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908B2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "TestQTFileLib (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908B3099D6A4D006F0FCA /* Development */, + 52F908B4099D6A4D006F0FCA /* Deployment */, + 52F908B5099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908B6099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTRTPGen" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908B7099D6A4D006F0FCA /* Development */, + 52F908B8099D6A4D006F0FCA /* Deployment */, + 52F908B9099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908BA099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTRTPFileTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908BB099D6A4D006F0FCA /* Development */, + 52F908BC099D6A4D006F0FCA /* Deployment */, + 52F908BD099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908BE099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTSampleLister" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908BF099D6A4D006F0FCA /* Development */, + 52F908C0099D6A4D006F0FCA /* Deployment */, + 52F908C1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908C2099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTTrackInfo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908C3099D6A4D006F0FCA /* Development */, + 52F908C4099D6A4D006F0FCA /* Deployment */, + 52F908C5099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908C6099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTFileInfo" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908C7099D6A4D006F0FCA /* Development */, + 52F908C8099D6A4D006F0FCA /* Deployment */, + 52F908C9099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908CA099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTFileTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908CB099D6A4D006F0FCA /* Development */, + 52F908CC099D6A4D006F0FCA /* Deployment */, + 52F908CD099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908CE099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "QTBroadcaster" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908CF099D6A4D006F0FCA /* Development */, + 52F908D0099D6A4D006F0FCA /* Deployment */, + 52F908D1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908D2099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "RTPFileGen" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908D3099D6A4D006F0FCA /* Development */, + 52F908D4099D6A4D006F0FCA /* Deployment */, + 52F908D5099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908D6099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "QTFileTools" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908D7099D6A4D006F0FCA /* Development */, + 52F908D8099D6A4D006F0FCA /* Deployment */, + 52F908D9099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908DA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "OSMemory_Modules (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908DB099D6A4D006F0FCA /* Development */, + 52F908DC099D6A4D006F0FCA /* Deployment */, + 52F908DD099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908DE099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "Libraries" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908DF099D6A4D006F0FCA /* Development */, + 52F908E0099D6A4D006F0FCA /* Deployment */, + 52F908E1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908E2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSAccessModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908E3099D6A4D006F0FCA /* Development */, + 52F908E4099D6A4D006F0FCA /* Deployment */, + 52F908E5099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908E6099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSAccessLogModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908E7099D6A4D006F0FCA /* Development */, + 52F908E8099D6A4D006F0FCA /* Deployment */, + 52F908E9099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908EA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSAdminModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908EB099D6A4D006F0FCA /* Development */, + 52F908EC099D6A4D006F0FCA /* Deployment */, + 52F908ED099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908EE099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSFileModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908EF099D6A4D006F0FCA /* Development */, + 52F908F0099D6A4D006F0FCA /* Deployment */, + 52F908F1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908F2099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSFlowControlModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908F3099D6A4D006F0FCA /* Development */, + 52F908F4099D6A4D006F0FCA /* Deployment */, + 52F908F5099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908F6099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSMP3StreamingModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908F7099D6A4D006F0FCA /* Development */, + 52F908F8099D6A4D006F0FCA /* Deployment */, + 52F908F9099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908FA099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSPOSIXFileSysModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908FB099D6A4D006F0FCA /* Development */, + 52F908FC099D6A4D006F0FCA /* Deployment */, + 52F908FD099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F908FE099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSReflectorModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F908FF099D6A4D006F0FCA /* Development */, + 52F90900099D6A4D006F0FCA /* Deployment */, + 52F90901099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90902099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSProxyModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90903099D6A4D006F0FCA /* Development */, + 52F90904099D6A4D006F0FCA /* Deployment */, + 52F90905099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90906099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "QTSSWebDebugModule (Library)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90907099D6A4D006F0FCA /* Development */, + 52F90908099D6A4D006F0FCA /* Deployment */, + 52F90909099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9090A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules_Static" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9090B099D6A4D006F0FCA /* Development */, + 52F9090C099D6A4D006F0FCA /* Deployment */, + 52F9090D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9090E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSHomeDirectoryModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9090F099D6A4D006F0FCA /* Development */, + 52F90910099D6A4D006F0FCA /* Deployment */, + 52F90911099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90912099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSRefMovieModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90913099D6A4D006F0FCA /* Development */, + 52F90914099D6A4D006F0FCA /* Deployment */, + 52F90915099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90916099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSDemoAuthorizationModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90917099D6A4D006F0FCA /* Development */, + 52F90918099D6A4D006F0FCA /* Deployment */, + 52F90919099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9091A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSDemoSMILModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9091B099D6A4D006F0FCA /* Development */, + 52F9091C099D6A4D006F0FCA /* Deployment */, + 52F9091D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9091E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSFilePrivsModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9091F099D6A4D006F0FCA /* Development */, + 52F90920099D6A4D006F0FCA /* Deployment */, + 52F90921099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90922099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSHttpFileModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90923099D6A4D006F0FCA /* Development */, + 52F90924099D6A4D006F0FCA /* Deployment */, + 52F90925099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90926099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSRawFileModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90927099D6A4D006F0FCA /* Development */, + 52F90928099D6A4D006F0FCA /* Deployment */, + 52F90929099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9092A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSRTPFileModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9092B099D6A4D006F0FCA /* Development */, + 52F9092C099D6A4D006F0FCA /* Deployment */, + 52F9092D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9092E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSSpamDefenseModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9092F099D6A4D006F0FCA /* Development */, + 52F90930099D6A4D006F0FCA /* Deployment */, + 52F90931099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90932099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSWebStatsModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90933099D6A4D006F0FCA /* Development */, + 52F90934099D6A4D006F0FCA /* Deployment */, + 52F90935099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90936099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules_Dynamic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90937099D6A4D006F0FCA /* Development */, + 52F90938099D6A4D006F0FCA /* Deployment */, + 52F90939099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9093A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9093B099D6A4D006F0FCA /* Development */, + 52F9093C099D6A4D006F0FCA /* Deployment */, + 52F9093D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9093E099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "DSS Server" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9093F099D6A4D006F0FCA /* Development */, + 52F90940099D6A4D006F0FCA /* Deployment */, + 52F90941099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90942099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "MP3Broadcaster" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90943099D6A4D006F0FCA /* Development */, + 52F90944099D6A4D006F0FCA /* Deployment */, + 52F90945099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90946099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "PlaylistBroadcaster" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90947099D6A4D006F0FCA /* Development */, + 52F90948099D6A4D006F0FCA /* Deployment */, + 52F90949099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9094A099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "StreamingProxy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9094B099D6A4D006F0FCA /* Development */, + 52F9094C099D6A4D006F0FCA /* Deployment */, + 52F9094D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9094E099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "qtpasswd" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9094F099D6A4D006F0FCA /* Development */, + 52F90950099D6A4D006F0FCA /* Deployment */, + 52F90951099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90952099D6A4D006F0FCA /* Build configuration list for PBXLibraryTarget "WebAdmin" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90953099D6A4D006F0FCA /* Development */, + 52F90954099D6A4D006F0FCA /* Deployment */, + 52F90955099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90956099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "broadcasterctl" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90957099D6A4D006F0FCA /* Development */, + 52F90958099D6A4D006F0FCA /* Deployment */, + 52F90959099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9095A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "DSS_Generic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9095B099D6A4D006F0FCA /* Development */, + 52F9095C099D6A4D006F0FCA /* Deployment */, + 52F9095D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9095E099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "StreamingLoadTool" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9095F099D6A4D006F0FCA /* Development */, + 52F90960099D6A4D006F0FCA /* Deployment */, + 52F90961099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90962099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "QTSS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90963099D6A4D006F0FCA /* Development */, + 52F90964099D6A4D006F0FCA /* Deployment */, + 52F90965099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90966099D6A4D006F0FCA /* Build configuration list for PBXApplicationTarget "QTSSLinkApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90967099D6A4D006F0FCA /* Development */, + 52F90968099D6A4D006F0FCA /* Deployment */, + 52F90969099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9096A099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "DSS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9096B099D6A4D006F0FCA /* Development */, + 52F9096C099D6A4D006F0FCA /* Deployment */, + 52F9096D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9096E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSAccessModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9096F099D6A4D006F0FCA /* Development */, + 52F90970099D6A4D006F0FCA /* Deployment */, + 52F90971099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90972099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSFileModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90973099D6A4D006F0FCA /* Development */, + 52F90974099D6A4D006F0FCA /* Deployment */, + 52F90975099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90976099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSAccessLogModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90977099D6A4D006F0FCA /* Development */, + 52F90978099D6A4D006F0FCA /* Deployment */, + 52F90979099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9097A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSReflectorModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9097B099D6A4D006F0FCA /* Development */, + 52F9097C099D6A4D006F0FCA /* Deployment */, + 52F9097D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9097E099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSFlowControlModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9097F099D6A4D006F0FCA /* Development */, + 52F90980099D6A4D006F0FCA /* Deployment */, + 52F90981099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90982099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSWebDebugModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90983099D6A4D006F0FCA /* Development */, + 52F90984099D6A4D006F0FCA /* Deployment */, + 52F90985099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90986099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSPOSIXFileSysModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90987099D6A4D006F0FCA /* Development */, + 52F90988099D6A4D006F0FCA /* Deployment */, + 52F90989099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9098A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "QTSSAdminModule.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9098B099D6A4D006F0FCA /* Development */, + 52F9098C099D6A4D006F0FCA /* Deployment */, + 52F9098D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9098E099D6A4D006F0FCA /* Build configuration list for PBXAggregateTarget "APIModules_All_Dynamic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9098F099D6A4D006F0FCA /* Development */, + 52F90990099D6A4D006F0FCA /* Deployment */, + 52F90991099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90992099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "Server_No_Modules" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90993099D6A4D006F0FCA /* Development */, + 52F90994099D6A4D006F0FCA /* Deployment */, + 52F90995099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F90996099D6A4D006F0FCA /* Build configuration list for PBXToolTarget "StreamingProxyServer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F90997099D6A4D006F0FCA /* Development */, + 52F90998099D6A4D006F0FCA /* Deployment */, + 52F90999099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9099A099D6A4D006F0FCA /* Build configuration list for PBXBundleTarget "SSLeay.bundle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9099B099D6A4D006F0FCA /* Development */, + 52F9099C099D6A4D006F0FCA /* Deployment */, + 52F9099D099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 52F9099E099D6A4D006F0FCA /* Build configuration list for PBXProject "StreamingServer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 52F9099F099D6A4D006F0FCA /* Development */, + 52F909A0099D6A4D006F0FCA /* Deployment */, + 52F909A1099D6A4D006F0FCA /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 5DB82F300DD3AC4C005193F8 /* Build configuration list for PBXBundleTarget "QTSSDemoRedirectModule (Bundle)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5DB82F310DD3AC4C005193F8 /* Development */, + 5DB82F320DD3AC4C005193F8 /* Deployment */, + 5DB82F330DD3AC4C005193F8 /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; + 84CE3C450CEE607F0056DB85 /* Build configuration list for PBXLibraryTarget "QTSSDSAuthModule (Library) OSXServer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 84CE3C460CEE607F0056DB85 /* Development */, + 84CE3C470CEE607F0056DB85 /* Deployment */, + 84CE3C480CEE607F0056DB85 /* Default */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Default; + }; +/* End XCConfigurationList section */ }; - rootObject = 68C3920500C567B67F000001; + rootObject = 68C3920500C567B67F000001 /* Project object */; } diff --git a/WebAdmin/NetSSLeay/SSLeay.c b/WebAdmin/NetSSLeay/SSLeay.c index 1374121..93baf8b 100644 --- a/WebAdmin/NetSSLeay/SSLeay.c +++ b/WebAdmin/NetSSLeay/SSLeay.c @@ -1,9 +1,9 @@ /* * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -62,7 +62,7 @@ SSL_remove_session(ctx,ses) void SSL_flush_sessions(ctx,tm) SSL_CTX * ctx - long tm + SInt32 tm */ @@ -1714,7 +1714,7 @@ XS(XS_Net__SSLeay_CTX_flush_sessions) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_flush_sessions(ctx, tm)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); - long tm = (long)SvIV(ST(1)); + SInt32 tm = (SInt32)SvIV(ST(1)); SSL_CTX_flush_sessions(ctx, tm); } @@ -2117,7 +2117,7 @@ XS(XS_Net__SSLeay_use_RSAPrivateKey_ASN1) { SSL * s = (SSL *)SvIV(ST(0)); unsigned char * d = (unsigned char *)SvPV(ST(1),PL_na); - long len = (long)SvIV(ST(2)); + SInt32 len = (SInt32)SvIV(ST(2)); int RETVAL; dXSTARG; @@ -2189,7 +2189,7 @@ XS(XS_Net__SSLeay_use_PrivateKey_ASN1) int pk = (int)SvIV(ST(0)); SSL * s = (SSL *)SvIV(ST(1)); unsigned char * d = (unsigned char *)SvPV(ST(2),PL_na); - long len = (long)SvIV(ST(3)); + SInt32 len = (SInt32)SvIV(ST(3)); int RETVAL; dXSTARG; @@ -2260,7 +2260,7 @@ XS(XS_Net__SSLeay_use_certificate_ASN1) { SSL * s = (SSL *)SvIV(ST(0)); unsigned char * d = (unsigned char *)SvPV(ST(1),PL_na); - long len = (long)SvIV(ST(2)); + SInt32 len = (SInt32)SvIV(ST(2)); int RETVAL; dXSTARG; @@ -2377,7 +2377,7 @@ XS(XS_Net__SSLeay_get_time) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_time(ses)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); - long RETVAL; + SInt32 RETVAL; dXSTARG; RETVAL = SSL_get_time(ses); @@ -2393,8 +2393,8 @@ XS(XS_Net__SSLeay_set_time) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_time(ses, t)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); - long t = (long)SvIV(ST(1)); - long RETVAL; + SInt32 t = (SInt32)SvIV(ST(1)); + SInt32 RETVAL; dXSTARG; RETVAL = SSL_set_time(ses, t); @@ -2410,7 +2410,7 @@ XS(XS_Net__SSLeay_get_timeout) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_timeout(ses)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); - long RETVAL; + SInt32 RETVAL; dXSTARG; RETVAL = SSL_get_timeout(ses); @@ -2426,8 +2426,8 @@ XS(XS_Net__SSLeay_set_timeout) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_timeout(ses, t)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); - long t = (long)SvIV(ST(1)); - long RETVAL; + SInt32 t = (SInt32)SvIV(ST(1)); + SInt32 RETVAL; dXSTARG; RETVAL = SSL_set_timeout(ses, t); @@ -2761,7 +2761,7 @@ XS(XS_Net__SSLeay_d2i_SSL_SESSION) { SSL_SESSION * a = (SSL_SESSION *)SvIV(ST(0)); unsigned char * pp = (unsigned char *)SvPV(ST(1),PL_na); - long length = (long)SvIV(ST(2)); + SInt32 length = (SInt32)SvIV(ST(2)); SSL_SESSION * RETVAL; dXSTARG; @@ -2828,9 +2828,9 @@ XS(XS_Net__SSLeay_ctrl) { SSL * ssl = (SSL *)SvIV(ST(0)); int cmd = (int)SvIV(ST(1)); - long larg = (long)SvIV(ST(2)); + SInt32 larg = (SInt32)SvIV(ST(2)); char * parg = (char *)SvPV(ST(3),PL_na); - long RETVAL; + SInt32 RETVAL; dXSTARG; RETVAL = SSL_ctrl(ssl, cmd, larg, parg); @@ -2847,9 +2847,9 @@ XS(XS_Net__SSLeay_CTX_ctrl) { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int cmd = (int)SvIV(ST(1)); - long larg = (long)SvIV(ST(2)); + SInt32 larg = (SInt32)SvIV(ST(2)); char * parg = (char *)SvPV(ST(3),PL_na); - long RETVAL; + SInt32 RETVAL; dXSTARG; RETVAL = SSL_CTX_ctrl(ctx, cmd, larg, parg); @@ -2865,7 +2865,7 @@ XS(XS_Net__SSLeay_get_options) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_options(ssl)"); { SSL * ssl = (SSL *)SvIV(ST(0)); - long RETVAL; + SInt32 RETVAL; dXSTARG; RETVAL = SSL_get_options(ssl); @@ -2881,7 +2881,7 @@ XS(XS_Net__SSLeay_set_options) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_options(ssl, op)"); { SSL * ssl = (SSL *)SvIV(ST(0)); - unsigned long op = (unsigned long)SvUV(ST(1)); + UInt32 op = (UInt32)SvUV(ST(1)); SSL_set_options(ssl, op); } @@ -2895,7 +2895,7 @@ XS(XS_Net__SSLeay_CTX_get_options) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_get_options(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); - long RETVAL; + SInt32 RETVAL; dXSTARG; RETVAL = SSL_CTX_get_options(ctx); @@ -2911,7 +2911,7 @@ XS(XS_Net__SSLeay_CTX_set_options) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_set_options(ctx, op)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); - unsigned long op = (unsigned long)SvUV(ST(1)); + UInt32 op = (UInt32)SvUV(ST(1)); SSL_CTX_set_options(ctx, op); } @@ -2944,7 +2944,7 @@ XS(XS_Net__SSLeay_CTX_sess_number) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_number(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); - unsigned long RETVAL; + UInt32 RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_number(ctx); @@ -3212,7 +3212,7 @@ XS(XS_Net__SSLeay_ERR_get_error) if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_get_error()"); { - unsigned long RETVAL; + UInt32 RETVAL; dXSTARG; RETVAL = ERR_get_error(); @@ -3227,7 +3227,7 @@ XS(XS_Net__SSLeay_ERR_peek_error) if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_peek_error()"); { - unsigned long RETVAL; + UInt32 RETVAL; dXSTARG; RETVAL = ERR_peek_error(); @@ -3271,7 +3271,7 @@ XS(XS_Net__SSLeay_ERR_error_string) if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_error_string(error, buf=NULL)"); { - unsigned long error = (unsigned long)SvUV(ST(0)); + UInt32 error = (UInt32)SvUV(ST(0)); char * buf; char * RETVAL; dXSTARG; diff --git a/WebAdmin/QTSSLinkApp/qtsslinkapp_main.m b/WebAdmin/QTSSLinkApp/qtsslinkapp_main.m index 3764f88..0819b09 100644 --- a/WebAdmin/QTSSLinkApp/qtsslinkapp_main.m +++ b/WebAdmin/QTSSLinkApp/qtsslinkapp_main.m @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/WebAdmin/StartupItems.bproj/dummy.c b/WebAdmin/StartupItems.bproj/dummy.c index 4d30ee3..d521c5a 100644 --- a/WebAdmin/StartupItems.bproj/dummy.c +++ b/WebAdmin/StartupItems.bproj/dummy.c @@ -2,9 +2,9 @@ * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * + * + * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in diff --git a/WebAdmin/WebAdminHtml/adminprotocol-lib.pl b/WebAdmin/WebAdminHtml/adminprotocol-lib.pl index 7ee2869..9375855 100644 --- a/WebAdmin/WebAdminHtml/adminprotocol-lib.pl +++ b/WebAdmin/WebAdminHtml/adminprotocol-lib.pl @@ -4,7 +4,8 @@ # # @APPLE_LICENSE_HEADER_START@ # -# Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. +# +# Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. # # This file contains Original Code and/or Modifications of Original Code # as defined in and that are subject to the Apple Public Source License @@ -329,7 +330,12 @@ sub HasValue { # sub SetAttribute (data, messageHash, authheader, server, port, fullpath, value, [type]) # Sends an admin protocol set command and returns the error value sub SetAttribute { - my $uri = "/modules".$_[5]."?command=set+value="."\"$_[6]\""; + # get the value + $valueStr = $_[6]; + # encode value as percent-escaped string + $valueStr =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + + my $uri = "/modules".$_[5]."?command=set+value="."\"$valueStr\""; my $code = 400; if($_[7]) { $uri .= "+type=$_[7]"; diff --git a/WebAdmin/WebAdminHtml/broadcaster_lib.pl b/WebAdmin/WebAdminHtml/broadcaster_lib.pl index 111d86a..146c2f1 100644 --- a/WebAdmin/WebAdminHtml/broadcaster_lib.pl +++ b/WebAdmin/WebAdminHtml/broadcaster_lib.pl @@ -1,4 +1,27 @@ #!/usr/bin/perl +# +# @APPLE_LICENSE_HEADER_START@ +# +# +# Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. +# +# This file contains Original Code and/or Modifications of Original Code +# as defined in and that are subject to the Apple Public Source License +# Version 2.0 (the 'License'). You may not use this file except in +# compliance with the License. Please obtain a copy of the License at +# http://www.opensource.apple.com/apsl/ and read it before using this +# file. +# +# The Original Code and all software distributed under the License are +# distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, +# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. +# Please see the License for the specific language governing rights and +# limitations under the License. +# +# @APPLE_LICENSE_HEADER_END@ +# package broadcasterlib; use Foundation; @@ -236,7 +259,9 @@ sub GetServerConnection my $server = NSConnection->rootProxyForConnectionWithRegisteredName_host_($serverName, 0); if ((!$server || !$$server) && (GetServerUsername() eq '') && ($autostart == 1)) { CheckForStreamingServerSettingsFile(); - exec "/Applications/QuickTime Broadcaster.app/Contents/MacOS/QuickTime Broadcaster", "-noui"; + if (fork()) { + exec "/Applications/QuickTime Broadcaster.app/Contents/MacOS/QuickTime Broadcaster", "-noui" or print STDERR "couldn't exec: $!"; + } } if (!(!$server || !$$server)) { $server->retain(); @@ -710,4 +735,4 @@ sub QuitBroadcaster $server->quit; } -1; \ No newline at end of file +1; diff --git a/WebAdmin/WebAdminHtml/cgi-lib.pl b/WebAdmin/WebAdminHtml/cgi-lib.pl index 2cf5a0a..432a9e1 100644 --- a/WebAdmin/WebAdminHtml/cgi-lib.pl +++ b/WebAdmin/WebAdminHtml/cgi-lib.pl @@ -4,7 +4,8 @@ # # @APPLE_LICENSE_HEADER_START@ # -# Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. +# +# Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. # # This file contains Original Code and/or Modifications of Original Code # as defined in and that are subject to the Apple Public Source License diff --git a/WebAdmin/WebAdminHtml/change_broadcast_password.html b/WebAdmin/WebAdminHtml/change_broadcast_password.html index 3a43167..0c02aec 100644 --- a/WebAdmin/WebAdminHtml/change_broadcast_password.html +++ b/WebAdmin/WebAdminHtml/change_broadcast_password.html @@ -95,9 +95,6 @@

- - - diff --git a/WebAdmin/WebAdminHtml/html_en/messages b/WebAdmin/WebAdminHtml/html_en/messages index 4152353..46ee37e 100644 --- a/WebAdmin/WebAdminHtml/html_en/messages +++ b/WebAdmin/WebAdminHtml/html_en/messages @@ -381,6 +381,10 @@ RelaySaveText "Your relay was saved successfully." RelayErrNoName "You must enter a relay name." RelayErrNoSourceIP "You must enter a source IP address or hostname." RelayErrMulticastTTLIncorrect "The Multicast TTL must be a number between 1 and 255." +RelayErrNoDestType "One of your relay destinations has no type. Please pick one (announced or unnanounced)." +RelayErrNoDestMountpoint "One of your announced relay destinations has no mount point. Please specify one before saving." +RelayErrNoDestBasePort "One of your unannounced relay destinations has no base port. Please specify one before saving." +RelayErrNameConflict "A relay with this name already exists. Please choose a different name." RelayDeleteConfirm "Are you sure you want to delete the selected relay?" # QuickTime Broadcaster Admin (Mac OS X Only) diff --git a/WebAdmin/WebAdminHtml/includes/DarwinDragWidget.js b/WebAdmin/WebAdminHtml/includes/DarwinDragWidget.js new file mode 100644 index 0000000..352e295 --- /dev/null +++ b/WebAdmin/WebAdminHtml/includes/DarwinDragWidget.js @@ -0,0 +1,136 @@ +// Constants +var offsetX = 12; +var offsetY = 0; +var tolerance = 6; + +// Globals +var darwinOriginalDragX = 0; +var darwinOriginalDrayY = 0; +var currentDragBox = null; + +// Constructor for the DarwinDragWidget class. +function DarwinDragWidget(window, multipleSelectedString) { + // Remember some arguments for later. + this.window = window; + this.id = 'darwinDragWidget'; + this.body = ''; + this.multipleSelectedString = multipleSelectedString; + // Output a CSS-P style sheet for this document. + var d = window.document; + d.writeln(' + //