123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022 |
- {
- File: QTStreamingComponents.p
-
- Contains: QuickTime Interfaces.
-
- Version: Technology: QuickTime 6.0
- Release: Universal Interfaces 3.4.2
-
- Copyright: © 1990-2002 by Apple Computer, Inc., all rights reserved
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://www.freepascal.org/bugs.html
-
- }
- {
- Modified for use with Free Pascal
- Version 200
- Please report any bugs to <[email protected]>
- }
- {$mode macpas}
- {$packenum 1}
- {$macro on}
- {$inline on}
- {$CALLING MWPASCAL}
- unit QTStreamingComponents;
- interface
- {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
- {$setc GAP_INTERFACES_VERSION := $0200}
- {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
- {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
- {$endc}
- {$ifc defined CPUPOWERPC and defined CPUI386}
- {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
- {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
- {$endc}
- {$ifc not defined __ppc__ and defined CPUPOWERPC}
- {$setc __ppc__ := 1}
- {$elsec}
- {$setc __ppc__ := 0}
- {$endc}
- {$ifc not defined __i386__ and defined CPUI386}
- {$setc __i386__ := 1}
- {$elsec}
- {$setc __i386__ := 0}
- {$endc}
- {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
- {$error Conflicting definitions for __ppc__ and __i386__}
- {$endc}
- {$ifc defined __ppc__ and __ppc__}
- {$setc TARGET_CPU_PPC := TRUE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$elifc defined __i386__ and __i386__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_X86 := TRUE}
- {$elsec}
- {$error Neither __ppc__ nor __i386__ is defined.}
- {$endc}
- {$setc TARGET_CPU_PPC_64 := FALSE}
- {$ifc defined FPC_BIG_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := TRUE}
- {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
- {$elifc defined FPC_LITTLE_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := FALSE}
- {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
- {$elsec}
- {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
- {$endc}
- {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
- {$setc CALL_NOT_IN_CARBON := FALSE}
- {$setc OLDROUTINENAMES := FALSE}
- {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
- {$setc OPAQUE_UPP_TYPES := TRUE}
- {$setc OTCARBONAPPLICATION := TRUE}
- {$setc OTKERNEL := FALSE}
- {$setc PM_USE_SESSION_APIS := TRUE}
- {$setc TARGET_API_MAC_CARBON := TRUE}
- {$setc TARGET_API_MAC_OS8 := FALSE}
- {$setc TARGET_API_MAC_OSX := TRUE}
- {$setc TARGET_CARBON := TRUE}
- {$setc TARGET_CPU_68K := FALSE}
- {$setc TARGET_CPU_MIPS := FALSE}
- {$setc TARGET_CPU_SPARC := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_UNIX := FALSE}
- {$setc TARGET_OS_WIN32 := FALSE}
- {$setc TARGET_RT_MAC_68881 := FALSE}
- {$setc TARGET_RT_MAC_CFM := FALSE}
- {$setc TARGET_RT_MAC_MACHO := TRUE}
- {$setc TYPED_FUNCTION_POINTERS := TRUE}
- {$setc TYPE_BOOL := FALSE}
- {$setc TYPE_EXTENDED := FALSE}
- {$setc TYPE_LONGLONG := TRUE}
- uses MacTypes,Dialogs,Components,Movies,QuickTimeStreaming;
- {$ALIGN MAC68K}
- {============================================================================
- Stream Sourcer
- ============================================================================}
- const
- kQTSSourcerType = $73726372 (* 'srcr' *);
- type
- QTSSourcer = ComponentInstance;
- const
- kQTSSGChannelSourcerType = $73676368 (* 'sgch' *);
- kQTSMovieTrackSourcerType = $7472616B (* 'trak' *);
- kQTSPushDataSourcerType = $70757368 (* 'push' *);
- { flags for sourcer data }
- kQTSSourcerDataFlag_SyncSample = $00000001;
- kQTSPushDataSourcerFlag_SampleTimeIsValid = $80000000;
- kQTSSourcerInitParamsVersion1 = 1;
- type
- QTSSourcerInitParamsPtr = ^QTSSourcerInitParams;
- QTSSourcerInitParams = record
- version: SInt32;
- flags: SInt32;
- dataType: OSType;
- data: Ptr;
- dataLength: UInt32;
- end;
- {
- * QTSNewSourcer()
- *
- * 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
- }
- function QTSNewSourcer(params: UnivPtr; const (*var*) inInitParams: QTSSourcerInitParams; inFlags: SInt32; var outSourcer: ComponentInstance): OSErr; external name '_QTSNewSourcer';
- { info selectors for sourcers - get and set }
- const
- kQTSInfo_Track = $7472616B (* 'trak' *); { QTSTrackParams* }
- kQTSInfo_Loop = $6C6F6F70 (* 'loop' *); { QTSLoopParams* }
- kQTSInfo_SourcerTiming = $7374696D (* 'stim' *); { QTSSourcerTimingParams* }
- kQTSInfo_TargetFrameRate = $74667073 (* 'tfps' *); { Fixed * in frames per second }
- kQTSInfo_PushData = $70757368 (* 'push' *); { QTSPushDataParams* }
- kQTSInfo_SourcerCallbackProc = $73636270 (* 'scbp' *); { QTSSourcerCallbackProcParams* }
- kQTSInfo_TargetDataRate = $74647274 (* 'tdrt' *); { UInt32 * in bytes per second }
- kQTSInfo_AudioAutoGainOnOff = $61676320 (* 'agc ' *); { Boolean* - error if unavailable }
- kQTSInfo_AudioGain = $6761696E (* 'gain' *); { Fixed* kFixed1 is unity gain }
- kQTSInfo_CroppedInputRect = $63727072 (* 'crpr' *); { Rect* - defined relative to kQTSInfo_FullInputRect below }
- kQTSInfo_SpatialSettings = $7370746C (* 'sptl' *); { pointer to SCSpatialSettings struct }
- kQTSInfo_TemporalSettings = $7470726C (* 'tprl' *); { pointer to SCTemporalSettings struct }
- kQTSInfo_DataRateSettings = $64726174 (* 'drat' *); { pointer to SCDataRateSettings struct }
- kQTSInfo_CodecFlags = $63666C67 (* 'cflg' *); { pointer to CodecFlags }
- kQTSInfo_CodecSettings = $63646563 (* 'cdec' *); { pointer to Handle }
- kQTSInfo_ForceKeyValue = $6B73696D (* 'ksim' *); { pointer to long }
- kQTSInfo_SoundSampleRate = $73737274 (* 'ssrt' *); { pointer to UnsignedFixed }
- kQTSInfo_SoundSampleSize = $73737373 (* 'ssss' *); { pointer to short }
- kQTSInfo_SoundChannelCount = $73736363 (* 'sscc' *); { pointer to short }
- kQTSInfo_SoundCompression = $73736374 (* 'ssct' *); { pointer to OSType }
- kQTSInfo_CompressionList = $6374796C (* 'ctyl' *); { pointer to OSType Handle }
- kQTSInfo_VideoHue = $68756520 (* 'hue ' *); { UInt16* }
- kQTSInfo_VideoSaturation = $73617472 (* 'satr' *); { UInt16* }
- kQTSInfo_VideoContrast = $74727374 (* 'trst' *); { UInt16* }
- kQTSInfo_VideoBrightness = $62726974 (* 'brit' *); { UInt16* }
- kQTSInfo_VideoSharpness = $73687270 (* 'shrp' *); { UInt16* }
- kQTSInfo_TimeScale = $7363616C (* 'scal' *); { UInt32* }
- kQTSInfo_SGChannelDeviceName = $696E6E6D (* 'innm' *); { Handle* }
- kQTSInfo_SGChannelDeviceList = $7372646C (* 'srdl' *); { SGDeviceList* }
- kQTSInfo_SGChannelDeviceInput = $73646969 (* 'sdii' *); { short* }
- kQTSInfo_SGChannelSettings = $73657367 (* 'sesg' *); { QTSSGChannelSettingsParams }
- kQTSInfo_PreviewWhileRecordingMode = $73727072 (* 'srpr' *); { Boolean* }
- kQTSInfo_CompressionParams = $73636370 (* 'sccp' *); { QTAtomContainer* }
- { info selectors for sourcers - get only }
- kQTSInfo_SGChannel = $73676368 (* 'sgch' *); { SGChannel* }
- kQTSInfo_SGChannelInputName = $73726E6D (* 'srnm' *); { Handle* }
- kQTSInfo_FullInputRect = $66756C72 (* 'fulr' *); { Rect* }
- { loop flags }
- kQTSLoopFlag_Loop = $00000001;
- kQTSLoopParamsVersion1 = 1;
- type
- QTSLoopParamsPtr = ^QTSLoopParams;
- QTSLoopParams = record
- version: SInt32;
- flags: SInt32;
- loopFlags: SInt32;
- flagsMask: SInt32;
- numLoops: SInt32;
- end;
- const
- kQTSTrackParamsVersion1 = 1;
- type
- QTSTrackParamsPtr = ^QTSTrackParams;
- QTSTrackParams = record
- version: SInt32;
- flags: SInt32;
- track: Track_fix;
- trackStartOffset: TimeValue64; { to start other than at the beginning otherwise set to 0 }
- duration: TimeValue64; { to limit the duration otherwise set to 0 }
- loopParams: QTSLoopParamsPtr; { set to NULL if not using; default is no looping }
- end;
- const
- kQTSSourcerTimingParamsVersion1 = 1;
- type
- QTSSourcerTimingParamsPtr = ^QTSSourcerTimingParams;
- QTSSourcerTimingParams = record
- version: SInt32;
- flags: SInt32;
- timeScale: TimeScale_fix;
- presentationStartTime: TimeValue64;
- presentationEndTime: TimeValue64;
- presentationCurrentTime: TimeValue64;
- localStartTime: TimeValue64;
- localEndTime: TimeValue64;
- localCurrentTime: TimeValue64;
- end;
- const
- kQTSPushDataParamsVersion1 = 1;
- kQTSPushDataFlag_SampleTimeIsValid = $00000001;
- kQTSPushDataFlag_DurationIsValid = $00000002;
- type
- QTSPushDataParamsPtr = ^QTSPushDataParams;
- QTSPushDataParams = record
- version: SInt32;
- flags: SInt32;
- sampleDescription: SampleDescriptionHandle; { caller owns the handle }
- sampleDescSeed: UInt32;
- sampleTime: TimeValue64; { also set flag if you set this }
- duration: TimeValue64; { also set flag if you set this }
- dataLength: UInt32;
- dataPtr: Ptr; { this does not have to be a real macintosh Ptr }
- end;
- const
- kQTSSourcerCallbackProcParamsVersion1 = 1;
- type
- QTSSourcerCallbackProcParamsPtr = ^QTSSourcerCallbackProcParams;
- QTSSourcerCallbackProcParams = record
- version: SInt32;
- flags: SInt32;
- proc: QTSNotificationUPP;
- refCon: Ptr;
- end;
- { track sourcer callback selectors }
- const
- kQTSSourcerCallback_Done = $646F6E65 (* 'done' *); { QTSSourcerDoneParams* }
- { push data sourcer callback selectors }
- kQTSPushDataSourcerCallback_HasCharacteristic = $050D; { QTSPushDataHasCharacteristicParams* }
- kQTSPushDataSourcerCallback_SetInfo = $0507; { QTSPushDataInfoParams* }
- kQTSPushDataSourcerCallback_GetInfo = $0508; { QTSPushDataInfoParams* }
- type
- QTSPushDataHasCharacteristicParamsPtr = ^QTSPushDataHasCharacteristicParams;
- QTSPushDataHasCharacteristicParams = record
- version: SInt32;
- flags: SInt32;
- characteristic: OSType;
- returnedHasIt: boolean;
- reserved1: SInt8;
- reserved2: SInt8;
- reserved3: SInt8;
- end;
- QTSPushDataInfoParamsPtr = ^QTSPushDataInfoParams;
- QTSPushDataInfoParams = record
- version: SInt32;
- flags: SInt32;
- selector: OSType;
- ioParams: Ptr;
- end;
- const
- kQTSSourcerDoneParamsVersion1 = 1;
- type
- QTSSourcerDoneParamsPtr = ^QTSSourcerDoneParams;
- QTSSourcerDoneParams = record
- version: SInt32;
- flags: SInt32;
- sourcer: ComponentInstance;
- end;
- QTSSGChannelSettingsParamsPtr = ^QTSSGChannelSettingsParams;
- QTSSGChannelSettingsParams = record
- settings: UserData;
- flags: SInt32;
- end;
- { -----------------------------------------
- Stream Sourcer Selectors
- ----------------------------------------- }
- const
- kQTSSourcerInitializeSelect = $0500;
- kQTSSourcerSetEnableSelect = $0503;
- kQTSSourcerGetEnableSelect = $0504;
- kQTSSourcerSetInfoSelect = $0507;
- kQTSSourcerGetInfoSelect = $0508;
- kQTSSourcerSetTimeScaleSelect = $050E;
- kQTSSourcerGetTimeScaleSelect = $050F;
- kQTSSourcerIdleSelect = $0516;
- { -----------------------------------------
- Stream Sourcer Prototypes
- ----------------------------------------- }
- {
- * QTSSourcerInitialize()
- *
- * 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
- }
- function QTSSourcerInitialize(inSourcer: QTSSourcer; const (*var*) inInitParams: QTSSourcerInitParams): ComponentResult; external name '_QTSSourcerInitialize';
- {
- * QTSSourcerIdle()
- *
- * 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
- }
- function QTSSourcerIdle(inSourcer: QTSSourcer; (*const*) var inTime: TimeValue64; inFlags: SInt32; var outFlags: SInt32): ComponentResult; external name '_QTSSourcerIdle';
- {
- * QTSSourcerSetEnable()
- *
- * 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
- }
- function QTSSourcerSetEnable(inSourcer: QTSSourcer; inEnableMode: boolean; inFlags: SInt32): ComponentResult; external name '_QTSSourcerSetEnable';
- {
- * QTSSourcerGetEnable()
- *
- * 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
- }
- function QTSSourcerGetEnable(inSourcer: QTSSourcer; var outEnableMode: boolean; inFlags: SInt32): ComponentResult; external name '_QTSSourcerGetEnable';
- {
- * QTSSourcerSetTimeScale()
- *
- * 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
- }
- function QTSSourcerSetTimeScale(inSourcer: QTSSourcer; inTimeScale: TimeScale): ComponentResult; external name '_QTSSourcerSetTimeScale';
- {
- * QTSSourcerGetTimeScale()
- *
- * 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
- }
- function QTSSourcerGetTimeScale(inSourcer: QTSSourcer; var outTimeScale: TimeScale): ComponentResult; external name '_QTSSourcerGetTimeScale';
- {
- * QTSSourcerSetInfo()
- *
- * 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
- }
- function QTSSourcerSetInfo(inSourcer: QTSSourcer; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_QTSSourcerSetInfo';
- {
- * QTSSourcerGetInfo()
- *
- * 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
- }
- function QTSSourcerGetInfo(inSourcer: QTSSourcer; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_QTSSourcerGetInfo';
- const
- kQTSInfo_InputDeviceName = $696E6E6D (* 'innm' *); { Handle* }
- kQTSInfo_InputSourceName = $73726E6D (* 'srnm' *); { Handle* }
- { ============================================================================
- Stream Handler
- ============================================================================ }
- {
- Server edits are only valid for the current chunk
- }
- type
- SHServerEditParametersPtr = ^SHServerEditParameters;
- SHServerEditParameters = record
- version: UInt32;
- editRate: Fixed;
- dataStartTime_mediaAxis: TimeValue64;
- dataEndTime_mediaAxis: TimeValue64;
- end;
- const
- kSHNoChunkDispatchFlags = 0;
- kSHChunkFlagSyncSample = $04;
- kSHChunkFlagDataLoss = $10;
- kSHChunkFlagExtended = $20;
- type
- SHChunkRecordPtr = ^SHChunkRecord;
- SHChunkRecord = record
- version: UInt32;
- reserved1: SInt32;
- flags: SInt32;
- dataSize: UInt32;
- dataPtr: Ptr;
- reserved2: SInt32;
- reserved3: SInt32;
- presentationTime: TimeValue64;
- reserved4: SInt32;
- reserved5: SInt32;
- serverEditParameters: SHServerEditParametersPtr;
- reserved6: SInt32;
- reserved7: SInt32;
- end;
- const
- kSHNumExtendedDataLongs = 10;
- kSHExtendedChunkFlag_HasSampleCount = $01;
- kSHExtendedChunkFlag_HasFrameLengths = $02;
- type
- SHExtendedChunkRecordPtr = ^SHExtendedChunkRecord;
- SHExtendedChunkRecord = record
- chunk: SHChunkRecord;
- extendedFlags: SInt32;
- extendedData: array [0..9] of SInt32;
- end;
- { ============================================================================
- RTP Components
- ============================================================================ }
- RTPSSRC = UInt32;
- const
- kRTPInvalidSSRC = 0;
- { RTP standard content encodings for audio }
- kRTPPayload_PCMU = 0; { 8kHz PCM mu-law mono }
- kRTPPayload_1016 = 1; { 8kHz CELP (Fed Std 1016) mono }
- kRTPPayload_G721 = 2; { 8kHz G.721 ADPCM mono }
- kRTPPayload_GSM = 3; { 8kHz GSM mono }
- kRTPPayload_G723 = 4; { 8kHz G.723 ADPCM mono }
- kRTPPayload_DVI_8 = 5; { 8kHz Intel DVI ADPCM mono }
- kRTPPayload_DVI_16 = 6; { 16kHz Intel DVI ADPCM mono }
- kRTPPayload_LPC = 7; { 8kHz LPC }
- kRTPPayload_PCMA = 8; { 8kHz PCM a-law mono }
- kRTPPayload_L16_44_2 = 10; { 44.1kHz 16-bit linear stereo }
- kRTPPayload_L16_44_1 = 11; { 44.1kHz 16-bit linear mono }
- kRTPPayload_PureVoice = 12; { 8kHz PureVoice mono (QCELP) }
- kRTPPayload_MPEGAUDIO = 14; { MPEG I and II audio }
- kRTPPayload_DVI_11 = 16; { 11kHz Intel DVI ADPCM mono }
- kRTPPayload_DVI_22 = 17; { 22kHz Intel DVI ADPCM mono }
- { RTP standard content encodings for video }
- kRTPPayload_CELLB = 25; { Sun CellB }
- kRTPPayload_JPEG = 26; { JPEG }
- kRTPPayload_CUSEEME = 27; { Cornell CU-SeeMe }
- kRTPPayload_NV = 28; { Xerox PARC nv }
- kRTPPayload_PICWIN = 29; { BBN Picture Window }
- kRTPPayload_CPV = 30; { Bolter CPV }
- kRTPPayload_H261 = 31; { CCITT H.261 }
- kRTPPayload_MPEGVIDEO = 32; { MPEG I and II video }
- kRTPPayload_H263 = 34; { CCITT H.263 }
- { Other RTP standard content encodings }
- kRTPPayload_MPEG2T = 33; { MPEG 2 Transport }
- { Dynamic encodings }
- kRTPPayload_FirstDynamic = 96;
- kRTPPayload_LastDynamic = 127;
- kRTPPayload_Unknown = $FF;
- {
- -----------------------------------------
- RTP Info selectors
- -----------------------------------------
- }
- { ----- these are get and set ----- }
- kRTPInfo_SSRC = $73737263 (* 'ssrc' *); { UInt32* }
- kRTPInfo_NextSeqNum = $726E736E (* 'rnsn' *); { UInt16* }
- { -----------------------------------------
- RTP Statistics
- ----------------------------------------- }
- kRTPTotalReceivedPktsStat = $74726370 (* 'trcp' *);
- kRTPTotalLostPktsStat = $746C7370 (* 'tlsp' *);
- kRTPTotalProcessedPktsStat = $74707270 (* 'tprp' *);
- kRTPTotalDroppedPktsStat = $74647270 (* 'tdrp' *);
- kRTPBadHeaderDroppedPktsStat = $62686470 (* 'bhdp' *);
- kRTPOurHeaderDroppedPktsStat = $6F686470 (* 'ohdp' *);
- kRTPNotReceivingSenderDroppedPktsStat = $6E736470 (* 'nsdp' *);
- kRTPNotProcessingDroppedPktsStat = $6E706470 (* 'npdp' *);
- kRTPBadSeqDroppedPktsStat = $62736470 (* 'bsdp' *);
- kRTPArriveTooLatePktsStat = $6172746C (* 'artl' *);
- kRTPWaitForSeqDroppedPktsStat = $77736470 (* 'wsdp' *);
- kRTPBadStateDroppedPktsStat = $73746470 (* 'stdp' *);
- kRTPBadPayloadDroppedPktsStat = $62706470 (* 'bpdp' *);
- kRTPNoTimeScaleDroppedPktsStat = $6E746470 (* 'ntdp' *);
- kRTPDupSeqNumDroppedPktsStat = $64736470 (* 'dsdp' *);
- kRTPLostPktsPercentStat = $6C737070 (* 'lspp' *);
- kRTPDroppedPktsPercentStat = $64707070 (* 'dppp' *);
- kRTPTotalUnprocessedPktsPercentStat = $74757070 (* 'tupp' *);
- kRTPRTCPDataRateStat = $72726364 (* 'rrcd' *);
- kRTPPayloadIDStat = $72706964 (* 'rpid' *);
- kRTPPayloadNameStat = $72706E6D (* 'rpnm' *);
- kRTPNumPktsInQueueStat = $726E7071 (* 'rnpq' *);
- kRTPTotalPktsInQueueStat = $72747071 (* 'rtpq' *);
- kRTPTotalOutOfOrderPktsStat = $72746F6F (* 'rtoo' *);
- kRTPRetransmissionStat = $72727478 (* 'rrtx' *);
- { -----------------------------------------
- Payload Info
- ----------------------------------------- }
- kRTPPayloadSpeedTag = $73706564 (* 'sped' *); { 0-255, 255 is fastest }
- kRTPPayloadLossRecoveryTag = $6C6F7373 (* 'loss' *); { 0-255, 0 can't handle any loss, 128 can handle 50% packet loss }
- kRTPPayloadConformanceTag = $636F6E66 (* 'conf' *); { more than one of these can be present }
- type
- RTPPayloadCharacteristicPtr = ^RTPPayloadCharacteristic;
- RTPPayloadCharacteristic = record
- tag: OSType;
- value: SInt32;
- end;
- {
- pass RTPPayloadSortRequest to QTSFindMediaPacketizer or QTSFindMediaPacketizerForTrack.
- define the characteristics to sort by. tag is key to sort on. value is positive for ascending
- sort (low value first), negative for descending sort (high value first).
- }
- RTPPayloadSortRequestPtr = ^RTPPayloadSortRequest;
- RTPPayloadSortRequest = record
- characteristicCount: SInt32;
- characteristic: array [0..0] of RTPPayloadCharacteristic; { tag is key to sort on, value is + for ascending, - for descending }
- end;
- { flags for RTPPayloadInfo }
- const
- kRTPPayloadTypeStaticFlag = $00000001;
- kRTPPayloadTypeDynamicFlag = $00000002;
- type
- RTPPayloadInfoPtr = ^RTPPayloadInfo;
- RTPPayloadInfo = record
- payloadFlags: SInt32;
- payloadID: SInt8;
- reserved1: SInt8;
- reserved2: SInt8;
- reserved3: SInt8;
- payloadName: SInt8;
- end;
- RTPPayloadInfoHandle = ^RTPPayloadInfoPtr;
- { ============================================================================
- RTP Reassembler
- ============================================================================ }
- RTPReassembler = ComponentInstance;
- const
- kRTPReassemblerType = $72747072 (* 'rtpr' *);
- kRTPBaseReassemblerType = $676E7263 (* 'gnrc' *);
- kRTP261ReassemblerType = $68323631 (* 'h261' *);
- kRTP263ReassemblerType = $68323633 (* 'h263' *);
- kRTP263PlusReassemblerType = $3236332B (* '263+' *);
- kRTPAudioReassemblerType = $736F756E (* 'soun' *);
- kRTPQTReassemblerType = $7174696D (* 'qtim' *);
- kRTPPureVoiceReassemblerType = $51636C70 (* 'Qclp' *);
- kRTPJPEGReassemblerType = $6A706567 (* 'jpeg' *);
- kRTPQDesign2ReassemblerType = $51444D32 (* 'QDM2' *);
- kRTPSorensonReassemblerType = $53565131 (* 'SVQ1' *);
- kRTPMP3ReassemblerType = $6D703320 (* 'mp3 ' *);
- kRTPMPEG4AudioReassemblerType = $6D703461 (* 'mp4a' *);
- kRTPMPEG4VideoReassemblerType = $6D703476 (* 'mp4v' *);
- type
- RTPRssmInitParamsPtr = ^RTPRssmInitParams;
- RTPRssmInitParams = record
- ssrc: RTPSSRC;
- payloadType: SInt8;
- reserved1: SInt8;
- reserved2: SInt8;
- reserved3: SInt8;
- timeBase: TimeBase_fix;
- timeScale: TimeScale_fix;
- end;
- RTPDescParamsPtr = ^RTPDescParams;
- RTPDescParams = record
- container: QTAtomContainer;
- presentationParentAtom: QTAtom;
- streamParentAtom: QTAtom;
- end;
- RTPRssmMoreInitParamsPtr = ^RTPRssmMoreInitParams;
- RTPRssmMoreInitParams = record
- initParams: RTPRssmInitParams;
- version: SInt32;
- desc: RTPDescParams;
- end;
- const
- kRTPRssmMoreInitParamsVersion1 = 1;
- { get/set info selectors }
- kRTPRssmInfo_MoreInitParams = $72726D69 (* 'rrmi' *);
- type
- RTPRssmPacketPtr = ^RTPRssmPacket;
- RTPRssmPacket = record
- next: RTPRssmPacketPtr;
- prev: RTPRssmPacketPtr;
- streamBuffer: QTSStreamBufferPtr;
- paramsFilledIn: boolean;
- reserved: SInt8;
- sequenceNum: UInt16;
- transportHeaderLength: UInt32; { filled in by base }
- payloadHeaderLength: UInt32; { derived adjusts this }
- dataLength: UInt32;
- serverEditParams: SHServerEditParameters;
- timeStamp: TimeValue64; { lower 32 bits is original rtp timestamp }
- chunkFlags: SInt32; { these are or'd together }
- flags: SInt32;
- end;
- { flags for RTPRssmPacket struct }
- const
- kRTPRssmPacketHasMarkerBitSet = $00000001;
- kRTPRssmPacketHasServerEditFlag = $00010000;
- { flags for RTPRssmSendStreamBufferRange }
- kRTPRssmCanRefStreamBuffer = $00000001;
- { flags for RTPRssmSendPacketList }
- kRTPRssmLostSomePackets = $00000001;
- { flags for RTPRssmSetFlags }
- kRTPRssmEveryPacketAChunkFlag = $00000001;
- kRTPRssmQueueAndUseMarkerBitFlag = $00000002;
- kRTPRssmTrackLostPacketsFlag = $00010000;
- kRTPRssmNoReorderingRequiredFlag = $00020000;
- type
- RTPSendStreamBufferRangeParamsPtr = ^RTPSendStreamBufferRangeParams;
- RTPSendStreamBufferRangeParams = record
- streamBuffer: QTSStreamBufferPtr;
- presentationTime: TimeValue64;
- chunkStartPosition: UInt32;
- numDataBytes: UInt32;
- chunkFlags: SInt32;
- flags: SInt32;
- serverEditParams: SHServerEditParametersPtr; { NULL if no edit }
- end;
- { characteristics }
- const
- kRTPCharacteristic_RequiresOrderedPackets = $72726F70 (* 'rrop' *);
- kRTPCharacteristic_TimeStampsNotMonoIncreasing = $74736D69 (* 'tsmi' *);
- kRTPReassemblerInfoResType = $72736D69 (* 'rsmi' *);
- type
- RTPReassemblerInfoPtr = ^RTPReassemblerInfo;
- RTPReassemblerInfo = record
- characteristicCount: SInt32;
- characteristic: array [0..0] of RTPPayloadCharacteristic;
- { after the last characteristic, the payload name (defined by the MediaPacketizerPayloadInfo }
- { structure) is present. }
- end;
- RTPReassemblerInfoHandle = ^RTPReassemblerInfoPtr;
- { RTPReassemblerInfoElement structs are padded to 32 bits }
- const
- kRTPReassemblerInfoPadUpToBytes = 4;
- {
- * QTSFindReassemblerForPayloadID()
- *
- * 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
- }
- function QTSFindReassemblerForPayloadID(inPayloadID: ByteParameter; var inSortInfo: RTPPayloadSortRequest; var outReassemblerList: QTAtomContainer): OSErr; external name '_QTSFindReassemblerForPayloadID';
- {
- * QTSFindReassemblerForPayloadName()
- *
- * 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
- }
- function QTSFindReassemblerForPayloadName(inPayloadName: ConstCStringPtr; var inSortInfo: RTPPayloadSortRequest; var outReassemblerList: QTAtomContainer): OSErr; external name '_QTSFindReassemblerForPayloadName';
- {-----------------------------------------
- RTP Reassembler Selectors
- -----------------------------------------}
- const
- kRTPRssmSetCapabilitiesSelect = $0100;
- kRTPRssmGetCapabilitiesSelect = $0101;
- kRTPRssmSetPayloadHeaderLengthSelect = $0102;
- kRTPRssmGetPayloadHeaderLengthSelect = $0103;
- kRTPRssmSetTimeScaleSelect = $0104;
- kRTPRssmGetTimeScaleSelect = $0105;
- kRTPRssmNewStreamHandlerSelect = $0106;
- kRTPRssmSetStreamHandlerSelect = $0107;
- kRTPRssmGetStreamHandlerSelect = $0108;
- kRTPRssmSendStreamHandlerChangedSelect = $0109;
- kRTPRssmSetSampleDescriptionSelect = $010A;
- kRTPRssmGetChunkAndIncrRefCountSelect = $010D;
- kRTPRssmSendChunkAndDecrRefCountSelect = $010E;
- kRTPRssmSendLostChunkSelect = $010F;
- kRTPRssmSendStreamBufferRangeSelect = $0110;
- kRTPRssmClearCachedPackets = $0111;
- kRTPRssmFillPacketListParamsSelect = $0113;
- kRTPRssmReleasePacketListSelect = $0114;
- kRTPRssmIncrChunkRefCountSelect = $0115;
- kRTPRssmDecrChunkRefCountSelect = $0116;
- kRTPRssmGetExtChunkAndIncrRefCountSelect = $0117;
- kRTPRssmInitializeSelect = $0500;
- kRTPRssmHandleNewPacketSelect = $0501;
- kRTPRssmComputeChunkSizeSelect = $0502;
- kRTPRssmAdjustPacketParamsSelect = $0503;
- kRTPRssmCopyDataToChunkSelect = $0504;
- kRTPRssmSendPacketListSelect = $0505;
- kRTPRssmGetTimeScaleFromPacketSelect = $0506;
- kRTPRssmSetInfoSelect = $0509;
- kRTPRssmGetInfoSelect = $050A;
- kRTPRssmHasCharacteristicSelect = $050B;
- kRTPRssmResetSelect = $050C;
- { -----------------------------------------
- RTP Reassembler functions - base to derived
- ----------------------------------------- }
- {
- * RTPRssmInitialize()
- *
- * 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
- }
- function RTPRssmInitialize(rtpr: RTPReassembler; var inInitParams: RTPRssmInitParams): ComponentResult; external name '_RTPRssmInitialize';
- {
- * RTPRssmHandleNewPacket()
- *
- * 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
- }
- function RTPRssmHandleNewPacket(rtpr: RTPReassembler; var inStreamBuffer: QTSStreamBuffer; inNumWraparounds: SInt32): ComponentResult; external name '_RTPRssmHandleNewPacket';
- {
- * RTPRssmComputeChunkSize()
- *
- * 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
- }
- function RTPRssmComputeChunkSize(rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; inFlags: SInt32; var outChunkDataSize: UInt32): ComponentResult; external name '_RTPRssmComputeChunkSize';
- {
- * RTPRssmAdjustPacketParams()
- *
- * 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
- }
- function RTPRssmAdjustPacketParams(rtpr: RTPReassembler; var inPacket: RTPRssmPacket; inFlags: SInt32): ComponentResult; external name '_RTPRssmAdjustPacketParams';
- {
- * RTPRssmCopyDataToChunk()
- *
- * 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
- }
- function RTPRssmCopyDataToChunk(rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; inMaxChunkDataSize: UInt32; var inChunk: SHChunkRecord; inFlags: SInt32): ComponentResult; external name '_RTPRssmCopyDataToChunk';
- {
- * RTPRssmSendPacketList()
- *
- * 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
- }
- function RTPRssmSendPacketList(rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; (*const*) var inLastChunkPresentationTime: TimeValue64; inFlags: SInt32): ComponentResult; external name '_RTPRssmSendPacketList';
- {
- * RTPRssmGetTimeScaleFromPacket()
- *
- * 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
- }
- function RTPRssmGetTimeScaleFromPacket(rtpr: RTPReassembler; var inStreamBuffer: QTSStreamBuffer; var outTimeScale: TimeScale): ComponentResult; external name '_RTPRssmGetTimeScaleFromPacket';
- {
- * RTPRssmSetInfo()
- *
- * 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
- }
- function RTPRssmSetInfo(rtpr: RTPReassembler; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_RTPRssmSetInfo';
- {
- * RTPRssmGetInfo()
- *
- * 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
- }
- function RTPRssmGetInfo(rtpr: RTPReassembler; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_RTPRssmGetInfo';
- {
- * RTPRssmHasCharacteristic()
- *
- * 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
- }
- function RTPRssmHasCharacteristic(rtpr: RTPReassembler; inCharacteristic: OSType; var outHasIt: boolean): ComponentResult; external name '_RTPRssmHasCharacteristic';
- {
- * RTPRssmReset()
- *
- * 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
- }
- function RTPRssmReset(rtpr: RTPReassembler; inFlags: SInt32): ComponentResult; external name '_RTPRssmReset';
- {-----------------------------------------
- RTP Reassembler functions - derived to base
- -----------------------------------------}
- { ----- setup }
- {
- * RTPRssmSetCapabilities()
- *
- * 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
- }
- function RTPRssmSetCapabilities(rtpr: RTPReassembler; inFlags: SInt32; inFlagsMask: SInt32): ComponentResult; external name '_RTPRssmSetCapabilities';
- {
- * RTPRssmGetCapabilities()
- *
- * 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
- }
- function RTPRssmGetCapabilities(rtpr: RTPReassembler; var outFlags: SInt32): ComponentResult; external name '_RTPRssmGetCapabilities';
- {
- * RTPRssmSetPayloadHeaderLength()
- *
- * 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
- }
- function RTPRssmSetPayloadHeaderLength(rtpr: RTPReassembler; inPayloadHeaderLength: UInt32): ComponentResult; external name '_RTPRssmSetPayloadHeaderLength';
- {
- * RTPRssmGetPayloadHeaderLength()
- *
- * 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
- }
- function RTPRssmGetPayloadHeaderLength(rtpr: RTPReassembler; var outPayloadHeaderLength: UInt32): ComponentResult; external name '_RTPRssmGetPayloadHeaderLength';
- {
- * RTPRssmSetTimeScale()
- *
- * 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
- }
- function RTPRssmSetTimeScale(rtpr: RTPReassembler; inSHTimeScale: TimeScale): ComponentResult; external name '_RTPRssmSetTimeScale';
- {
- * RTPRssmGetTimeScale()
- *
- * 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
- }
- function RTPRssmGetTimeScale(rtpr: RTPReassembler; var outSHTimeScale: TimeScale): ComponentResult; external name '_RTPRssmGetTimeScale';
- {
- * RTPRssmNewStreamHandler()
- *
- * 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
- }
- function RTPRssmNewStreamHandler(rtpr: RTPReassembler; inSHType: OSType; inSampleDescription: SampleDescriptionHandle; inSHTimeScale: TimeScale; var outHandler: ComponentInstance): ComponentResult; external name '_RTPRssmNewStreamHandler';
- {
- * RTPRssmSetStreamHandler()
- *
- * 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
- }
- function RTPRssmSetStreamHandler(rtpr: RTPReassembler; inStreamHandler: ComponentInstance): ComponentResult; external name '_RTPRssmSetStreamHandler';
- {
- * RTPRssmGetStreamHandler()
- *
- * 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
- }
- function RTPRssmGetStreamHandler(rtpr: RTPReassembler; var outStreamHandler: ComponentInstance): ComponentResult; external name '_RTPRssmGetStreamHandler';
- {
- * RTPRssmSendStreamHandlerChanged()
- *
- * 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
- }
- function RTPRssmSendStreamHandlerChanged(rtpr: RTPReassembler): ComponentResult; external name '_RTPRssmSendStreamHandlerChanged';
- {
- * RTPRssmSetSampleDescription()
- *
- * 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
- }
- function RTPRssmSetSampleDescription(rtpr: RTPReassembler; inSampleDescription: SampleDescriptionHandle): ComponentResult; external name '_RTPRssmSetSampleDescription';
- { ----- manually sending chunks }
- {
- * RTPRssmGetChunkAndIncrRefCount()
- *
- * 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
- }
- function RTPRssmGetChunkAndIncrRefCount(rtpr: RTPReassembler; inChunkDataSize: UInt32; (*const*) var inChunkPresentationTime: TimeValue64; var outChunk: UnivPtr): ComponentResult; external name '_RTPRssmGetChunkAndIncrRefCount';
- {
- * RTPRssmGetExtChunkAndIncrRefCount()
- *
- * 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 qtmlClient.lib 6.0 and later
- }
- function RTPRssmGetExtChunkAndIncrRefCount(rtpr: RTPReassembler; inChunkDataSize: UInt32; (*const*) var inChunkPresentationTime: TimeValue64; inFlags: SInt32; var outChunk: UnivPtr): ComponentResult; external name '_RTPRssmGetExtChunkAndIncrRefCount';
- {
- * RTPRssmSendChunkAndDecrRefCount()
- *
- * 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
- }
- function RTPRssmSendChunkAndDecrRefCount(rtpr: RTPReassembler; var inChunk: SHChunkRecord; const (*var*) inServerEdit: SHServerEditParameters): ComponentResult; external name '_RTPRssmSendChunkAndDecrRefCount';
- {
- * RTPRssmSendLostChunk()
- *
- * 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
- }
- function RTPRssmSendLostChunk(rtpr: RTPReassembler; (*const*) var inChunkPresentationTime: TimeValue64): ComponentResult; external name '_RTPRssmSendLostChunk';
- {
- * RTPRssmSendStreamBufferRange()
- *
- * 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
- }
- function RTPRssmSendStreamBufferRange(rtpr: RTPReassembler; var inParams: RTPSendStreamBufferRangeParams): ComponentResult; external name '_RTPRssmSendStreamBufferRange';
- {
- * RTPRssmClearCachedPackets()
- *
- * 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
- }
- function RTPRssmClearCachedPackets(rtpr: RTPReassembler; inFlags: SInt32): ComponentResult; external name '_RTPRssmClearCachedPackets';
- {
- * RTPRssmFillPacketListParams()
- *
- * 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
- }
- function RTPRssmFillPacketListParams(rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; inNumWraparounds: SInt32; inFlags: SInt32): ComponentResult; external name '_RTPRssmFillPacketListParams';
- {
- * RTPRssmReleasePacketList()
- *
- * 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
- }
- function RTPRssmReleasePacketList(rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket): ComponentResult; external name '_RTPRssmReleasePacketList';
- {
- * RTPRssmIncrChunkRefCount()
- *
- * 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
- }
- function RTPRssmIncrChunkRefCount(rtpr: RTPReassembler; var inChunk: SHChunkRecord): ComponentResult; external name '_RTPRssmIncrChunkRefCount';
- {
- * RTPRssmDecrChunkRefCount()
- *
- * 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
- }
- function RTPRssmDecrChunkRefCount(rtpr: RTPReassembler; var inChunk: SHChunkRecord): ComponentResult; external name '_RTPRssmDecrChunkRefCount';
- {============================================================================
- RTP Media Packetizer
- ============================================================================}
- const
- kRTPMediaPacketizerType = $7274706D (* 'rtpm' *);
- type
- RTPMediaPacketizer = ComponentInstance;
- const
- kRTPBaseMediaPacketizerType = $676E7263 (* 'gnrc' *);
- kRTP261MediaPacketizerType = $68323631 (* 'h261' *);
- kRTP263PlusMediaPacketizerType = $3236332B (* '263+' *);
- kRTPAudioMediaPacketizerType = $736F756E (* 'soun' *);
- kRTPQTMediaPacketizerType = $7174696D (* 'qtim' *);
- kRTPPureVoiceMediaPacketizerType = $51636C70 (* 'Qclp' *);
- kRTPJPEGMediaPacketizerType = $6A706567 (* 'jpeg' *);
- kRTPQDesign2MediaPacketizerType = $51444D32 (* 'QDM2' *);
- kRTPSorensonMediaPacketizerType = $53565131 (* 'SVQ1' *);
- kRTPMP3MediaPacketizerType = $6D703320 (* 'mp3 ' *);
- kRTPMPEG4AudioMediaPacketizerType = $6D703461 (* 'mp4a' *);
- kRTPMPEG4VideoMediaPacketizerType = $6D703476 (* 'mp4v' *);
- type
- RTPMPSampleRef = UInt32;
- {$ifc TYPED_FUNCTION_POINTERS}
- RTPMPDataReleaseProcPtr = procedure(var inData: UInt8; inRefCon: UnivPtr);
- {$elsec}
- RTPMPDataReleaseProcPtr = ProcPtr;
- {$endc}
- {$ifc OPAQUE_UPP_TYPES}
- RTPMPDataReleaseUPP = ^SInt32; { an opaque UPP }
- {$elsec}
- RTPMPDataReleaseUPP = UniversalProcPtr;
- {$endc}
- const
- kMediaPacketizerCanPackEditRate = $01;
- kMediaPacketizerCanPackLayer = $02;
- kMediaPacketizerCanPackVolume = $04;
- kMediaPacketizerCanPackBalance = $08;
- kMediaPacketizerCanPackGraphicsMode = $10;
- kMediaPacketizerCanPackEmptyEdit = $20;
- type
- MediaPacketizerRequirementsPtr = ^MediaPacketizerRequirements;
- MediaPacketizerRequirements = record
- mediaType: OSType; { media type supported (0 for all) }
- dataFormat: OSType; { data format (e.g., compression) supported (0 for all) }
- capabilityFlags: UInt32; { ability to handle non-standard track characteristics }
- canPackMatrixType: SInt8; { can pack any matrix type up to this (identityMatrixType for identity only) }
- reserved1: SInt8;
- reserved2: SInt8;
- reserved3: SInt8;
- end;
- MediaPacketizerInfoPtr = ^MediaPacketizerInfo;
- MediaPacketizerInfo = record
- mediaType: OSType; { media type supported (0 for all) }
- dataFormat: OSType; { data format (e.g., compression) supported (0 for all) }
- vendor: OSType; { manufacturer of this packetizer (e.g., 'appl' for Apple) }
- capabilityFlags: UInt32; { ability to handle non-standard track characteristics }
- canPackMatrixType: SInt8; { can pack any matrix type up to this (identityMatrixType for identity only) }
- reserved1: SInt8;
- reserved2: SInt8;
- reserved3: SInt8;
- characteristicCount: SInt32;
- characteristic: array [0..0] of RTPPayloadCharacteristic;
- { after the last characteristic, the payload name (defined by the RTPPayloadInfo }
- { structure) is present. }
- end;
- MediaPacketizerInfoHandle = ^MediaPacketizerInfoPtr;
- { MediaPacketizerInfo structs are padded to 32 bits }
- const
- kMediaPacketizerInfoPadUpToBytes = 4;
- {
- * QTSFindMediaPacketizer()
- *
- * 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
- }
- function QTSFindMediaPacketizer(inPacketizerinfo: MediaPacketizerRequirementsPtr; inSampleDescription: SampleDescriptionHandle; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer): OSErr; external name '_QTSFindMediaPacketizer';
- {
- * QTSFindMediaPacketizerForTrack()
- *
- * 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
- }
- function QTSFindMediaPacketizerForTrack(inTrack: Track; inSampleDescriptionIndex: SInt32; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer): OSErr; external name '_QTSFindMediaPacketizerForTrack';
- {
- * QTSFindMediaPacketizerForPayloadID()
- *
- * 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
- }
- function QTSFindMediaPacketizerForPayloadID(payloadID: SInt32; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer): OSErr; external name '_QTSFindMediaPacketizerForPayloadID';
- {
- * QTSFindMediaPacketizerForPayloadName()
- *
- * 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
- }
- function QTSFindMediaPacketizerForPayloadName(payloadName: ConstCStringPtr; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer): OSErr; external name '_QTSFindMediaPacketizerForPayloadName';
- { flags for RTPMPInitialize }
- const
- kRTPMPRealtimeModeFlag = $00000001;
- { flags for RTPMPSampleDataParams }
- kRTPMPSyncSampleFlag = $00000001;
- kRTPMPRespectDurationFlag = $00000002;
- type
- RTPMPSampleDataParamsPtr = ^RTPMPSampleDataParams;
- RTPMPSampleDataParams = record
- version: UInt32;
- timeStamp: UInt32;
- duration: UInt32; { 0 = unknown duration }
- playOffset: UInt32;
- playRate: Fixed;
- flags: SInt32;
- sampleDescSeed: UInt32;
- sampleDescription: Handle;
- sampleRef: RTPMPSampleRef;
- dataLength: UInt32;
- data: Ptr;
- releaseProc: RTPMPDataReleaseUPP;
- refCon: Ptr;
- end;
- { out flags for idle, RTPMPSetSampleData, and RTPMPFlush }
- const
- kRTPMPStillProcessingData = $00000001; { not done with data you've got }
- type
- RTPMPPayloadTypeParamsPtr = ^RTPMPPayloadTypeParams;
- RTPMPPayloadTypeParams = record
- flags: UInt32;
- payloadNumber: UInt32;
- nameLength: SInt16; { in: size of payloadName buffer (counting null terminator) -- this will be reset to needed length and paramErr returned if too small }
- payloadName: CStringPtr; { caller must provide buffer }
- end;
- { -----------------------------------------
- RTP Media Packetizer Info selectors
- ----------------------------------------- }
- { info selectors - get only }
- const
- kRTPMPPayloadTypeInfo = $72747070 (* 'rtpp' *); { RTPMPPayloadTypeParams* }
- kRTPMPRTPTimeScaleInfo = $72747074 (* 'rtpt' *); { TimeScale* }
- kRTPMPRequiredSampleDescriptionInfo = $73647363 (* 'sdsc' *); { SampleDescriptionHandle* }
- kRTPMPMinPayloadSize = $6D696E73 (* 'mins' *); { UInt32* in bytes, does not include rtp header; default is 0 }
- kRTPMPMinPacketDuration = $6D696E64 (* 'mind' *); { UInt3* in milliseconds; default is no min required }
- kRTPMPSuggestedRepeatPktCountInfo = $73727063 (* 'srpc' *); { UInt32* }
- kRTPMPSuggestedRepeatPktSpacingInfo = $73727073 (* 'srps' *); { UInt32* in milliseconds }
- kRTPMPMaxPartialSampleSizeInfo = $6D707373 (* 'mpss' *); { UInt32* in bytes }
- kRTPMPPreferredBufferDelayInfo = $70726264 (* 'prbd' *); { UInt32* in milliseconds }
- kRTPMPPayloadNameInfo = $6E616D65 (* 'name' *); { StringPtr }
- kRTPInfo_FormatString = $666D7470 (* 'fmtp' *); { char **, caller allocates ptr, callee disposes }
- { -----------------------------------------
- RTP Media Packetizer Characteristics
- ----------------------------------------- }
- { also supports relevant ones in Movies.h and QTSToolbox.h }
- kRTPMPNoSampleDataRequiredCharacteristic = $6E736472 (* 'nsdr' *);
- kRTPMPHasUserSettingsDialogCharacteristic = $73646C67 (* 'sdlg' *);
- kRTPMPPrefersReliableTransportCharacteristic = $72656C79 (* 'rely' *);
- kRTPMPRequiresOutOfBandDimensionsCharacteristic = $726F6264 (* 'robd' *);
- kRTPMPReadsPartialSamplesCharacteristic = $72707370 (* 'rpsp' *);
- { -----------------------------------------
- RTP Media Packetizer selectors
- ----------------------------------------- }
- kRTPMPInitializeSelect = $0500;
- kRTPMPPreflightMediaSelect = $0501;
- kRTPMPIdleSelect = $0502;
- kRTPMPSetSampleDataSelect = $0503;
- kRTPMPFlushSelect = $0504;
- kRTPMPResetSelect = $0505;
- kRTPMPSetInfoSelect = $0506;
- kRTPMPGetInfoSelect = $0507;
- kRTPMPSetTimeScaleSelect = $0508;
- kRTPMPGetTimeScaleSelect = $0509;
- kRTPMPSetTimeBaseSelect = $050A;
- kRTPMPGetTimeBaseSelect = $050B;
- kRTPMPHasCharacteristicSelect = $050C;
- kRTPMPSetPacketBuilderSelect = $050E;
- kRTPMPGetPacketBuilderSelect = $050F;
- kRTPMPSetMediaTypeSelect = $0510;
- kRTPMPGetMediaTypeSelect = $0511;
- kRTPMPSetMaxPacketSizeSelect = $0512;
- kRTPMPGetMaxPacketSizeSelect = $0513;
- kRTPMPSetMaxPacketDurationSelect = $0514;
- kRTPMPGetMaxPacketDurationSelect = $0515; { for export component and apps who want to }
- { access dialogs for Media-specific settings }
- { (such as Pure Voice interleave factor) }
- kRTPMPDoUserDialogSelect = $0516;
- kRTPMPSetSettingsFromAtomContainerAtAtomSelect = $0517;
- kRTPMPGetSettingsIntoAtomContainerAtAtomSelect = $0518;
- kRTPMPGetSettingsAsTextSelect = $0519;
- kRTPMPGetSettingsSelect = $051A;
- kRTPMPSetSettingsSelect = $051B;
- { -----------------------------------------
- RTP Media Packetizer functions
- ----------------------------------------- }
- {
- * RTPMPInitialize()
- *
- * 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
- }
- function RTPMPInitialize(rtpm: RTPMediaPacketizer; inFlags: SInt32): ComponentResult; external name '_RTPMPInitialize';
- { return noErr if you can handle this media }
- {
- * RTPMPPreflightMedia()
- *
- * 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
- }
- function RTPMPPreflightMedia(rtpm: RTPMediaPacketizer; inMediaType: OSType; inSampleDescription: SampleDescriptionHandle): ComponentResult; external name '_RTPMPPreflightMedia';
- {
- do work here if you need to - give up time periodically
- if you're doing time consuming operations
- }
- {
- * RTPMPIdle()
- *
- * 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
- }
- function RTPMPIdle(rtpm: RTPMediaPacketizer; inFlags: SInt32; var outFlags: SInt32): ComponentResult; external name '_RTPMPIdle';
- {
- caller owns the RTPMPSampleDataParams struct
- media Packetizer must copy any fields of the struct it wants to keep
- media Packetizer must call release proc when done with the data
- you can do the processing work here if it does not take up too
- much cpu time - otherwise do it in idle
- }
- {
- * RTPMPSetSampleData()
- *
- * 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
- }
- function RTPMPSetSampleData(rtpm: RTPMediaPacketizer; const (*var*) inSampleData: RTPMPSampleDataParams; var outFlags: SInt32): ComponentResult; external name '_RTPMPSetSampleData';
- {
- send everything you have buffered - you will get idles while
- you set the kRTPMPStillProcessingData flag here and in idle
- }
- {
- * RTPMPFlush()
- *
- * 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
- }
- function RTPMPFlush(rtpm: RTPMediaPacketizer; inFlags: SInt32; var outFlags: SInt32): ComponentResult; external name '_RTPMPFlush';
- {
- dispose of anything buffered and get rid of state
- do not send the buffered data (because presumably
- there is no connection for you to send on)
- state should be the same as if you were just initialized
- }
- {
- * RTPMPReset()
- *
- * 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
- }
- function RTPMPReset(rtpm: RTPMediaPacketizer; inFlags: SInt32): ComponentResult; external name '_RTPMPReset';
- {-----------------------------------------
- RTP Media Packetizer get / set functions
- -----------------------------------------}
- {
- * RTPMPSetInfo()
- *
- * 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
- }
- function RTPMPSetInfo(rtpm: RTPMediaPacketizer; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_RTPMPSetInfo';
- {
- * RTPMPGetInfo()
- *
- * 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
- }
- function RTPMPGetInfo(rtpm: RTPMediaPacketizer; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_RTPMPGetInfo';
- {
- * RTPMPSetTimeScale()
- *
- * 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
- }
- function RTPMPSetTimeScale(rtpm: RTPMediaPacketizer; inTimeScale: TimeScale): ComponentResult; external name '_RTPMPSetTimeScale';
- {
- * RTPMPGetTimeScale()
- *
- * 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
- }
- function RTPMPGetTimeScale(rtpm: RTPMediaPacketizer; var outTimeScale: TimeScale): ComponentResult; external name '_RTPMPGetTimeScale';
- {
- * RTPMPSetTimeBase()
- *
- * 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
- }
- function RTPMPSetTimeBase(rtpm: RTPMediaPacketizer; inTimeBase: TimeBase): ComponentResult; external name '_RTPMPSetTimeBase';
- {
- * RTPMPGetTimeBase()
- *
- * 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
- }
- function RTPMPGetTimeBase(rtpm: RTPMediaPacketizer; var outTimeBase: TimeBase): ComponentResult; external name '_RTPMPGetTimeBase';
- {
- * RTPMPHasCharacteristic()
- *
- * 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
- }
- function RTPMPHasCharacteristic(rtpm: RTPMediaPacketizer; inSelector: OSType; var outHasIt: boolean): ComponentResult; external name '_RTPMPHasCharacteristic';
- {
- * RTPMPSetPacketBuilder()
- *
- * 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
- }
- function RTPMPSetPacketBuilder(rtpm: RTPMediaPacketizer; inPacketBuilder: ComponentInstance): ComponentResult; external name '_RTPMPSetPacketBuilder';
- {
- * RTPMPGetPacketBuilder()
- *
- * 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
- }
- function RTPMPGetPacketBuilder(rtpm: RTPMediaPacketizer; var outPacketBuilder: ComponentInstance): ComponentResult; external name '_RTPMPGetPacketBuilder';
- {
- * RTPMPSetMediaType()
- *
- * 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
- }
- function RTPMPSetMediaType(rtpm: RTPMediaPacketizer; inMediaType: OSType): ComponentResult; external name '_RTPMPSetMediaType';
- {
- * RTPMPGetMediaType()
- *
- * 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
- }
- function RTPMPGetMediaType(rtpm: RTPMediaPacketizer; var outMediaType: OSType): ComponentResult; external name '_RTPMPGetMediaType';
- { size is in bytes }
- {
- * RTPMPSetMaxPacketSize()
- *
- * 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
- }
- function RTPMPSetMaxPacketSize(rtpm: RTPMediaPacketizer; inMaxPacketSize: UInt32): ComponentResult; external name '_RTPMPSetMaxPacketSize';
- {
- * RTPMPGetMaxPacketSize()
- *
- * 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
- }
- function RTPMPGetMaxPacketSize(rtpm: RTPMediaPacketizer; var outMaxPacketSize: UInt32): ComponentResult; external name '_RTPMPGetMaxPacketSize';
- { duration is in milliseconds }
- {
- * RTPMPSetMaxPacketDuration()
- *
- * 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
- }
- function RTPMPSetMaxPacketDuration(rtpm: RTPMediaPacketizer; inMaxPacketDuration: UInt32): ComponentResult; external name '_RTPMPSetMaxPacketDuration';
- {
- * RTPMPGetMaxPacketDuration()
- *
- * 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
- }
- function RTPMPGetMaxPacketDuration(rtpm: RTPMediaPacketizer; var outMaxPacketDuration: UInt32): ComponentResult; external name '_RTPMPGetMaxPacketDuration';
- {
- * RTPMPDoUserDialog()
- *
- * 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
- }
- function RTPMPDoUserDialog(rtpm: RTPMediaPacketizer; inFilterUPP: ModalFilterUPP; var canceled: boolean): ComponentResult; external name '_RTPMPDoUserDialog';
- {
- * RTPMPSetSettingsFromAtomContainerAtAtom()
- *
- * 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
- }
- function RTPMPSetSettingsFromAtomContainerAtAtom(rtpm: RTPMediaPacketizer; inContainer: QTAtomContainer; inParentAtom: QTAtom): ComponentResult; external name '_RTPMPSetSettingsFromAtomContainerAtAtom';
- {
- * RTPMPGetSettingsIntoAtomContainerAtAtom()
- *
- * 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
- }
- function RTPMPGetSettingsIntoAtomContainerAtAtom(rtpm: RTPMediaPacketizer; inOutContainer: QTAtomContainer; inParentAtom: QTAtom): ComponentResult; external name '_RTPMPGetSettingsIntoAtomContainerAtAtom';
- {
- * RTPMPGetSettingsAsText()
- *
- * 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
- }
- function RTPMPGetSettingsAsText(rtpm: RTPMediaPacketizer; var text: Handle): ComponentResult; external name '_RTPMPGetSettingsAsText';
- {
- * RTPMPGetSettings()
- *
- * 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
- }
- function RTPMPGetSettings(rtpm: RTPMediaPacketizer; var outSettings: QTAtomContainer; inFlags: SInt32): ComponentResult; external name '_RTPMPGetSettings';
- {
- * RTPMPSetSettings()
- *
- * 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
- }
- function RTPMPSetSettings(rtpm: RTPMediaPacketizer; inSettings: QTAtomSpecPtr; inFlags: SInt32): ComponentResult; external name '_RTPMPSetSettings';
- {============================================================================
- RTP Packet Builder
- ============================================================================}
- const
- kRTPPacketBuilderType = $72747062 (* 'rtpb' *);
- type
- RTPPacketBuilder = ComponentInstance;
- RTPPacketGroupRef = ^SInt32; { an opaque 32-bit type }
- RTPPacketGroupRefPtr = ^RTPPacketGroupRef; { when a var xx:RTPPacketGroupRef parameter can be nil, it is changed to xx: RTPPacketGroupRefPtr }
- RTPPacketRef = ^SInt32; { an opaque 32-bit type }
- RTPPacketRefPtr = ^RTPPacketRef; { when a var xx:RTPPacketRef parameter can be nil, it is changed to xx: RTPPacketRefPtr }
- RTPPacketRepeatedDataRef = ^SInt32; { an opaque 32-bit type }
- RTPPacketRepeatedDataRefPtr = ^RTPPacketRepeatedDataRef; { when a var xx:RTPPacketRepeatedDataRef parameter can be nil, it is changed to xx: RTPPacketRepeatedDataRefPtr }
- { flags for RTPPBBegin/EndPacket, RTPPBBegin/EndPacketGroup }
- const
- kRTPPBSetMarkerFlag = $00000001;
- kRTPPBRepeatPacketFlag = $00000002;
- kRTPPBSyncSampleFlag = $00010000;
- kRTPPBBFrameFlag = $00020000;
- kRTPPBDontSendFlag = $10000000; { when set in EndPacketGroup, will not add group }
- kRTPPBUnknownPacketMediaDataLength = 0;
- { flags for RTPPBGetSampleData }
- kRTPPBEndOfDataFlag = $00000001;
- type
- {$ifc TYPED_FUNCTION_POINTERS}
- RTPPBCallbackProcPtr = procedure(inSelector: OSType; ioParams: UnivPtr; inRefCon: UnivPtr);
- {$elsec}
- RTPPBCallbackProcPtr = ProcPtr;
- {$endc}
- {$ifc OPAQUE_UPP_TYPES}
- RTPPBCallbackUPP = ^SInt32; { an opaque UPP }
- {$elsec}
- RTPPBCallbackUPP = UniversalProcPtr;
- {$endc}
- { -----------------------------------------
- RTP Packet Builder selectors
- ----------------------------------------- }
- const
- kRTPPBBeginPacketGroupSelect = $0500;
- kRTPPBEndPacketGroupSelect = $0501;
- kRTPPBBeginPacketSelect = $0502;
- kRTPPBEndPacketSelect = $0503;
- kRTPPBAddPacketLiteralDataSelect = $0504;
- kRTPPBAddPacketSampleDataSelect = $0505;
- kRTPPBAddPacketRepeatedDataSelect = $0506;
- kRTPPBReleaseRepeatedDataSelect = $0507;
- kRTPPBSetPacketSequenceNumberSelect = $0508;
- kRTPPBGetPacketSequenceNumberSelect = $0509;
- kRTPPBSetCallbackSelect = $050A;
- kRTPPBGetCallbackSelect = $050B;
- kRTPPBSetInfoSelect = $050C;
- kRTPPBGetInfoSelect = $050D;
- kRTPPBSetPacketTimeStampOffsetSelect = $050E;
- kRTPPBGetPacketTimeStampOffsetSelect = $050F;
- kRTPPBAddPacketSampleData64Select = $0510;
- kRTPPBGetSampleDataSelect = $0511;
- kRTPPBAddRepeatPacketSelect = $0512;
- { -----------------------------------------
- RTP Packet Builder functions
- ----------------------------------------- }
- {
- * RTPPBBeginPacketGroup()
- *
- * 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
- }
- function RTPPBBeginPacketGroup(rtpb: RTPPacketBuilder; inFlags: SInt32; inTimeStamp: UInt32; var outPacketGroup: RTPPacketGroupRef): ComponentResult; external name '_RTPPBBeginPacketGroup';
- {
- * RTPPBEndPacketGroup()
- *
- * 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
- }
- function RTPPBEndPacketGroup(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef): ComponentResult; external name '_RTPPBEndPacketGroup';
- {
- * RTPPBBeginPacket()
- *
- * 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
- }
- function RTPPBBeginPacket(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacketMediaDataLength: UInt32; var outPacket: RTPPacketRef): ComponentResult; external name '_RTPPBBeginPacket';
- {
- * RTPPBEndPacket()
- *
- * 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
- }
- function RTPPBEndPacket(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inTransmissionTimeOffset: UInt32; inDuration: UInt32): ComponentResult; external name '_RTPPBEndPacket';
- {
- non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
- pb must return a repeated data ref
- }
- {
- * RTPPBAddPacketLiteralData()
- *
- * 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
- }
- function RTPPBAddPacketLiteralData(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var inData: UInt8; inDataLength: UInt32; var outDataRef: RTPPacketRepeatedDataRef): ComponentResult; external name '_RTPPBAddPacketLiteralData';
- {
- non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
- pb must return a repeated data ref
- }
- {
- * RTPPBAddPacketSampleData()
- *
- * 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
- }
- function RTPPBAddPacketSampleData(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var inSampleDataParams: RTPMPSampleDataParams; inSampleOffset: UInt32; inSampleDataLength: UInt32; var outDataRef: RTPPacketRepeatedDataRef): ComponentResult; external name '_RTPPBAddPacketSampleData';
- {
- non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
- pb must return a repeated data ref
- }
- {
- * RTPPBAddPacketSampleData64()
- *
- * 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
- }
- function RTPPBAddPacketSampleData64(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var inSampleDataParams: RTPMPSampleDataParams; (*const*) var inSampleOffset: UInt64; inSampleDataLength: UInt32; var outDataRef: RTPPacketRepeatedDataRef): ComponentResult; external name '_RTPPBAddPacketSampleData64';
- {
- call to add the repeated data using the ref you got from
- RTPPBAddPacketLiteralData or RTPPBAddPacketSampleData
- }
- {
- * RTPPBAddPacketRepeatedData()
- *
- * 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
- }
- function RTPPBAddPacketRepeatedData(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inDataRef: RTPPacketRepeatedDataRef): ComponentResult; external name '_RTPPBAddPacketRepeatedData';
- { call when done with repeated data }
- {
- * RTPPBReleaseRepeatedData()
- *
- * 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
- }
- function RTPPBReleaseRepeatedData(rtpb: RTPPacketBuilder; inDataRef: RTPPacketRepeatedDataRef): ComponentResult; external name '_RTPPBReleaseRepeatedData';
- {
- seq number is just relative seq number
- don't call if you don't care when seq # is used
- }
- {
- * RTPPBSetPacketSequenceNumber()
- *
- * 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
- }
- function RTPPBSetPacketSequenceNumber(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inSequenceNumber: UInt32): ComponentResult; external name '_RTPPBSetPacketSequenceNumber';
- {
- * RTPPBGetPacketSequenceNumber()
- *
- * 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
- }
- function RTPPBGetPacketSequenceNumber(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var outSequenceNumber: UInt32): ComponentResult; external name '_RTPPBGetPacketSequenceNumber';
- {
- * RTPPBSetPacketTimeStampOffset()
- *
- * 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
- }
- function RTPPBSetPacketTimeStampOffset(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inTimeStampOffset: SInt32): ComponentResult; external name '_RTPPBSetPacketTimeStampOffset';
- {
- * RTPPBGetPacketTimeStampOffset()
- *
- * 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
- }
- function RTPPBGetPacketTimeStampOffset(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var outTimeStampOffset: SInt32): ComponentResult; external name '_RTPPBGetPacketTimeStampOffset';
- {
- * RTPPBAddRepeatPacket()
- *
- * 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
- }
- function RTPPBAddRepeatPacket(rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inTransmissionOffset: TimeValue; inSequenceNumber: UInt32): ComponentResult; external name '_RTPPBAddRepeatPacket';
- {
- used for communicating with the caller of the media packetizers if needed
- NOT used for communicating with the media packetizers themselves
- }
- {
- * RTPPBSetCallback()
- *
- * 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
- }
- function RTPPBSetCallback(rtpb: RTPPacketBuilder; inCallback: RTPPBCallbackUPP; inRefCon: UnivPtr): ComponentResult; external name '_RTPPBSetCallback';
- {
- * RTPPBGetCallback()
- *
- * 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
- }
- function RTPPBGetCallback(rtpb: RTPPacketBuilder; var outCallback: RTPPBCallbackUPP; var outRefCon: UnivPtr): ComponentResult; external name '_RTPPBGetCallback';
- {
- * RTPPBSetInfo()
- *
- * 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
- }
- function RTPPBSetInfo(rtpb: RTPPacketBuilder; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_RTPPBSetInfo';
- {
- * RTPPBGetInfo()
- *
- * 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
- }
- function RTPPBGetInfo(rtpb: RTPPacketBuilder; inSelector: OSType; ioParams: UnivPtr): ComponentResult; external name '_RTPPBGetInfo';
- {
- * RTPPBGetSampleData()
- *
- * 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
- }
- function RTPPBGetSampleData(rtpb: RTPPacketBuilder; var inParams: RTPMPSampleDataParams; (*const*) var inStartOffset: UInt64; var outDataBuffer: UInt8; inBytesToRead: UInt32; var outBytesRead: UInt32; var outFlags: SInt32): ComponentResult; external name '_RTPPBGetSampleData';
- { UPP call backs }
- const
- uppRTPMPDataReleaseProcInfo = $000003C0;
- uppRTPPBCallbackProcInfo = $00000FC0;
- {
- * NewRTPMPDataReleaseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- }
- function NewRTPMPDataReleaseUPP(userRoutine: RTPMPDataReleaseProcPtr): RTPMPDataReleaseUPP; external name '_NewRTPMPDataReleaseUPP'; { old name was NewRTPMPDataReleaseProc }
- {
- * NewRTPPBCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- }
- function NewRTPPBCallbackUPP(userRoutine: RTPPBCallbackProcPtr): RTPPBCallbackUPP; external name '_NewRTPPBCallbackUPP'; { old name was NewRTPPBCallbackProc }
- {
- * DisposeRTPMPDataReleaseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DisposeRTPMPDataReleaseUPP(userUPP: RTPMPDataReleaseUPP); external name '_DisposeRTPMPDataReleaseUPP';
- {
- * DisposeRTPPBCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DisposeRTPPBCallbackUPP(userUPP: RTPPBCallbackUPP); external name '_DisposeRTPPBCallbackUPP';
- {
- * InvokeRTPMPDataReleaseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure InvokeRTPMPDataReleaseUPP(var inData: UInt8; inRefCon: UnivPtr; userRoutine: RTPMPDataReleaseUPP); external name '_InvokeRTPMPDataReleaseUPP'; { old name was CallRTPMPDataReleaseProc }
- {
- * InvokeRTPPBCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure InvokeRTPPBCallbackUPP(inSelector: OSType; ioParams: UnivPtr; inRefCon: UnivPtr; userRoutine: RTPPBCallbackUPP); external name '_InvokeRTPPBCallbackUPP'; { old name was CallRTPPBCallbackProc }
- {$ALIGN MAC68K}
- end.
|