summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/QuickTimeStreaming.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/QuickTimeStreaming.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/QuickTimeStreaming.h')
-rw-r--r--common/quicktime_win32/QuickTimeStreaming.h2725
1 files changed, 2725 insertions, 0 deletions
diff --git a/common/quicktime_win32/QuickTimeStreaming.h b/common/quicktime_win32/QuickTimeStreaming.h
new file mode 100644
index 0000000..8842d79
--- /dev/null
+++ b/common/quicktime_win32/QuickTimeStreaming.h
@@ -0,0 +1,2725 @@
+/*
+ File: QuickTimeStreaming.h
+
+ Contains: QuickTime Interfaces.
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1990-2007 by Apple Inc., all rights reserved
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://developer.apple.com/bugreporter/
+
+*/
+#ifndef __QUICKTIMESTREAMING__
+#define __QUICKTIMESTREAMING__
+
+#ifndef __QUICKDRAW__
+#include <Quickdraw.h>
+#endif
+
+#ifndef __COMPONENTS__
+#include <Components.h>
+#endif
+
+#ifndef __MACERRORS__
+#include <MacErrors.h>
+#endif
+
+#ifndef __MOVIES__
+#include <Movies.h>
+#endif
+
+#ifndef __QUICKTIMECOMPONENTS__
+#include <QuickTimeComponents.h>
+#endif
+
+
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=mac68k
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+/* QuickTime is not available to 64-bit clients */
+
+#if !__LP64__
+
+enum {
+ kQTSInfiniteDuration = 0x7FFFFFFF,
+ kQTSUnknownDuration = 0x00000000,
+ kQTSNormalForwardRate = 0x00010000,
+ kQTSStoppedRate = 0x00000000
+};
+
+struct QTSPresentationRecord {
+ long data[1];
+};
+typedef struct QTSPresentationRecord QTSPresentationRecord;
+typedef QTSPresentationRecord * QTSPresentation;
+struct QTSStreamRecord {
+ long data[1];
+};
+typedef struct QTSStreamRecord QTSStreamRecord;
+typedef QTSStreamRecord * QTSStream;
+struct QTSEditEntry {
+ TimeValue64 presentationDuration;
+ TimeValue64 streamStartTime;
+ Fixed streamRate;
+};
+typedef struct QTSEditEntry QTSEditEntry;
+struct QTSEditList {
+ SInt32 numEdits;
+ QTSEditEntry edits[1];
+};
+typedef struct QTSEditList QTSEditList;
+typedef QTSEditList * QTSEditListPtr;
+typedef QTSEditListPtr * QTSEditListHandle;
+#define kQTSInvalidPresentation (QTSPresentation)0L
+#define kQTSAllPresentations (QTSPresentation)0L
+#define kQTSInvalidStream (QTSStream)0L
+#define kQTSAllStreams (QTSStream)0L
+typedef CALLBACK_API( ComponentResult , QTSNotificationProcPtr )(ComponentResult inErr, OSType inNotificationType, void *inNotificationParams, void *inRefCon);
+typedef STACK_UPP_TYPE(QTSNotificationProcPtr) QTSNotificationUPP;
+/*-----------------------------------------
+ Get / Set Info
+-----------------------------------------*/
+enum {
+ kQTSGetURLLink = FOUR_CHAR_CODE('gull') /* QTSGetURLLinkRecord* */
+};
+
+/* get and set */
+enum {
+ kQTSTargetBufferDurationInfo = FOUR_CHAR_CODE('bufr'), /* Fixed* in seconds; expected, not actual */
+ kQTSDurationInfo = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom* */
+ kQTSSoundLevelMeteringEnabledInfo = FOUR_CHAR_CODE('mtrn'), /* Boolean* */
+ kQTSSoundLevelMeterInfo = FOUR_CHAR_CODE('levm'), /* LevelMeterInfoPtr */
+ kQTSSourceTrackIDInfo = FOUR_CHAR_CODE('otid'), /* UInt32* */
+ kQTSSourceLayerInfo = FOUR_CHAR_CODE('olyr'), /* UInt16* */
+ kQTSSourceLanguageInfo = FOUR_CHAR_CODE('olng'), /* UInt16* */
+ kQTSSourceTrackFlagsInfo = FOUR_CHAR_CODE('otfl'), /* SInt32* */
+ kQTSSourceDimensionsInfo = FOUR_CHAR_CODE('odim'), /* QTSDimensionParams* */
+ kQTSSourceVolumesInfo = FOUR_CHAR_CODE('ovol'), /* QTSVolumesParams* */
+ kQTSSourceMatrixInfo = FOUR_CHAR_CODE('omat'), /* MatrixRecord* */
+ kQTSSourceClipRectInfo = FOUR_CHAR_CODE('oclp'), /* Rect* */
+ kQTSSourceGraphicsModeInfo = FOUR_CHAR_CODE('ogrm'), /* QTSGraphicsModeParams* */
+ kQTSSourceScaleInfo = FOUR_CHAR_CODE('oscl'), /* Point* */
+ kQTSSourceBoundingRectInfo = FOUR_CHAR_CODE('orct'), /* Rect* */
+ kQTSSourceUserDataInfo = FOUR_CHAR_CODE('oudt'), /* UserData */
+ kQTSSourceInputMapInfo = FOUR_CHAR_CODE('oimp'), /* QTAtomContainer */
+ kQTSInfo_DataProc = FOUR_CHAR_CODE('datp'), /* QTSDataProcParams* */
+ kQTSInfo_SendDataExtras = FOUR_CHAR_CODE('dext'), /* QTSSendDataExtrasParams* */
+ kQTSInfo_HintTrackID = FOUR_CHAR_CODE('htid'), /* long* */
+ kQTSInfo_URL = FOUR_CHAR_CODE('url '), /* Handle*, cstring in handle */
+ kQTSInfo_Authentication = FOUR_CHAR_CODE('auup'), /* QTSAuthenticationParams */
+ kQTSInfo_MediaPacketizer = FOUR_CHAR_CODE('rmpk') /* ComponentInstance */
+};
+
+/* get only */
+enum {
+ kQTSStatisticsInfo = FOUR_CHAR_CODE('stat'), /* QTSStatisticsParams* */
+ kQTSMinStatusDimensionsInfo = FOUR_CHAR_CODE('mstd'), /* QTSDimensionParams* */
+ kQTSNormalStatusDimensionsInfo = FOUR_CHAR_CODE('nstd'), /* QTSDimensionParams* */
+ kQTSTotalDataRateInfo = FOUR_CHAR_CODE('drtt'), /* UInt32*, add to what's there */
+ kQTSTotalDataRateInInfo = FOUR_CHAR_CODE('drti'), /* UInt32*, add to what's there */
+ kQTSTotalDataRateOutInfo = FOUR_CHAR_CODE('drto'), /* UInt32*, add to what's there */
+ kQTSLostPercentInfo = FOUR_CHAR_CODE('lpct'), /* QTSLostPercentParams*, add to what's there */
+ kQTSNumViewersInfo = FOUR_CHAR_CODE('nviw'), /* UInt32* */
+ kQTSMediaTypeInfo = FOUR_CHAR_CODE('mtyp'), /* OSType* */
+ kQTSNameInfo = FOUR_CHAR_CODE('name'), /* QTSNameParams* */
+ kQTSCanHandleSendDataType = FOUR_CHAR_CODE('chsd'), /* QTSCanHandleSendDataTypeParams* */
+ kQTSAnnotationsInfo = FOUR_CHAR_CODE('meta'), /* QTAtomContainer */
+ kQTSRemainingBufferTimeInfo = FOUR_CHAR_CODE('btms'), /* UInt32* remaining buffer time before playback, in microseconds */
+ kQTSInfo_SettingsText = FOUR_CHAR_CODE('sttx'), /* QTSSettingsTextParams* */
+ kQTSInfo_AverageFrameRate = FOUR_CHAR_CODE('fps ') /* UnsignedFixed* */
+};
+
+
+struct QTSAuthenticationParams {
+ SInt32 flags;
+ const char * userID; /* caller disposes of pointer*/
+ const char * password; /* caller disposes of pointer*/
+};
+typedef struct QTSAuthenticationParams QTSAuthenticationParams;
+enum {
+ kQTSTargetBufferDurationTimeScale = 1000
+};
+
+struct QTSPanelFilterParams {
+ SInt32 version;
+ QTSStream inStream;
+ OSType inPanelType;
+ OSType inPanelSubType;
+ QTAtomSpec details;
+};
+typedef struct QTSPanelFilterParams QTSPanelFilterParams;
+/* return true to keep this panel*/
+typedef CALLBACK_API( Boolean , QTSPanelFilterProcPtr )(QTSPanelFilterParams *inParams, void *inRefCon);
+typedef STACK_UPP_TYPE(QTSPanelFilterProcPtr) QTSPanelFilterUPP;
+enum {
+ kQTSSettingsTextSummary = FOUR_CHAR_CODE('set1'),
+ kQTSSettingsTextDetails = FOUR_CHAR_CODE('setd')
+};
+
+struct QTSSettingsTextParams {
+ SInt32 flags; /* None yet defined*/
+ OSType inSettingsSelector; /* which kind of setting you want from enum above*/
+ Handle outSettingsAsText; /* QTS allocates; Caller disposes*/
+ QTSPanelFilterUPP inPanelFilterProc; /* To get a subset filter with this */
+ void * inPanelFilterProcRefCon;
+};
+typedef struct QTSSettingsTextParams QTSSettingsTextParams;
+struct QTSCanHandleSendDataTypeParams {
+ SInt32 modifierTypeOrInputID;
+ Boolean isModifierType;
+ Boolean returnedCanHandleSendDataType; /* callee sets to true if it can handle it*/
+};
+typedef struct QTSCanHandleSendDataTypeParams QTSCanHandleSendDataTypeParams;
+struct QTSNameParams {
+ SInt32 maxNameLength;
+ SInt32 requestedLanguage;
+ SInt32 returnedActualLanguage;
+ unsigned char * returnedName; /* pascal string; caller supplies*/
+};
+typedef struct QTSNameParams QTSNameParams;
+struct QTSLostPercentParams {
+ UInt32 receivedPkts;
+ UInt32 lostPkts;
+ Fixed percent;
+};
+typedef struct QTSLostPercentParams QTSLostPercentParams;
+struct QTSDimensionParams {
+ Fixed width;
+ Fixed height;
+};
+typedef struct QTSDimensionParams QTSDimensionParams;
+struct QTSVolumesParams {
+ SInt16 leftVolume;
+ SInt16 rightVolume;
+};
+typedef struct QTSVolumesParams QTSVolumesParams;
+struct QTSGraphicsModeParams {
+ SInt16 graphicsMode;
+ RGBColor opColor;
+};
+typedef struct QTSGraphicsModeParams QTSGraphicsModeParams;
+struct QTSGetURLLinkRecord {
+ Point displayWhere;
+ Handle returnedURLLink;
+};
+typedef struct QTSGetURLLinkRecord QTSGetURLLinkRecord;
+enum {
+ kQTSDataProcParamsVersion1 = 1
+};
+
+enum {
+ kQTSDataProcType_MediaSample = FOUR_CHAR_CODE('mdia'),
+ kQTSDataProcType_HintSample = FOUR_CHAR_CODE('hint')
+};
+
+struct QTSDataProcParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSStream stream;
+ OSType procType;
+ QTSNotificationUPP proc;
+ void * procRefCon;
+};
+typedef struct QTSDataProcParams QTSDataProcParams;
+enum {
+ kQTSDataProcSelector_SampleData = FOUR_CHAR_CODE('samp'),
+ kQTSDataProcSelector_UserData = FOUR_CHAR_CODE('user')
+};
+
+enum {
+ kQTSSampleDataCallbackParamsVersion1 = 1
+};
+
+struct QTSSampleDataCallbackParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSStream stream;
+ OSType procType;
+ OSType mediaType;
+ TimeScale mediaTimeScale;
+ SampleDescriptionHandle sampleDesc;
+ UInt32 sampleDescSeed;
+ TimeValue64 sampleTime;
+ TimeValue64 duration; /* could be 0 */
+ SInt32 sampleFlags;
+ UInt32 dataLength;
+ const void * data;
+};
+typedef struct QTSSampleDataCallbackParams QTSSampleDataCallbackParams;
+enum {
+ kQTSUserDataCallbackParamsVersion1 = 1
+};
+
+struct QTSUserDataCallbackParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSStream stream;
+ OSType procType;
+ OSType userDataType;
+ Handle userDataHandle; /* caller must make copy if it wants to keep the data around*/
+};
+typedef struct QTSUserDataCallbackParams QTSUserDataCallbackParams;
+enum {
+ kQTSSendDataExtrasParamsVersion1 = 1
+};
+
+struct QTSSendDataExtrasParams {
+ SInt32 version;
+ SInt32 flags;
+ OSType procType;
+};
+typedef struct QTSSendDataExtrasParams QTSSendDataExtrasParams;
+typedef CALLBACK_API( Boolean , QTSModalFilterProcPtr )(DialogPtr inDialog, const EventRecord *inEvent, SInt16 *ioItemHit, void *inRefCon);
+typedef STACK_UPP_TYPE(QTSModalFilterProcPtr) QTSModalFilterUPP;
+/*-----------------------------------------
+ Characteristics
+-----------------------------------------*/
+/* characteristics in Movies.h work here too */
+enum {
+ kQTSSupportsPerStreamControlCharacteristic = FOUR_CHAR_CODE('psct')
+};
+
+struct QTSVideoParams {
+ Fixed width;
+ Fixed height;
+ MatrixRecord matrix;
+ CGrafPtr gWorld;
+ GDHandle gdHandle;
+ RgnHandle clip;
+ short graphicsMode;
+ RGBColor opColor;
+};
+typedef struct QTSVideoParams QTSVideoParams;
+struct QTSAudioParams {
+ SInt16 leftVolume;
+ SInt16 rightVolume;
+ SInt16 bassLevel;
+ SInt16 trebleLevel;
+ short frequencyBandsCount;
+ void * frequencyBands;
+ Boolean levelMeteringEnabled;
+};
+typedef struct QTSAudioParams QTSAudioParams;
+struct QTSMediaParams {
+ QTSVideoParams v;
+ QTSAudioParams a;
+};
+typedef struct QTSMediaParams QTSMediaParams;
+enum {
+ kQTSMustDraw = 1 << 3,
+ kQTSAtEnd = 1 << 4,
+ kQTSPreflightDraw = 1 << 5,
+ kQTSSyncDrawing = 1 << 6
+};
+
+/* media task result flags */
+enum {
+ kQTSDidDraw = 1 << 0,
+ kQTSNeedsToDraw = 1 << 2,
+ kQTSDrawAgain = 1 << 3,
+ kQTSPartialDraw = 1 << 4
+};
+
+/*============================================================================
+ Notifications
+============================================================================*/
+/* ------ notification types ------ */
+enum {
+ kQTSNullNotification = FOUR_CHAR_CODE('null'), /* NULL */
+ kQTSErrorNotification = FOUR_CHAR_CODE('err '), /* QTSErrorParams*, optional */
+ kQTSNewPresDetectedNotification = FOUR_CHAR_CODE('newp'), /* QTSNewPresDetectedParams* */
+ kQTSPresBeginChangingNotification = FOUR_CHAR_CODE('prcb'), /* NULL */
+ kQTSPresDoneChangingNotification = FOUR_CHAR_CODE('prcd'), /* NULL */
+ kQTSPresentationChangedNotification = FOUR_CHAR_CODE('prch'), /* NULL */
+ kQTSNewStreamNotification = FOUR_CHAR_CODE('stnw'), /* QTSNewStreamParams* */
+ kQTSStreamBeginChangingNotification = FOUR_CHAR_CODE('stcb'), /* QTSStream */
+ kQTSStreamDoneChangingNotification = FOUR_CHAR_CODE('stcd'), /* QTSStream */
+ kQTSStreamChangedNotification = FOUR_CHAR_CODE('stch'), /* QTSStreamChangedParams* */
+ kQTSStreamGoneNotification = FOUR_CHAR_CODE('stgn'), /* QTSStreamGoneParams* */
+ kQTSPreviewAckNotification = FOUR_CHAR_CODE('pvak'), /* QTSStream */
+ kQTSPrerollAckNotification = FOUR_CHAR_CODE('pack'), /* QTSStream */
+ kQTSStartAckNotification = FOUR_CHAR_CODE('sack'), /* QTSStream */
+ kQTSStopAckNotification = FOUR_CHAR_CODE('xack'), /* QTSStream */
+ kQTSStatusNotification = FOUR_CHAR_CODE('stat'), /* QTSStatusParams* */
+ kQTSURLNotification = FOUR_CHAR_CODE('url '), /* QTSURLParams* */
+ kQTSDurationNotification = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom* */
+ kQTSNewPresentationNotification = FOUR_CHAR_CODE('nprs'), /* QTSPresentation */
+ kQTSPresentationGoneNotification = FOUR_CHAR_CODE('xprs'), /* QTSPresentation */
+ kQTSPresentationDoneNotification = FOUR_CHAR_CODE('pdon'), /* NULL */
+ kQTSBandwidthAlertNotification = FOUR_CHAR_CODE('bwal'), /* QTSBandwidthAlertParams* */
+ kQTSAnnotationsChangedNotification = FOUR_CHAR_CODE('meta') /* NULL */
+};
+
+
+/* flags for QTSErrorParams */
+enum {
+ kQTSFatalErrorFlag = 0x00000001
+};
+
+struct QTSErrorParams {
+ const char * errorString;
+ SInt32 flags;
+};
+typedef struct QTSErrorParams QTSErrorParams;
+struct QTSNewPresDetectedParams {
+ void * data;
+};
+typedef struct QTSNewPresDetectedParams QTSNewPresDetectedParams;
+struct QTSNewStreamParams {
+ QTSStream stream;
+};
+typedef struct QTSNewStreamParams QTSNewStreamParams;
+struct QTSStreamChangedParams {
+ QTSStream stream;
+ ComponentInstance mediaComponent; /* could be NULL */
+};
+typedef struct QTSStreamChangedParams QTSStreamChangedParams;
+struct QTSStreamGoneParams {
+ QTSStream stream;
+};
+typedef struct QTSStreamGoneParams QTSStreamGoneParams;
+struct QTSStatusParams {
+ UInt32 status;
+ const char * statusString;
+ UInt32 detailedStatus;
+ const char * detailedStatusString;
+};
+typedef struct QTSStatusParams QTSStatusParams;
+struct QTSInfoParams {
+ OSType infoType;
+ void * infoParams;
+};
+typedef struct QTSInfoParams QTSInfoParams;
+struct QTSURLParams {
+ UInt32 urlLength;
+ const char * url;
+};
+typedef struct QTSURLParams QTSURLParams;
+enum {
+ kQTSBandwidthAlertNeedToStop = 1 << 0,
+ kQTSBandwidthAlertRestartAt = 1 << 1
+};
+
+struct QTSBandwidthAlertParams {
+ SInt32 flags;
+ TimeValue restartAt; /* new field in QT 4.1*/
+ void * reserved;
+};
+typedef struct QTSBandwidthAlertParams QTSBandwidthAlertParams;
+/*============================================================================
+ Presentation
+============================================================================*/
+/*-----------------------------------------
+ Flags
+-----------------------------------------*/
+/* flags for NewPresentationFromData */
+enum {
+ kQTSAutoModeFlag = 0x00000001,
+ kQTSDontShowStatusFlag = 0x00000008,
+ kQTSSendMediaFlag = 0x00010000,
+ kQTSReceiveMediaFlag = 0x00020000
+};
+
+struct QTSNewPresentationParams {
+ OSType dataType;
+ const void * data;
+ UInt32 dataLength;
+ QTSEditListHandle editList;
+ SInt32 flags;
+ TimeScale timeScale; /* set to 0 for default timescale */
+ QTSMediaParams * mediaParams;
+ QTSNotificationUPP notificationProc;
+ void * notificationRefCon;
+};
+typedef struct QTSNewPresentationParams QTSNewPresentationParams;
+struct QTSPresParams {
+ UInt32 version;
+ QTSEditListHandle editList;
+ SInt32 flags;
+ TimeScale timeScale; /* set to 0 for default timescale */
+ QTSMediaParams * mediaParams;
+ QTSNotificationUPP notificationProc;
+ void * notificationRefCon;
+};
+typedef struct QTSPresParams QTSPresParams;
+enum {
+ kQTSPresParamsVersion1 = 1
+};
+
+struct QTSPresIdleParams {
+ QTSStream stream;
+ TimeValue64 movieTimeToDisplay;
+ SInt32 flagsIn;
+ SInt32 flagsOut;
+};
+typedef struct QTSPresIdleParams QTSPresIdleParams;
+enum {
+ kQTSExportFlag_ShowDialog = 0x00000001
+};
+
+enum {
+ kQTSExportParamsVersion1 = 1
+};
+
+struct QTSExportParams {
+ SInt32 version;
+ OSType exportType;
+ void * exportExtraData;
+ OSType destinationContainerType;
+ void * destinationContainerData;
+ void * destinationContainerExtras;
+ SInt32 flagsIn;
+ SInt32 flagsOut;
+ QTSModalFilterUPP filterProc;
+ void * filterProcRefCon;
+ Component exportComponent; /* NULL unless you want to override */
+};
+typedef struct QTSExportParams QTSExportParams;
+/*-----------------------------------------
+ Toolbox Init/Close
+-----------------------------------------*/
+/* all "apps" must call this */
+/*
+ * InitializeQTS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+InitializeQTS(void);
+
+
+/*
+ * TerminateQTS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+TerminateQTS(void);
+
+
+/*-----------------------------------------
+ Presentation Functions
+-----------------------------------------*/
+/*
+ * QTSNewPresentation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentation(
+ const QTSNewPresentationParams * inParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSNewPresentationFromData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentationFromData(
+ OSType inDataType,
+ const void * inData,
+ const SInt64 * inDataLength,
+ const QTSPresParams * inPresParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSNewPresentationFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentationFromFile(
+ const FSSpec * inFileSpec,
+ const QTSPresParams * inPresParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSNewPresentationFromDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentationFromDataRef(
+ Handle inDataRef,
+ OSType inDataRefType,
+ const QTSPresParams * inPresParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSDisposePresentation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDisposePresentation(
+ QTSPresentation inPresentation,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresExport()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresExport(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ QTSExportParams * inExportParams);
+
+
+/*
+ * QTSPresIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( void )
+QTSPresIdle(
+ QTSPresentation inPresentation,
+ QTSPresIdleParams * ioParams);
+
+
+/*
+ * QTSPresInvalidateRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresInvalidateRegion(
+ QTSPresentation inPresentation,
+ RgnHandle inRegion);
+
+
+/*-----------------------------------------
+ Presentation Configuration
+-----------------------------------------*/
+/*
+ * QTSPresSetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetFlags(
+ QTSPresentation inPresentation,
+ SInt32 inFlags,
+ SInt32 inFlagsMask);
+
+
+/*
+ * QTSPresGetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetFlags(
+ QTSPresentation inPresentation,
+ SInt32 * outFlags);
+
+
+/*
+ * QTSPresGetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetTimeBase(
+ QTSPresentation inPresentation,
+ TimeBase * outTimeBase);
+
+
+/*
+ * QTSPresGetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetTimeScale(
+ QTSPresentation inPresentation,
+ TimeScale * outTimeScale);
+
+
+/*
+ * QTSPresSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetInfo(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inSelector,
+ void * ioParam);
+
+
+/*
+ * QTSPresGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetInfo(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inSelector,
+ void * ioParam);
+
+
+/*
+ * QTSPresHasCharacteristic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresHasCharacteristic(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inCharacteristic,
+ Boolean * outHasIt);
+
+
+/*
+ * QTSPresSetNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetNotificationProc(
+ QTSPresentation inPresentation,
+ QTSNotificationUPP inNotificationProc,
+ void * inRefCon);
+
+
+/*
+ * QTSPresGetNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetNotificationProc(
+ QTSPresentation inPresentation,
+ QTSNotificationUPP * outNotificationProc,
+ void ** outRefCon);
+
+
+/*-----------------------------------------
+ Presentation Control
+-----------------------------------------*/
+/*
+ * QTSPresPreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresPreview(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const TimeValue64 * inTimeValue,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresPreroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresPreroll(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ UInt32 inTimeValue,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresPreroll64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresPreroll64(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const TimeValue64 * inPrerollTime,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresStart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresStart(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresSkipTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSkipTo(
+ QTSPresentation inPresentation,
+ UInt32 inTimeValue);
+
+
+/*
+ * QTSPresSkipTo64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSkipTo64(
+ QTSPresentation inPresentation,
+ const TimeValue64 * inTimeValue);
+
+
+/*
+ * QTSPresStop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresStop(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags);
+
+
+/*============================================================================
+ Streams
+============================================================================*/
+/*-----------------------------------------
+ Stream Functions
+-----------------------------------------*/
+/*
+ * QTSPresNewStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresNewStream(
+ QTSPresentation inPresentation,
+ OSType inDataType,
+ const void * inData,
+ UInt32 inDataLength,
+ SInt32 inFlags,
+ QTSStream * outStream);
+
+
+/*
+ * QTSDisposeStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDisposeStream(
+ QTSStream inStream,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetNumStreams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSPresGetNumStreams(QTSPresentation inPresentation);
+
+
+/*
+ * QTSPresGetIndStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStream )
+QTSPresGetIndStream(
+ QTSPresentation inPresentation,
+ UInt32 inIndex);
+
+
+/*
+ * QTSGetStreamPresentation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSPresentation )
+QTSGetStreamPresentation(QTSStream inStream);
+
+
+/*
+ * QTSPresSetPreferredRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetPreferredRate(
+ QTSPresentation inPresentation,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetPreferredRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPreferredRate(
+ QTSPresentation inPresentation,
+ Fixed * outRate);
+
+
+/*
+ * QTSPresSetEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetEnable(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean inEnableMode);
+
+
+/*
+ * QTSPresGetEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetEnable(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean * outEnableMode);
+
+
+/*
+ * QTSPresSetPresenting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetPresenting(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean inPresentingMode);
+
+
+/*
+ * QTSPresGetPresenting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPresenting(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean * outPresentingMode);
+
+
+/*
+ * QTSPresSetActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetActiveSegment(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const TimeValue64 * inStartTime,
+ const TimeValue64 * inDuration);
+
+
+/*
+ * QTSPresGetActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetActiveSegment(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ TimeValue64 * outStartTime,
+ TimeValue64 * outDuration);
+
+
+/*
+ * QTSPresSetPlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetPlayHints(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ SInt32 inFlagsMask);
+
+
+/*
+ * QTSPresGetPlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPlayHints(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 * outFlags);
+
+
+/*-----------------------------------------
+ Stream Spatial Functions
+-----------------------------------------*/
+/*
+ * QTSPresSetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetGWorld(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ CGrafPtr inGWorld,
+ GDHandle inGDHandle);
+
+
+/*
+ * QTSPresGetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetGWorld(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ CGrafPtr * outGWorld,
+ GDHandle * outGDHandle);
+
+
+/*
+ * QTSPresSetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetClip(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ RgnHandle inClip);
+
+
+/*
+ * QTSPresGetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetClip(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ RgnHandle * outClip);
+
+
+/*
+ * QTSPresSetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetMatrix(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const MatrixRecord * inMatrix);
+
+
+/*
+ * QTSPresGetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetMatrix(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ MatrixRecord * outMatrix);
+
+
+/*
+ * QTSPresSetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetDimensions(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Fixed inWidth,
+ Fixed inHeight);
+
+
+/*
+ * QTSPresGetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetDimensions(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Fixed * outWidth,
+ Fixed * outHeight);
+
+
+/*
+ * QTSPresSetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetGraphicsMode(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short inMode,
+ const RGBColor * inOpColor);
+
+
+/*
+ * QTSPresGetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetGraphicsMode(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short * outMode,
+ RGBColor * outOpColor);
+
+
+/*
+ * QTSPresGetPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPicture(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ PicHandle * outPicture);
+
+
+/*-----------------------------------------
+ Stream Sound Functions
+-----------------------------------------*/
+/*
+ * QTSPresSetVolumes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetVolumes(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short inLeftVolume,
+ short inRightVolume);
+
+
+/*
+ * QTSPresGetVolumes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetVolumes(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short * outLeftVolume,
+ short * outRightVolume);
+
+
+/*-----------------------------------------
+ Sourcing
+-----------------------------------------*/
+/*
+ * QTSPresGetSettingsAsText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetSettingsAsText(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ OSType inSettingsType,
+ Handle * outText,
+ QTSPanelFilterUPP inPanelFilterProc,
+ void * inPanelFilterProcRefCon);
+
+
+/*
+ * QTSPresSettingsDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSettingsDialog(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ QTSModalFilterUPP inFilterProc,
+ void * inFilterProcRefCon);
+
+
+/*
+ * QTSPresSettingsDialogWithFilters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSettingsDialogWithFilters(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ QTSModalFilterUPP inFilterProc,
+ void * inFilterProcRefCon,
+ QTSPanelFilterUPP inPanelFilterProc,
+ void * inPanelFilterProcRefCon);
+
+
+/*
+ * QTSPresSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetSettings(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ QTAtomSpecPtr inSettings,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetSettings(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ QTAtomContainer * outSettings,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresAddSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresAddSourcer(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ ComponentInstance inSourcer,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresRemoveSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresRemoveSourcer(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ ComponentInstance inSourcer,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetNumSourcers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSPresGetNumSourcers(
+ QTSPresentation inPresentation,
+ QTSStream inStream);
+
+
+/*
+ * QTSPresGetIndSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetIndSourcer(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ UInt32 inIndex,
+ ComponentInstance * outSourcer);
+
+
+/*============================================================================
+ Misc
+============================================================================*/
+/* flags for Get/SetNetworkAppName */
+enum {
+ kQTSNetworkAppNameIsFullNameFlag = 0x00000001
+};
+
+/*
+ * QTSSetNetworkAppName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSSetNetworkAppName(
+ const char * inAppName,
+ SInt32 inFlags);
+
+
+/*
+ * QTSGetNetworkAppName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSGetNetworkAppName(
+ SInt32 inFlags,
+ char ** outCStringPtr);
+
+
+/*-----------------------------------------
+ Statistics Utilities
+-----------------------------------------*/
+struct QTSStatHelperRecord {
+ long data[1];
+};
+typedef struct QTSStatHelperRecord QTSStatHelperRecord;
+typedef QTSStatHelperRecord * QTSStatHelper;
+enum {
+ kQTSInvalidStatHelper = 0L
+};
+
+/* flags for QTSStatHelperNextParams */
+enum {
+ kQTSStatHelperReturnPascalStringsFlag = 0x00000001
+};
+
+struct QTSStatHelperNextParams {
+ SInt32 flags;
+ OSType returnedStatisticsType;
+ QTSStream returnedStream;
+ UInt32 maxStatNameLength;
+ char * returnedStatName; /* NULL if you don't want it*/
+ UInt32 maxStatStringLength;
+ char * returnedStatString; /* NULL if you don't want it*/
+ UInt32 maxStatUnitLength;
+ char * returnedStatUnit; /* NULL if you don't want it*/
+};
+typedef struct QTSStatHelperNextParams QTSStatHelperNextParams;
+struct QTSStatisticsParams {
+ OSType statisticsType;
+ QTAtomContainer container;
+ QTAtom parentAtom;
+ SInt32 flags;
+};
+typedef struct QTSStatisticsParams QTSStatisticsParams;
+/* general statistics types */
+enum {
+ kQTSAllStatisticsType = FOUR_CHAR_CODE('all '),
+ kQTSShortStatisticsType = FOUR_CHAR_CODE('shrt'),
+ kQTSSummaryStatisticsType = FOUR_CHAR_CODE('summ')
+};
+
+/* statistics flags */
+enum {
+ kQTSGetNameStatisticsFlag = 0x00000001,
+ kQTSDontGetDataStatisticsFlag = 0x00000002,
+ kQTSUpdateAtomsStatisticsFlag = 0x00000004,
+ kQTSGetUnitsStatisticsFlag = 0x00000008,
+ kQTSUpdateAllIfNecessaryStatisticsFlag = 0x00010000
+};
+
+/* statistics atom types */
+enum {
+ kQTSStatisticsStreamAtomType = FOUR_CHAR_CODE('strm'),
+ kQTSStatisticsNameAtomType = FOUR_CHAR_CODE('name'), /* chars only, no length or terminator */
+ kQTSStatisticsDataFormatAtomType = FOUR_CHAR_CODE('frmt'), /* OSType */
+ kQTSStatisticsDataAtomType = FOUR_CHAR_CODE('data'),
+ kQTSStatisticsUnitsAtomType = FOUR_CHAR_CODE('unit'), /* OSType */
+ kQTSStatisticsUnitsNameAtomType = FOUR_CHAR_CODE('unin') /* chars only, no length or terminator */
+};
+
+/* statistics data formats */
+enum {
+ kQTSStatisticsSInt32DataFormat = FOUR_CHAR_CODE('si32'),
+ kQTSStatisticsUInt32DataFormat = FOUR_CHAR_CODE('ui32'),
+ kQTSStatisticsSInt16DataFormat = FOUR_CHAR_CODE('si16'),
+ kQTSStatisticsUInt16DataFormat = FOUR_CHAR_CODE('ui16'),
+ kQTSStatisticsFixedDataFormat = FOUR_CHAR_CODE('fixd'),
+ kQTSStatisticsUnsignedFixedDataFormat = FOUR_CHAR_CODE('ufix'),
+ kQTSStatisticsStringDataFormat = FOUR_CHAR_CODE('strg'),
+ kQTSStatisticsOSTypeDataFormat = FOUR_CHAR_CODE('ostp'),
+ kQTSStatisticsRectDataFormat = FOUR_CHAR_CODE('rect'),
+ kQTSStatisticsPointDataFormat = FOUR_CHAR_CODE('pont')
+};
+
+/* statistics units types */
+enum {
+ kQTSStatisticsNoUnitsType = 0,
+ kQTSStatisticsPercentUnitsType = FOUR_CHAR_CODE('pcnt'),
+ kQTSStatisticsBitsPerSecUnitsType = FOUR_CHAR_CODE('bps '),
+ kQTSStatisticsFramesPerSecUnitsType = FOUR_CHAR_CODE('fps ')
+};
+
+/* specific statistics types */
+enum {
+ kQTSTotalDataRateStat = FOUR_CHAR_CODE('drtt'),
+ kQTSTotalDataRateInStat = FOUR_CHAR_CODE('drti'),
+ kQTSTotalDataRateOutStat = FOUR_CHAR_CODE('drto'),
+ kQTSNetworkIDStringStat = FOUR_CHAR_CODE('nids')
+};
+
+/*
+ * QTSNewStatHelper()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewStatHelper(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inStatType,
+ SInt32 inFlags,
+ QTSStatHelper * outStatHelper);
+
+
+/*
+ * QTSDisposeStatHelper()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDisposeStatHelper(QTSStatHelper inStatHelper);
+
+
+/*
+ * QTSStatHelperGetStats()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSStatHelperGetStats(QTSStatHelper inStatHelper);
+
+
+/*
+ * QTSStatHelperResetIter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSStatHelperResetIter(QTSStatHelper inStatHelper);
+
+
+/*
+ * QTSStatHelperNext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Boolean )
+QTSStatHelperNext(
+ QTSStatHelper inStatHelper,
+ QTSStatHelperNextParams * ioParams);
+
+
+/*
+ * QTSStatHelperGetNumStats()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSStatHelperGetNumStats(QTSStatHelper inStatHelper);
+
+
+/* used by components to put statistics into the atom container */
+/*
+ * QTSGetOrMakeStatAtomForStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSGetOrMakeStatAtomForStream(
+ QTAtomContainer inContainer,
+ QTSStream inStream,
+ QTAtom * outParentAtom);
+
+
+/*
+ * QTSInsertStatistic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInsertStatistic(
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom,
+ OSType inStatType,
+ void * inStatData,
+ UInt32 inStatDataLength,
+ OSType inStatDataFormat,
+ SInt32 inFlags);
+
+
+/*
+ * QTSInsertStatisticName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInsertStatisticName(
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom,
+ OSType inStatType,
+ const char * inStatName,
+ UInt32 inStatNameLength);
+
+
+/*
+ * QTSInsertStatisticUnits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInsertStatisticUnits(
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom,
+ OSType inStatType,
+ OSType inUnitsType,
+ const char * inUnitsName,
+ UInt32 inUnitsNameLength);
+
+
+/*============================================================================
+ Data Formats
+============================================================================*/
+/*-----------------------------------------
+ Data Types
+-----------------------------------------*/
+/* universal data types */
+enum {
+ kQTSNullDataType = FOUR_CHAR_CODE('NULL'),
+ kQTSUnknownDataType = FOUR_CHAR_CODE('huh?'),
+ kQTSAtomContainerDataType = FOUR_CHAR_CODE('qtac'), /* QTAtomContainer */
+ kQTSAtomDataType = FOUR_CHAR_CODE('qtat'), /* QTSAtomContainerDataStruct* */
+ kQTSAliasDataType = FOUR_CHAR_CODE('alis'),
+ kQTSFileDataType = FOUR_CHAR_CODE('fspc'), /* FSSpec* */
+ kQTSFileSpecDataType = FOUR_CHAR_CODE('fspc'), /* FSSpec* */
+ kQTSHandleDataType = FOUR_CHAR_CODE('hndl'), /* Handle* */
+ kQTSDataRefDataType = FOUR_CHAR_CODE('dref') /* DataReferencePtr */
+};
+
+/* these data types are specific to presentations */
+enum {
+ kQTSRTSPDataType = FOUR_CHAR_CODE('rtsp'),
+ kQTSSDPDataType = FOUR_CHAR_CODE('sdp ')
+};
+
+/*-----------------------------------------
+ Atom IDs
+-----------------------------------------*/
+enum {
+ kQTSAtomType_Presentation = FOUR_CHAR_CODE('pres'),
+ kQTSAtomType_PresentationHeader = FOUR_CHAR_CODE('phdr'), /* QTSPresentationHeaderAtom */
+ kQTSAtomType_MediaStream = FOUR_CHAR_CODE('mstr'),
+ kQTSAtomType_MediaStreamHeader = FOUR_CHAR_CODE('mshd'), /* QTSMediaStreamHeaderAtom */
+ kQTSAtomType_MediaDescriptionText = FOUR_CHAR_CODE('mdes'), /* chars, no length */
+ kQTSAtomType_ClipRect = FOUR_CHAR_CODE('clip'), /* QTSClipRectAtom */
+ kQTSAtomType_Duration = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom */
+ kQTSAtomType_BufferTime = FOUR_CHAR_CODE('bufr') /* QTSBufferTimeAtom */
+};
+
+struct QTSAtomContainerDataStruct {
+ QTAtomContainer container;
+ QTAtom parentAtom;
+};
+typedef struct QTSAtomContainerDataStruct QTSAtomContainerDataStruct;
+/* flags for QTSPresentationHeaderAtom */
+enum {
+ kQTSPresHeaderTypeIsData = 0x00000100,
+ kQTSPresHeaderDataIsHandle = 0x00000200
+};
+
+struct QTSPresentationHeaderAtom {
+ SInt32 versionAndFlags;
+ OSType conductorOrDataType;
+ OSType dataAtomType; /* where the data really is*/
+};
+typedef struct QTSPresentationHeaderAtom QTSPresentationHeaderAtom;
+struct QTSMediaStreamHeaderAtom {
+ SInt32 versionAndFlags;
+ OSType mediaTransportType;
+ OSType mediaTransportDataAID; /* where the data really is*/
+};
+typedef struct QTSMediaStreamHeaderAtom QTSMediaStreamHeaderAtom;
+struct QTSBufferTimeAtom {
+ SInt32 versionAndFlags;
+ Fixed bufferTime;
+};
+typedef struct QTSBufferTimeAtom QTSBufferTimeAtom;
+struct QTSDurationAtom {
+ SInt32 versionAndFlags;
+ TimeScale timeScale;
+ TimeValue64 duration;
+};
+typedef struct QTSDurationAtom QTSDurationAtom;
+struct QTSClipRectAtom {
+ SInt32 versionAndFlags;
+ Rect clipRect;
+};
+typedef struct QTSClipRectAtom QTSClipRectAtom;
+enum {
+ kQTSEmptyEditStreamStartTime = -1
+};
+
+
+typedef UInt32 QTSStatus;
+enum {
+ kQTSNullStatus = 0,
+ kQTSUninitializedStatus = 1,
+ kQTSConnectingStatus = 2,
+ kQTSOpeningConnectionDetailedStatus = 3,
+ kQTSMadeConnectionDetailedStatus = 4,
+ kQTSNegotiatingStatus = 5,
+ kQTSGettingDescriptionDetailedStatus = 6,
+ kQTSGotDescriptionDetailedStatus = 7,
+ kQTSSentSetupCmdDetailedStatus = 8,
+ kQTSReceivedSetupResponseDetailedStatus = 9,
+ kQTSSentPlayCmdDetailedStatus = 10,
+ kQTSReceivedPlayResponseDetailedStatus = 11,
+ kQTSBufferingStatus = 12,
+ kQTSPlayingStatus = 13,
+ kQTSPausedStatus = 14,
+ kQTSAutoConfiguringStatus = 15,
+ kQTSDownloadingStatus = 16,
+ kQTSBufferingWithTimeStatus = 17,
+ kQTSWaitingDisconnectStatus = 100
+};
+
+/*-----------------------------------------
+ QuickTime Preferences Types
+-----------------------------------------*/
+enum {
+ kQTSConnectionPrefsType = FOUR_CHAR_CODE('stcm'), /* root atom that all other atoms are contained in*/
+ /* kQTSNotUsedForProxyPrefsType = 'nopr', // comma-delimited list of URLs that are never used for proxies*/
+ kQTSConnectionMethodPrefsType = FOUR_CHAR_CODE('mthd'), /* connection method (OSType that matches one of the following three)*/
+ kQTSDirectConnectPrefsType = FOUR_CHAR_CODE('drct'), /* used if direct connect (QTSDirectConnectPrefsRecord)*/
+ /* kQTSRTSPProxyPrefsType = 'rtsp', // used if RTSP Proxy (QTSProxyPrefsRecord)*/
+ kQTSSOCKSPrefsType = FOUR_CHAR_CODE('sock') /* used if SOCKS Proxy (QTSProxyPrefsRecord)*/
+};
+
+enum {
+ kQTSDirectConnectHTTPProtocol = FOUR_CHAR_CODE('http'),
+ kQTSDirectConnectRTSPProtocol = FOUR_CHAR_CODE('rtsp')
+};
+
+struct QTSDirectConnectPrefsRecord {
+ UInt32 tcpPortID;
+ OSType protocol;
+};
+typedef struct QTSDirectConnectPrefsRecord QTSDirectConnectPrefsRecord;
+struct QTSProxyPrefsRecord {
+ Str255 serverNameStr;
+ UInt32 portID;
+};
+typedef struct QTSProxyPrefsRecord QTSProxyPrefsRecord;
+#define kQTSTransAndProxyPrefsVersNum 2 /* prefs atom format version */
+enum {
+ kConnectionActive = (1L << 0),
+ kConnectionUseSystemPref = (1L << 1)
+};
+
+struct QTSTransportPref {
+ OSType protocol; /* udp, http, tcp, etc*/
+ SInt32 portID; /* port to use for this connection type*/
+ UInt32 flags; /* connection flags*/
+ UInt32 seed; /* seed value last time this setting was read from system prefs*/
+};
+typedef struct QTSTransportPref QTSTransportPref;
+enum {
+ kProxyActive = (1L << 0),
+ kProxyUseSystemPref = (1L << 1)
+};
+
+struct QTSProxyPref {
+ UInt32 flags; /* proxy flags*/
+ SInt32 portID; /* port to use for this connection type*/
+ UInt32 seed; /* seed value last time this setting was read from system prefs*/
+ Str255 serverNameStr; /* proxy server url*/
+};
+typedef struct QTSProxyPref QTSProxyPref;
+enum {
+ kNoProxyUseSystemPref = (1L << 0)
+};
+
+struct QTSNoProxyPref {
+ UInt32 flags; /* no-proxy flags*/
+ UInt32 seed; /* seed value last time this setting was read from system prefs*/
+ char urlList[1]; /* NULL terminated, comma delimited list of urls*/
+};
+typedef struct QTSNoProxyPref QTSNoProxyPref;
+enum {
+ kQTSInstantOnFlag_Enable = (1L << 0), /* instant on is enabled (read/write)*/
+ kQTSInstantOnFlag_Permitted = (1L << 1) /* instant on is possible (read only)*/
+};
+
+
+struct QTSInstantOnPref {
+ SInt32 flags; /* flags*/
+ SInt32 factor; /* 0-100; default is 50*/
+};
+typedef struct QTSInstantOnPref QTSInstantOnPref;
+enum {
+ kQTSTransAndProxyAtomType = FOUR_CHAR_CODE('strp'), /* transport/proxy prefs root atom*/
+ kQTSConnectionPrefsVersion = FOUR_CHAR_CODE('vers'), /* prefs format version*/
+ kQTSTransportPrefsAtomType = FOUR_CHAR_CODE('trns'), /* tranport prefs root atom*/
+ kQTSConnectionAtomType = FOUR_CHAR_CODE('conn'), /* connection prefs atom type, one for each transport type*/
+ kQTSUDPTransportType = FOUR_CHAR_CODE('udp '), /* udp transport prefs*/
+ kQTSHTTPTransportType = FOUR_CHAR_CODE('http'), /* http transport prefs*/
+ kQTSTCPTransportType = FOUR_CHAR_CODE('tcp '), /* tcp transport prefs */
+ kQTSProxyPrefsAtomType = FOUR_CHAR_CODE('prxy'), /* proxy prefs root atom*/
+ kQTSHTTPProxyPrefsType = FOUR_CHAR_CODE('http'), /* http proxy settings*/
+ kQTSRTSPProxyPrefsType = FOUR_CHAR_CODE('rtsp'), /* rtsp proxy settings*/
+ kQTSSOCKSProxyPrefsType = FOUR_CHAR_CODE('sock'), /* socks proxy settings*/
+ kQTSProxyUserInfoPrefsType = FOUR_CHAR_CODE('user'), /* proxy username/password root atom*/
+ kQTSDontProxyPrefsAtomType = FOUR_CHAR_CODE('nopr'), /* no-proxy prefs root atom*/
+ kQTSDontProxyDataType = FOUR_CHAR_CODE('data'), /* no proxy settings*/
+ kQTSInstantOnPrefsAtomType = FOUR_CHAR_CODE('inon') /* instant on prefs*/
+};
+
+/*
+ * QTSPrefsAddProxySetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsAddProxySetting(
+ OSType proxyType,
+ SInt32 portID,
+ UInt32 flags,
+ UInt32 seed,
+ Str255 srvrURL);
+
+
+/*
+ * QTSPrefsFindProxyByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsFindProxyByType(
+ OSType proxyType,
+ UInt32 flags,
+ UInt32 flagsMask,
+ QTSProxyPref ** proxyHndl,
+ SInt16 * count);
+
+
+/*
+ * QTSPrefsAddConnectionSetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsAddConnectionSetting(
+ OSType protocol,
+ SInt32 portID,
+ UInt32 flags,
+ UInt32 seed);
+
+
+/*
+ * QTSPrefsFindConnectionByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsFindConnectionByType(
+ OSType protocol,
+ UInt32 flags,
+ UInt32 flagsMask,
+ QTSTransportPref ** connectionHndl,
+ SInt16 * count);
+
+
+/*
+ * QTSPrefsGetActiveConnection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsGetActiveConnection(
+ OSType protocol,
+ QTSTransportPref * connectInfo);
+
+
+/*
+ * QTSPrefsGetNoProxyURLs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsGetNoProxyURLs(QTSNoProxyPref ** noProxyHndl);
+
+
+/*
+ * QTSPrefsSetNoProxyURLs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsSetNoProxyURLs(
+ char * urls,
+ UInt32 flags,
+ UInt32 seed);
+
+
+/*
+ * QTSPrefsAddProxyUserInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in QTSClient.lib 5.0.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsAddProxyUserInfo(
+ OSType proxyType,
+ SInt32 flags,
+ SInt32 flagsMask,
+ StringPtr username,
+ StringPtr password);
+
+
+/*
+ * QTSPrefsFindProxyUserInfoByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in QTSClient.lib 5.0.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsFindProxyUserInfoByType(
+ OSType proxyType,
+ SInt32 flags,
+ SInt32 flagsMask,
+ StringPtr username,
+ StringPtr password);
+
+
+/*
+ * QTSPrefsGetInstantOnSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in QTSClient.lib 6.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsGetInstantOnSettings(
+ QTSInstantOnPref * outPref,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPrefsSetInstantOnSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in QTSClient.lib 6.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsSetInstantOnSettings(
+ QTSInstantOnPref * inPref,
+ SInt32 inFlags);
+
+
+
+/*============================================================================
+ Memory Management Services
+============================================================================*/
+/*
+ These routines allocate normal pointers and handles,
+ but do the correct checking, etc.
+ Dispose using the normal DisposePtr and DisposeHandle
+ Call these routines for one time memory allocations.
+ You do not need to set any hints to use these calls.
+*/
+
+/*
+ * QTSNewPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Ptr )
+QTSNewPtr(
+ UInt32 inByteCount,
+ SInt32 inFlags,
+ SInt32 * outFlags);
+
+
+/*
+ * QTSNewHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Handle )
+QTSNewHandle(
+ UInt32 inByteCount,
+ SInt32 inFlags,
+ SInt32 * outFlags);
+
+
+#define QTSNewPtrClear(_s) QTSNewPtr((_s), kQTSMemAllocClearMem, NULL)
+#define QTSNewHandleClear(_s) QTSNewHandle((_s), kQTSMemAllocClearMem, NULL)
+/* flags in*/
+enum {
+ kQTSMemAllocClearMem = 0x00000001,
+ kQTSMemAllocDontUseTempMem = 0x00000002,
+ kQTSMemAllocTryTempMemFirst = 0x00000004,
+ kQTSMemAllocDontUseSystemMem = 0x00000008,
+ kQTSMemAllocTrySystemMemFirst = 0x00000010,
+ kQTSMemAllocHoldMemory = 0x00001000,
+ kQTSMemAllocIsInterruptTime = 0x01010000 /* currently not supported for alloc*/
+};
+
+/* flags out*/
+enum {
+ kQTSMemAllocAllocatedInTempMem = 0x00000001,
+ kQTSMemAllocAllocatedInSystemMem = 0x00000002
+};
+
+typedef struct OpaqueQTSMemPtr* QTSMemPtr;
+/*
+ These routines are for buffers that will be recirculated
+ you must use QTReleaseMemPtr instead of DisposePtr
+ QTSReleaseMemPtr can be used at interrupt time
+ but QTSAllocMemPtr currently cannot
+*/
+/*
+ * QTSAllocMemPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSMemPtr )
+QTSAllocMemPtr(
+ UInt32 inByteCount,
+ SInt32 inFlags);
+
+
+/*
+ * QTSReleaseMemPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( void )
+QTSReleaseMemPtr(
+ QTSMemPtr inMemPtr,
+ SInt32 inFlags);
+
+
+
+/*============================================================================
+ Buffer Management Services
+============================================================================*/
+
+enum {
+ kQTSStreamBufferVersion1 = 1
+};
+
+struct QTSStreamBuffer {
+ struct QTSStreamBuffer * reserved1;
+ struct QTSStreamBuffer * reserved2;
+ struct QTSStreamBuffer * next; /* next message block in a message */
+ unsigned char * rptr; /* first byte with real data in the DataBuffer */
+ unsigned char * wptr; /* last+1 byte with real data in the DataBuffer */
+ SInt32 version;
+ UInt32 metadata[4]; /* usage defined by message sender */
+ SInt32 flags; /* reserved */
+ long reserved3;
+ long reserved4;
+ long reserved5;
+
+ UInt32 moreMeta[8];
+};
+typedef struct QTSStreamBuffer QTSStreamBuffer;
+/* flags for QTSDuplicateMessage*/
+enum {
+ kQTSDuplicateBufferFlag_CopyData = 0x00000001,
+ kQTSDuplicateBufferFlag_FlattenMessage = 0x00000002
+};
+
+
+/*
+ * QTSNewStreamBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewStreamBuffer(
+ UInt32 inDataSize,
+ SInt32 inFlags,
+ QTSStreamBuffer ** outStreamBuffer);
+
+
+/*
+ * QTSFreeMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( void )
+QTSFreeMessage(QTSStreamBuffer * inMessage);
+
+
+/*
+ kQTSDuplicateBufferFlag_CopyData - forces a copy of the data itself
+ kQTSCopyBufferFlag_FlattenMessage - copies the data if it needs to be flattened
+ QTSDuplicateMessage never frees the old message
+*/
+/*
+ * QTSDuplicateMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDuplicateMessage(
+ QTSStreamBuffer * inMessage,
+ SInt32 inFlags,
+ QTSStreamBuffer ** outDuplicatedMessage);
+
+
+/*
+ * QTSMessageLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSMessageLength(QTSStreamBuffer * inMessage);
+
+
+/*
+ * QTSStreamBufferDataInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( void )
+QTSStreamBufferDataInfo(
+ QTSStreamBuffer * inStreamBuffer,
+ unsigned char ** outDataStart,
+ UInt32 * outDataMaxLength);
+
+
+/* ---- old calls (don't use these)*/
+
+/*
+ * QTSAllocBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSAllocBuffer(SInt32 inSize);
+
+
+/*
+ * QTSDupMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSDupMessage(QTSStreamBuffer * inMessage);
+
+
+/*
+ * QTSCopyMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSCopyMessage(QTSStreamBuffer * inMessage);
+
+
+/*
+ * QTSFlattenMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSFlattenMessage(QTSStreamBuffer * inMessage);
+
+
+
+
+/*============================================================================
+ Misc
+============================================================================*/
+/*
+ * QTSGetErrorString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Boolean )
+QTSGetErrorString(
+ SInt32 inErrorCode,
+ UInt32 inMaxErrorStringLength,
+ char * outErrorString,
+ SInt32 inFlags);
+
+
+/*
+ * QTSInitializeMediaParams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in QTSClient.lib 5.0.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInitializeMediaParams(QTSMediaParams * inMediaParams);
+
+
+
+
+/* UPP call backs */
+/*
+ * NewQTSNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTSNotificationUPP )
+NewQTSNotificationUPP(QTSNotificationProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppQTSNotificationProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSNotificationUPP) NewQTSNotificationUPP(QTSNotificationProcPtr userRoutine) { return (QTSNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSNotificationUPP(userRoutine) (QTSNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSNotificationProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewQTSPanelFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( QTSPanelFilterUPP )
+NewQTSPanelFilterUPP(QTSPanelFilterProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppQTSPanelFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSPanelFilterUPP) NewQTSPanelFilterUPP(QTSPanelFilterProcPtr userRoutine) { return (QTSPanelFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSPanelFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSPanelFilterUPP(userRoutine) (QTSPanelFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSPanelFilterProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewQTSModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTSModalFilterUPP )
+NewQTSModalFilterUPP(QTSModalFilterProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppQTSModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSModalFilterUPP) NewQTSModalFilterUPP(QTSModalFilterProcPtr userRoutine) { return (QTSModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSModalFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSModalFilterUPP(userRoutine) (QTSModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSModalFilterProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposeQTSNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSNotificationUPP(QTSNotificationUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSNotificationUPP(QTSNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeQTSPanelFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSPanelFilterUPP(QTSPanelFilterUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSPanelFilterUPP(QTSPanelFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSPanelFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeQTSModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSModalFilterUPP(QTSModalFilterUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSModalFilterUPP(QTSModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeQTSNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeQTSNotificationUPP(
+ ComponentResult inErr,
+ OSType inNotificationType,
+ void * inNotificationParams,
+ void * inRefCon,
+ QTSNotificationUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeQTSNotificationUPP(ComponentResult inErr, OSType inNotificationType, void * inNotificationParams, void * inRefCon, QTSNotificationUPP userUPP) { return (ComponentResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTSNotificationProcInfo, inErr, inNotificationType, inNotificationParams, inRefCon); }
+ #else
+ #define InvokeQTSNotificationUPP(inErr, inNotificationType, inNotificationParams, inRefCon, userUPP) (ComponentResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTSNotificationProcInfo, (inErr), (inNotificationType), (inNotificationParams), (inRefCon))
+ #endif
+#endif
+
+/*
+ * InvokeQTSPanelFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeQTSPanelFilterUPP(
+ QTSPanelFilterParams * inParams,
+ void * inRefCon,
+ QTSPanelFilterUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeQTSPanelFilterUPP(QTSPanelFilterParams * inParams, void * inRefCon, QTSPanelFilterUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppQTSPanelFilterProcInfo, inParams, inRefCon); }
+ #else
+ #define InvokeQTSPanelFilterUPP(inParams, inRefCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppQTSPanelFilterProcInfo, (inParams), (inRefCon))
+ #endif
+#endif
+
+/*
+ * InvokeQTSModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeQTSModalFilterUPP(
+ DialogPtr inDialog,
+ const EventRecord * inEvent,
+ SInt16 * ioItemHit,
+ void * inRefCon,
+ QTSModalFilterUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeQTSModalFilterUPP(DialogPtr inDialog, const EventRecord * inEvent, SInt16 * ioItemHit, void * inRefCon, QTSModalFilterUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTSModalFilterProcInfo, inDialog, inEvent, ioItemHit, inRefCon); }
+ #else
+ #define InvokeQTSModalFilterUPP(inDialog, inEvent, ioItemHit, inRefCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTSModalFilterProcInfo, (inDialog), (inEvent), (ioItemHit), (inRefCon))
+ #endif
+#endif
+
+#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
+ /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
+ #define NewQTSNotificationProc(userRoutine) NewQTSNotificationUPP(userRoutine)
+ #define NewQTSPanelFilterProc(userRoutine) NewQTSPanelFilterUPP(userRoutine)
+ #define NewQTSModalFilterProc(userRoutine) NewQTSModalFilterUPP(userRoutine)
+ #define CallQTSNotificationProc(userRoutine, inErr, inNotificationType, inNotificationParams, inRefCon) InvokeQTSNotificationUPP(inErr, inNotificationType, inNotificationParams, inRefCon, userRoutine)
+ #define CallQTSPanelFilterProc(userRoutine, inParams, inRefCon) InvokeQTSPanelFilterUPP(inParams, inRefCon, userRoutine)
+ #define CallQTSModalFilterProc(userRoutine, inDialog, inEvent, ioItemHit, inRefCon) InvokeQTSModalFilterUPP(inDialog, inEvent, ioItemHit, inRefCon, userRoutine)
+#endif /* CALL_NOT_IN_CARBON */
+
+
+#endif // !__LP64__
+
+
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(pop)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack()
+#endif
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __QUICKTIMESTREAMING__ */
+