1 {
2      File:       QuickTime/QTStreamingComponents.h
3 
4      Contains:   QuickTime Interfaces.
5 
6      Version:    QuickTime 7.7.1
7 
8      Copyright:  � 1990-2012 by Apple Inc., all rights reserved
9 
10      Bugs?:      For bug reports, consult the following page on
11                  the World Wide Web:
12 
13                      http://bugs.freepascal.org
14 
15 }
16 {  Pascal Translation Updated:  Jonas Maebe, <jonas@freepascal.org>, October 2009 }
17 {  Pascal Translation Updated:  Jonas Maebe, <jonas@freepascal.org>, October 2012 }
18 {
19     Modified for use with Free Pascal
20     Version 308
21     Please report any bugs to <gpc@microbizz.nl>
22 }
23 
24 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
25 {$mode macpas}
26 {$modeswitch cblocks}
27 {$packenum 1}
28 {$macro on}
29 {$inline on}
30 {$calling mwpascal}
31 
32 unit QTStreamingComponents;
33 interface
34 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
35 {$setc GAP_INTERFACES_VERSION := $0308}
36 
37 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
38     {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
39 {$endc}
40 
41 {$ifc defined CPUPOWERPC and defined CPUI386}
42 	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
43 {$endc}
44 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
45 	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
46 {$endc}
47 
48 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
49 	{$setc __ppc__ := 1}
50 {$elsec}
51 	{$setc __ppc__ := 0}
52 {$endc}
53 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
54 	{$setc __ppc64__ := 1}
55 {$elsec}
56 	{$setc __ppc64__ := 0}
57 {$endc}
58 {$ifc not defined __i386__ and defined CPUI386}
59 	{$setc __i386__ := 1}
60 {$elsec}
61 	{$setc __i386__ := 0}
62 {$endc}
63 {$ifc not defined __x86_64__ and defined CPUX86_64}
64 	{$setc __x86_64__ := 1}
65 {$elsec}
66 	{$setc __x86_64__ := 0}
67 {$endc}
68 {$ifc not defined __arm__ and defined CPUARM}
69 	{$setc __arm__ := 1}
70 {$elsec}
71 	{$setc __arm__ := 0}
72 {$endc}
73 {$ifc not defined __arm64__ and defined CPUAARCH64}
74   {$setc __arm64__ := 1}
75 {$elsec}
76   {$setc __arm64__ := 0}
77 {$endc}
78 
79 {$ifc defined cpu64}
80   {$setc __LP64__ := 1}
81 {$elsec}
82   {$setc __LP64__ := 0}
83 {$endc}
84 
85 
86 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
87 	{$error Conflicting definitions for __ppc__ and __i386__}
88 {$endc}
89 
90 {$ifc defined __ppc__ and __ppc__}
91 	{$setc TARGET_CPU_PPC := TRUE}
92 	{$setc TARGET_CPU_PPC64 := FALSE}
93 	{$setc TARGET_CPU_X86 := FALSE}
94 	{$setc TARGET_CPU_X86_64 := FALSE}
95 	{$setc TARGET_CPU_ARM := FALSE}
96 	{$setc TARGET_CPU_ARM64 := FALSE}
97 	{$setc TARGET_OS_MAC := TRUE}
98 	{$setc TARGET_OS_IPHONE := FALSE}
99 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
100 	{$setc TARGET_OS_EMBEDDED := FALSE}
101 {$elifc defined __ppc64__ and __ppc64__}
102 	{$setc TARGET_CPU_PPC := FALSE}
103 	{$setc TARGET_CPU_PPC64 := TRUE}
104 	{$setc TARGET_CPU_X86 := FALSE}
105 	{$setc TARGET_CPU_X86_64 := FALSE}
106 	{$setc TARGET_CPU_ARM := FALSE}
107 	{$setc TARGET_CPU_ARM64 := FALSE}
108 	{$setc TARGET_OS_MAC := TRUE}
109 	{$setc TARGET_OS_IPHONE := FALSE}
110 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
111 	{$setc TARGET_OS_EMBEDDED := FALSE}
112 {$elifc defined __i386__ and __i386__}
113 	{$setc TARGET_CPU_PPC := FALSE}
114 	{$setc TARGET_CPU_PPC64 := FALSE}
115 	{$setc TARGET_CPU_X86 := TRUE}
116 	{$setc TARGET_CPU_X86_64 := FALSE}
117 	{$setc TARGET_CPU_ARM := FALSE}
118 	{$setc TARGET_CPU_ARM64 := FALSE}
119 {$ifc defined iphonesim}
120  	{$setc TARGET_OS_MAC := FALSE}
121 	{$setc TARGET_OS_IPHONE := TRUE}
122 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
123 {$elsec}
124 	{$setc TARGET_OS_MAC := TRUE}
125 	{$setc TARGET_OS_IPHONE := FALSE}
126 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
127 {$endc}
128 	{$setc TARGET_OS_EMBEDDED := FALSE}
129 {$elifc defined __x86_64__ and __x86_64__}
130 	{$setc TARGET_CPU_PPC := FALSE}
131 	{$setc TARGET_CPU_PPC64 := FALSE}
132 	{$setc TARGET_CPU_X86 := FALSE}
133 	{$setc TARGET_CPU_X86_64 := TRUE}
134 	{$setc TARGET_CPU_ARM := FALSE}
135 	{$setc TARGET_CPU_ARM64 := FALSE}
136 {$ifc defined iphonesim}
137  	{$setc TARGET_OS_MAC := FALSE}
138 	{$setc TARGET_OS_IPHONE := TRUE}
139 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
140 {$elsec}
141 	{$setc TARGET_OS_MAC := TRUE}
142 	{$setc TARGET_OS_IPHONE := FALSE}
143 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
144 {$endc}
145 	{$setc TARGET_OS_EMBEDDED := FALSE}
146 {$elifc defined __arm__ and __arm__}
147 	{$setc TARGET_CPU_PPC := FALSE}
148 	{$setc TARGET_CPU_PPC64 := FALSE}
149 	{$setc TARGET_CPU_X86 := FALSE}
150 	{$setc TARGET_CPU_X86_64 := FALSE}
151 	{$setc TARGET_CPU_ARM := TRUE}
152 	{$setc TARGET_CPU_ARM64 := FALSE}
153 	{$setc TARGET_OS_MAC := FALSE}
154 	{$setc TARGET_OS_IPHONE := TRUE}
155 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
156 	{$setc TARGET_OS_EMBEDDED := TRUE}
157 {$elifc defined __arm64__ and __arm64__}
158 	{$setc TARGET_CPU_PPC := FALSE}
159 	{$setc TARGET_CPU_PPC64 := FALSE}
160 	{$setc TARGET_CPU_X86 := FALSE}
161 	{$setc TARGET_CPU_X86_64 := FALSE}
162 	{$setc TARGET_CPU_ARM := FALSE}
163 	{$setc TARGET_CPU_ARM64 := TRUE}
164 {$ifc defined ios}
165 	{$setc TARGET_OS_MAC := FALSE}
166 	{$setc TARGET_OS_IPHONE := TRUE}
167 	{$setc TARGET_OS_EMBEDDED := TRUE}
168 {$elsec}
169 	{$setc TARGET_OS_MAC := TRUE}
170 	{$setc TARGET_OS_IPHONE := FALSE}
171 	{$setc TARGET_OS_EMBEDDED := FALSE}
172 {$endc}
173 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
174 {$elsec}
175 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
176 {$endc}
177 
178 {$ifc defined __LP64__ and __LP64__ }
179   {$setc TARGET_CPU_64 := TRUE}
180 {$elsec}
181   {$setc TARGET_CPU_64 := FALSE}
182 {$endc}
183 
184 {$ifc defined FPC_BIG_ENDIAN}
185 	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
186 	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
187 {$elifc defined FPC_LITTLE_ENDIAN}
188 	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
189 	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
190 {$elsec}
191 	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
192 {$endc}
193 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
194 {$setc CALL_NOT_IN_CARBON := FALSE}
195 {$setc OLDROUTINENAMES := FALSE}
196 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
197 {$setc OPAQUE_UPP_TYPES := TRUE}
198 {$setc OTCARBONAPPLICATION := TRUE}
199 {$setc OTKERNEL := FALSE}
200 {$setc PM_USE_SESSION_APIS := TRUE}
201 {$setc TARGET_API_MAC_CARBON := TRUE}
202 {$setc TARGET_API_MAC_OS8 := FALSE}
203 {$setc TARGET_API_MAC_OSX := TRUE}
204 {$setc TARGET_CARBON := TRUE}
205 {$setc TARGET_CPU_68K := FALSE}
206 {$setc TARGET_CPU_MIPS := FALSE}
207 {$setc TARGET_CPU_SPARC := FALSE}
208 {$setc TARGET_OS_UNIX := FALSE}
209 {$setc TARGET_OS_WIN32 := FALSE}
210 {$setc TARGET_RT_MAC_68881 := FALSE}
211 {$setc TARGET_RT_MAC_CFM := FALSE}
212 {$setc TARGET_RT_MAC_MACHO := TRUE}
213 {$setc TYPED_FUNCTION_POINTERS := TRUE}
214 {$setc TYPE_BOOL := FALSE}
215 {$setc TYPE_EXTENDED := FALSE}
216 {$setc TYPE_LONGLONG := TRUE}
217 uses MacTypes,Components,Dialogs,Movies,QuickTimeStreaming;
218 {$endc} {not MACOSALLINCLUDE}
219 
220 
221 {$ifc TARGET_OS_MAC}
222 
223 {$ALIGN MAC68K}
224 
225 
226 { QuickTime is not available to 64-bit clients }
227 
228 {$ifc not TARGET_CPU_64}
229 
230 {============================================================================
231         Stream Sourcer
232 ============================================================================}
233 const
234 	kQTSSourcerType = FourCharCode('srcr');
235 
236 type
237 	QTSSourcer = ComponentInstance;
238 const
239 	kQTSSGChannelSourcerType = FourCharCode('sgch');
240 	kQTSMovieTrackSourcerType = FourCharCode('trak');
241 	kQTSPushDataSourcerType = FourCharCode('push');
242 
243 { flags for sourcer data }
244 const
245 	kQTSSourcerDataFlag_SyncSample = $00000001;
246 	kQTSPushDataSourcerFlag_SampleTimeIsValid = $80000000;
247 
248 
249 const
250 	kQTSSourcerInitParamsVersion1 = 1;
251 
252 type
253 	QTSSourcerInitParamsPtr = ^QTSSourcerInitParams;
254 	QTSSourcerInitParams = record
255 		version: SInt32;
256 		flags: SInt32;
257 		dataType: OSType;
258 		data: UnivPtr;
259 		dataLength: UInt32;
260 	end;
261 {
262  *  QTSNewSourcer()
263  *
264  *  Availability:
265  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
266  *    CarbonLib:        in CarbonLib 1.3 and later
267  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
268  }
QTSNewSourcernull269 function QTSNewSourcer( params: UnivPtr; const (*var*) inInitParams: QTSSourcerInitParams; inFlags: SInt32; var outSourcer: ComponentInstance ): OSErr; external name '_QTSNewSourcer';
270 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
271 
272 
273 { info selectors for sourcers - get and set }
274 const
275 	kQTSInfo_Track = FourCharCode('trak'); { QTSTrackParams* }
276 	kQTSInfo_Loop = FourCharCode('loop'); { QTSLoopParams* }
277 	kQTSInfo_SourcerTiming = FourCharCode('stim'); { QTSSourcerTimingParams* }
278 	kQTSInfo_TargetFrameRate = FourCharCode('tfps'); { Fixed * in frames per second }
279 	kQTSInfo_PushData = FourCharCode('push'); { QTSPushDataParams* }
280 	kQTSInfo_SourcerCallbackProc = FourCharCode('scbp'); { QTSSourcerCallbackProcParams* }
281 	kQTSInfo_TargetDataRate = FourCharCode('tdrt'); { UInt32 * in bytes per second }
282 	kQTSInfo_AudioAutoGainOnOff = FourCharCode('agc '); { Boolean*  - error if unavailable}
283 	kQTSInfo_AudioGain = FourCharCode('gain'); { Fixed* kFixed1 is unity gain }
284 	kQTSInfo_CroppedInputRect = FourCharCode('crpr'); { Rect* - defined relative to kQTSInfo_FullInputRect below }
285 	kQTSInfo_SpatialSettings = FourCharCode('sptl'); { pointer to SCSpatialSettings struct}
286 	kQTSInfo_TemporalSettings = FourCharCode('tprl'); { pointer to SCTemporalSettings struct}
287 	kQTSInfo_DataRateSettings = FourCharCode('drat'); { pointer to SCDataRateSettings struct}
288 	kQTSInfo_CodecFlags = FourCharCode('cflg'); { pointer to CodecFlags}
289 	kQTSInfo_CodecSettings = FourCharCode('cdec'); { pointer to Handle}
290 	kQTSInfo_ForceKeyValue = FourCharCode('ksim'); { pointer to long}
291 	kQTSInfo_SoundSampleRate = FourCharCode('ssrt'); { pointer to UnsignedFixed}
292 	kQTSInfo_SoundSampleSize = FourCharCode('ssss'); { pointer to short}
293 	kQTSInfo_SoundChannelCount = FourCharCode('sscc'); { pointer to short}
294 	kQTSInfo_SoundCompression = FourCharCode('ssct'); { pointer to OSType}
295 	kQTSInfo_CompressionList = FourCharCode('ctyl'); { pointer to OSType Handle}
296 	kQTSInfo_VideoHue = FourCharCode('hue '); { UInt16* }
297 	kQTSInfo_VideoSaturation = FourCharCode('satr'); { UInt16* }
298 	kQTSInfo_VideoContrast = FourCharCode('trst'); { UInt16* }
299 	kQTSInfo_VideoBrightness = FourCharCode('brit'); { UInt16* }
300 	kQTSInfo_VideoSharpness = FourCharCode('shrp'); { UInt16* }
301 	kQTSInfo_TimeScale = FourCharCode('scal'); { UInt32* }
302 	kQTSInfo_SGChannelDeviceName = FourCharCode('innm'); { Handle* }
303 	kQTSInfo_SGChannelDeviceList = FourCharCode('srdl'); { SGDeviceList* }
304 	kQTSInfo_SGChannelDeviceInput = FourCharCode('sdii'); { short* }
305 	kQTSInfo_SGChannelSettings = FourCharCode('sesg'); { QTSSGChannelSettingsParams }
306 	kQTSInfo_PreviewWhileRecordingMode = FourCharCode('srpr'); { Boolean* }
307 	kQTSInfo_CompressionParams = FourCharCode('sccp'); { QTAtomContainer* }
308 
309 { info selectors for sourcers - get only}
310 const
311 	kQTSInfo_SGChannel = FourCharCode('sgch'); { SGChannel* }
312 	kQTSInfo_SGChannelInputName = FourCharCode('srnm'); { Handle* }
313 	kQTSInfo_FullInputRect = FourCharCode('fulr'); { Rect* }
314 
315 { loop flags }
316 const
317 	kQTSLoopFlag_Loop = $00000001;
318 
319 const
320 	kQTSLoopParamsVersion1 = 1;
321 
322 type
323 	QTSLoopParamsPtr = ^QTSLoopParams;
324 	QTSLoopParams = record
325 		version: SInt32;
326 		flags: SInt32;
327 		loopFlags: SInt32;
328 		flagsMask: SInt32;
329 		numLoops: SInt32;
330 	end;
331 const
332 	kQTSTrackParamsVersion1 = 1;
333 
334 type
335 	QTSTrackParamsPtr = ^QTSTrackParams;
336 	QTSTrackParams = record
337 		version: SInt32;
338 		flags: SInt32;
339 		track: Track_fix;
340 		trackStartOffset: TimeValue64;       { to start other than at the beginning otherwise set to 0}
341 		duration: TimeValue64;               { to limit the duration otherwise set to 0}
342 		loopParams: QTSLoopParamsPtr;             { set to NULL if not using; default is no looping }
343 	end;
344 const
345 	kQTSSourcerTimingParamsVersion1 = 1;
346 
347 type
348 	QTSSourcerTimingParamsPtr = ^QTSSourcerTimingParams;
349 	QTSSourcerTimingParams = record
350 		version: SInt32;
351 		flags: SInt32;
352 		timeScale_: TimeScale;
353 		presentationStartTime: TimeValue64;
354 		presentationEndTime: TimeValue64;
355 		presentationCurrentTime: TimeValue64;
356 		localStartTime: TimeValue64;
357 		localEndTime: TimeValue64;
358 		localCurrentTime: TimeValue64;
359 	end;
360 const
361 	kQTSPushDataParamsVersion1 = 1;
362 
363 const
364 	kQTSPushDataFlag_SampleTimeIsValid = $00000001;
365 	kQTSPushDataFlag_DurationIsValid = $00000002;
366 
367 type
368 	QTSPushDataParamsPtr = ^QTSPushDataParams;
369 	QTSPushDataParams = record
370 		version: SInt32;
371 		flags: SInt32;
372 		sampleDescription: SampleDescriptionHandle; { caller owns the handle }
373 		sampleDescSeed: UInt32;
374 		sampleTime: TimeValue64;             { also set flag if you set this }
375 		duration: TimeValue64;               { also set flag if you set this }
376 		dataLength: UInt32;
377 		dataPtr: UnivPtr;                { this does not have to be a real macintosh Ptr }
378 	end;
379 const
380 	kQTSSourcerCallbackProcParamsVersion1 = 1;
381 
382 
383 type
384 	QTSSourcerCallbackProcParamsPtr = ^QTSSourcerCallbackProcParams;
385 	QTSSourcerCallbackProcParams = record
386 		version: SInt32;
387 		flags: SInt32;
388 		proc: QTSNotificationUPP;
389 		refCon: UnivPtr;
390 	end;
391 { track sourcer callback selectors}
392 const
393 	kQTSSourcerCallback_Done = FourCharCode('done'); { QTSSourcerDoneParams* }
394 
395 
396 { push data sourcer callback selectors}
397 const
398 	kQTSPushDataSourcerCallback_HasCharacteristic = $050D; { QTSPushDataHasCharacteristicParams* }
399 	kQTSPushDataSourcerCallback_SetInfo = $0507; { QTSPushDataInfoParams* }
400 	kQTSPushDataSourcerCallback_GetInfo = $0508; { QTSPushDataInfoParams* }
401 
402 type
403 	QTSPushDataHasCharacteristicParamsPtr = ^QTSPushDataHasCharacteristicParams;
404 	QTSPushDataHasCharacteristicParams = record
405 		version: SInt32;
406 		flags: SInt32;
407 		characteristic: OSType;
408 		returnedHasIt: Boolean;
409 		reserved1: SInt8;
410 		reserved2: SInt8;
411 		reserved3: SInt8;
412 	end;
413 type
414 	QTSPushDataInfoParamsPtr = ^QTSPushDataInfoParams;
415 	QTSPushDataInfoParams = record
416 		version: SInt32;
417 		flags: SInt32;
418 		selector: OSType;
419 		ioParams: UnivPtr;
420 	end;
421 const
422 	kQTSSourcerDoneParamsVersion1 = 1;
423 
424 type
425 	QTSSourcerDoneParamsPtr = ^QTSSourcerDoneParams;
426 	QTSSourcerDoneParams = record
427 		version: SInt32;
428 		flags: SInt32;
429 		sourcer: ComponentInstance;
430 	end;
431 type
432 	QTSSGChannelSettingsParamsPtr = ^QTSSGChannelSettingsParams;
433 	QTSSGChannelSettingsParams = record
434 		settings: UserData;
435 		flags: SInt32;
436 	end;
437 
438 {-----------------------------------------
439     Stream Sourcer Selectors
440 -----------------------------------------}
441 const
442 	kQTSSourcerInitializeSelect = $0500;
443 	kQTSSourcerSetEnableSelect = $0503;
444 	kQTSSourcerGetEnableSelect = $0504;
445 	kQTSSourcerSetInfoSelect = $0507;
446 	kQTSSourcerGetInfoSelect = $0508;
447 	kQTSSourcerSetTimeScaleSelect = $050E;
448 	kQTSSourcerGetTimeScaleSelect = $050F;
449 	kQTSSourcerIdleSelect = $0516;
450 
451 {-----------------------------------------
452     Stream Sourcer Prototypes
453 -----------------------------------------}
454 {
455  *  QTSSourcerInitialize()
456  *
457  *  Availability:
458  *    Mac OS X:         in version 10.1 and later in QuickTime.framework
459  *    CarbonLib:        in CarbonLib 1.6 and later
460  *    Non-Carbon CFM:   in QTStreamLib 5.0.1 and later
461  }
QTSSourcerInitializenull462 function QTSSourcerInitialize( inSourcer: QTSSourcer; const (*var*) inInitParams: QTSSourcerInitParams ): ComponentResult; external name '_QTSSourcerInitialize';
463 (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
464 
465 
466 {
467  *  QTSSourcerIdle()
468  *
469  *  Availability:
470  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
471  *    CarbonLib:        in CarbonLib 1.3 and later
472  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
473  }
QTSSourcerIdlenull474 function QTSSourcerIdle( inSourcer: QTSSourcer; (*const*) var inTime: TimeValue64; inFlags: SInt32; var outFlags: SInt32 ): ComponentResult; external name '_QTSSourcerIdle';
475 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
476 
477 
478 {
479  *  QTSSourcerSetEnable()
480  *
481  *  Availability:
482  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
483  *    CarbonLib:        in CarbonLib 1.3 and later
484  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
485  }
QTSSourcerSetEnablenull486 function QTSSourcerSetEnable( inSourcer: QTSSourcer; inEnableMode: Boolean; inFlags: SInt32 ): ComponentResult; external name '_QTSSourcerSetEnable';
487 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
488 
489 
490 {
491  *  QTSSourcerGetEnable()
492  *
493  *  Availability:
494  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
495  *    CarbonLib:        in CarbonLib 1.3 and later
496  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
497  }
QTSSourcerGetEnablenull498 function QTSSourcerGetEnable( inSourcer: QTSSourcer; var outEnableMode: Boolean; inFlags: SInt32 ): ComponentResult; external name '_QTSSourcerGetEnable';
499 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
500 
501 
502 {
503  *  QTSSourcerSetTimeScale()
504  *
505  *  Availability:
506  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
507  *    CarbonLib:        in CarbonLib 1.3 and later
508  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
509  }
QTSSourcerSetTimeScalenull510 function QTSSourcerSetTimeScale( inSourcer: QTSSourcer; inTimeScale: TimeScale ): ComponentResult; external name '_QTSSourcerSetTimeScale';
511 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
512 
513 
514 {
515  *  QTSSourcerGetTimeScale()
516  *
517  *  Availability:
518  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
519  *    CarbonLib:        in CarbonLib 1.3 and later
520  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
521  }
QTSSourcerGetTimeScalenull522 function QTSSourcerGetTimeScale( inSourcer: QTSSourcer; var outTimeScale: TimeScale ): ComponentResult; external name '_QTSSourcerGetTimeScale';
523 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
524 
525 
526 {
527  *  QTSSourcerSetInfo()
528  *
529  *  Availability:
530  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
531  *    CarbonLib:        in CarbonLib 1.3 and later
532  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
533  }
QTSSourcerSetInfonull534 function QTSSourcerSetInfo( inSourcer: QTSSourcer; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_QTSSourcerSetInfo';
535 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
536 
537 
538 {
539  *  QTSSourcerGetInfo()
540  *
541  *  Availability:
542  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
543  *    CarbonLib:        in CarbonLib 1.3 and later
544  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
545  }
QTSSourcerGetInfonull546 function QTSSourcerGetInfo( inSourcer: QTSSourcer; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_QTSSourcerGetInfo';
547 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
548 
549 
550 const
551 	kQTSInfo_InputDeviceName = FourCharCode('innm'); { Handle* }
552 	kQTSInfo_InputSourceName = FourCharCode('srnm'); { Handle* }
553 
554 
555 {============================================================================
556         Stream Handler
557 ============================================================================}
558 
559 {
560     Server edits are only valid for the current chunk
561 }
562 type
563 	SHServerEditParametersPtr = ^SHServerEditParameters;
564 	SHServerEditParameters = record
565 		version: UInt32;
566 		editRate: Fixed;
567 		dataStartTime_mediaAxis: TimeValue64;
568 		dataEndTime_mediaAxis: TimeValue64;
569 	end;
570 const
571 	kSHNoChunkDispatchFlags = 0;
572 	kSHChunkFlagSyncSample = 1 shl 2;
573 	kSHChunkFlagDataLoss = 1 shl 4;
574 	kSHChunkFlagExtended = 1 shl 5;
575 
576 type
577 	SHChunkRecordPtr = ^SHChunkRecord;
578 	SHChunkRecord = record
579 		version: UInt32;
580 		reserved1: SIGNEDLONG;
581 		flags: SInt32;
582 		dataSize: UInt32;
583 		dataPtr: UInt8Ptr;
584 		reserved2: SIGNEDLONG;
585 		reserved3: SIGNEDLONG;
586 		presentationTime: TimeValue64;
587 
588 		reserved4: SIGNEDLONG;
589 		reserved5: SIGNEDLONG;
590 		serverEditParameters: {const} SHServerEditParametersPtr;
591 		reserved6: SIGNEDLONG;
592 		reserved7: SIGNEDLONG;
593 	end;
594 const
595 	kSHNumExtendedDataLongs = 10;
596 
597 const
598 	kSHExtendedChunkFlag_HasSampleCount = 1 shl 0;
599 	kSHExtendedChunkFlag_HasFrameLengths = 1 shl 1;
600 
601 type
602 	SHExtendedChunkRecordPtr = ^SHExtendedChunkRecord;
603 	SHExtendedChunkRecord = record
604 		chunk: SHChunkRecord;
605 		extendedFlags: SInt32;
606 		extendedData: array [0..9] of SInt32;
607 	end;
608 
609 
610 {============================================================================
611         RTP Components
612 ============================================================================}
613 
614 type
615 	RTPSSRC = UInt32;
616 const
617 	kRTPInvalidSSRC = 0;
618 
619 
620 { RTP standard content encodings for audio }
621 const
622 	kRTPPayload_PCMU = 0;    { 8kHz PCM mu-law mono }
623 	kRTPPayload_1016 = 1;    { 8kHz CELP (Fed Std 1016) mono }
624 	kRTPPayload_G721 = 2;    { 8kHz G.721 ADPCM mono }
625 	kRTPPayload_GSM = 3;    { 8kHz GSM mono }
626 	kRTPPayload_G723 = 4;    { 8kHz G.723 ADPCM mono }
627 	kRTPPayload_DVI_8 = 5;    { 8kHz Intel DVI ADPCM mono }
628 	kRTPPayload_DVI_16 = 6;    { 16kHz Intel DVI ADPCM mono }
629 	kRTPPayload_LPC = 7;    { 8kHz LPC }
630 	kRTPPayload_PCMA = 8;    { 8kHz PCM a-law mono }
631 	kRTPPayload_L16_44_2 = 10;   { 44.1kHz 16-bit linear stereo }
632 	kRTPPayload_L16_44_1 = 11;   { 44.1kHz 16-bit linear mono }
633 	kRTPPayload_PureVoice = 12;   { 8kHz PureVoice mono (QCELP) }
634 	kRTPPayload_MPEGAUDIO = 14;   { MPEG I and II audio }
635 	kRTPPayload_DVI_11 = 16;   { 11kHz Intel DVI ADPCM mono }
636 	kRTPPayload_DVI_22 = 17;    { 22kHz Intel DVI ADPCM mono }
637 
638 { RTP standard content encodings for video }
639 const
640 	kRTPPayload_CELLB = 25;   { Sun CellB }
641 	kRTPPayload_JPEG = 26;   { JPEG }
642 	kRTPPayload_CUSEEME = 27;   { Cornell CU-SeeMe }
643 	kRTPPayload_NV = 28;   { Xerox PARC nv }
644 	kRTPPayload_PICWIN = 29;   { BBN Picture Window }
645 	kRTPPayload_CPV = 30;   { Bolter CPV }
646 	kRTPPayload_H261 = 31;   { CCITT H.261 }
647 	kRTPPayload_MPEGVIDEO = 32;   { MPEG I and II video }
648 	kRTPPayload_H263 = 34;    { CCITT H.263 }
649 
650 { Other RTP standard content encodings }
651 const
652 	kRTPPayload_MPEG2T = 33;    { MPEG 2 Transport }
653 
654 { Dynamic encodings }
655 const
656 	kRTPPayload_FirstDynamic = 96;
657 	kRTPPayload_LastDynamic = 127;
658 	kRTPPayload_Unknown = $FF;
659 
660 
661 {
662 -----------------------------------------
663     RTP Info selectors
664 -----------------------------------------
665 }
666 { ----- these are get and set ----- }
667 const
668 	kRTPInfo_SSRC = FourCharCode('ssrc'); { UInt32* }
669 	kRTPInfo_NextSeqNum = FourCharCode('rnsn'); { UInt16* }
670 
671 {-----------------------------------------
672     RTP Statistics
673 -----------------------------------------}
674 const
675 	kRTPTotalReceivedPktsStat = FourCharCode('trcp');
676 	kRTPTotalLostPktsStat = FourCharCode('tlsp');
677 	kRTPTotalProcessedPktsStat = FourCharCode('tprp');
678 	kRTPTotalDroppedPktsStat = FourCharCode('tdrp');
679 	kRTPBadHeaderDroppedPktsStat = FourCharCode('bhdp');
680 	kRTPOurHeaderDroppedPktsStat = FourCharCode('ohdp');
681 	kRTPNotReceivingSenderDroppedPktsStat = FourCharCode('nsdp');
682 	kRTPNotProcessingDroppedPktsStat = FourCharCode('npdp');
683 	kRTPBadSeqDroppedPktsStat = FourCharCode('bsdp');
684 	kRTPArriveTooLatePktsStat = FourCharCode('artl');
685 	kRTPWaitForSeqDroppedPktsStat = FourCharCode('wsdp');
686 	kRTPBadStateDroppedPktsStat = FourCharCode('stdp');
687 	kRTPBadPayloadDroppedPktsStat = FourCharCode('bpdp');
688 	kRTPNoTimeScaleDroppedPktsStat = FourCharCode('ntdp');
689 	kRTPDupSeqNumDroppedPktsStat = FourCharCode('dsdp');
690 	kRTPLostPktsPercentStat = FourCharCode('lspp');
691 	kRTPDroppedPktsPercentStat = FourCharCode('dppp');
692 	kRTPTotalUnprocessedPktsPercentStat = FourCharCode('tupp');
693 	kRTPRTCPDataRateStat = FourCharCode('rrcd');
694 	kRTPPayloadIDStat = FourCharCode('rpid');
695 	kRTPPayloadNameStat = FourCharCode('rpnm');
696 	kRTPNumPktsInQueueStat = FourCharCode('rnpq');
697 	kRTPTotalPktsInQueueStat = FourCharCode('rtpq');
698 	kRTPTotalOutOfOrderPktsStat = FourCharCode('rtoo');
699 	kRTPRetransmissionStat = FourCharCode('rrtx');
700 
701 
702 {-----------------------------------------
703     Payload Info
704 -----------------------------------------}
705 const
706 	kRTPPayloadSpeedTag = FourCharCode('sped'); { 0-255, 255 is fastest}
707 	kRTPPayloadLossRecoveryTag = FourCharCode('loss'); { 0-255, 0 can't handle any loss, 128 can handle 50% packet loss}
708 	kRTPPayloadConformanceTag = FourCharCode('conf'); { more than one of these can be present}
709 
710 type
711 	RTPPayloadCharacteristicPtr = ^RTPPayloadCharacteristic;
712 	RTPPayloadCharacteristic = record
713 		tag: OSType;
714 		value: SIGNEDLONG;
715 	end;
716 {
717     pass RTPPayloadSortRequest to QTSFindMediaPacketizer or QTSFindMediaPacketizerForTrack.
718     define the characteristics to sort by. tag is key to sort on. value is positive for ascending
719     sort (low value first), negative for descending sort (high value first).
720 }
721 type
722 	RTPPayloadSortRequest = record
723 		characteristicCount: SIGNEDLONG;
724 		characteristic: array [0..0] of RTPPayloadCharacteristic; { tag is key to sort on, value is + for ascending, - for descending}
725 	end;
726 	RTPPayloadSortRequestPtr = ^RTPPayloadSortRequest;
727 { flags for RTPPayloadInfo }
728 const
729 	kRTPPayloadTypeStaticFlag = $00000001;
730 	kRTPPayloadTypeDynamicFlag = $00000002;
731 
732 type
733 	RTPPayloadInfo = record
734 		payloadFlags: SIGNEDLONG;
735 		payloadID: UInt8;
736 		reserved1: SInt8;
737 		reserved2: SInt8;
738 		reserved3: SInt8;
739     payloadName: array [0..1] of SInt8;
740 	end;
741 	RTPPayloadInfoPtr = ^RTPPayloadInfo;
742 type
743 	RTPPayloadInfoHandle = ^RTPPayloadInfoPtr;
744 {============================================================================
745         RTP Reassembler
746 ============================================================================}
747 type
748 	RTPReassembler = ComponentInstance;
749 const
750 	kRTPReassemblerType = FourCharCode('rtpr');
751 
752 const
753 	kRTPBaseReassemblerType = FourCharCode('gnrc');
754 	kRTP261ReassemblerType = FourCharCode('h261');
755 	kRTP263ReassemblerType = FourCharCode('h263');
756 	kRTP263PlusReassemblerType = FourCharCode('263+');
757 	kRTPAudioReassemblerType = FourCharCode('soun');
758 	kRTPQTReassemblerType = FourCharCode('qtim');
759 	kRTPPureVoiceReassemblerType = FourCharCode('Qclp');
760 	kRTPJPEGReassemblerType = FourCharCode('jpeg');
761 	kRTPQDesign2ReassemblerType = FourCharCode('QDM2');
762 	kRTPSorensonReassemblerType = FourCharCode('SVQ1');
763 	kRTPMP3ReassemblerType = FourCharCode('mp3 ');
764 	kRTPMPEG4AudioReassemblerType = FourCharCode('mp4a');
765 	kRTPMPEG4VideoReassemblerType = FourCharCode('mp4v');
766 
767 type
768 	RTPRssmInitParamsPtr = ^RTPRssmInitParams;
769 	RTPRssmInitParams = record
770 		ssrc: RTPSSRC;
771 		payloadType: UInt8;
772 		reserved1: UInt8;
773 		reserved2: UInt8;
774 		reserved3: UInt8;
775 		timeBase_: TimeBase;
776 		timeScale_: TimeScale;
777 	end;
778 type
779 	RTPDescParamsPtr = ^RTPDescParams;
780 	RTPDescParams = record
781 		container: QTAtomContainer;
782 		presentationParentAtom: QTAtom;
783 		streamParentAtom: QTAtom;
784 	end;
785 type
786 	RTPRssmMoreInitParamsPtr = ^RTPRssmMoreInitParams;
787 	RTPRssmMoreInitParams = record
788 		initParams: RTPRssmInitParams;
789 		version: SInt32;
790 		desc: RTPDescParams;
791 	end;
792 const
793 	kRTPRssmMoreInitParamsVersion1 = 1;
794 
795 
796 { get/set info selectors}
797 const
798 	kRTPRssmInfo_MoreInitParams = FourCharCode('rrmi');
799 
800 
801 type
802 	RTPRssmPacketPtr = ^RTPRssmPacket;
803 	RTPRssmPacket = record
804 		next: RTPRssmPacketPtr;
805 		prev: RTPRssmPacketPtr;
806 		streamBuffer: QTSStreamBufferPtr;
807 		paramsFilledIn: Boolean;
808 		reserved: UInt8;
809 		sequenceNum: UInt16;
810 		transportHeaderLength: UInt32;  { filled in by base}
811 		payloadHeaderLength: UInt32;    { derived adjusts this }
812 		dataLength: UInt32;
813 		serverEditParams: SHServerEditParameters;
814 		timeStamp: TimeValue64;              { lower 32 bits is original rtp timestamp}
815 		chunkFlags: SInt32;             { these are or'd together}
816 		flags: SInt32;
817 	end;
818 { flags for RTPRssmPacket struct}
819 const
820 	kRTPRssmPacketHasMarkerBitSet = $00000001;
821 	kRTPRssmPacketHasServerEditFlag = $00010000;
822 
823 { flags for RTPRssmSendStreamBufferRange}
824 const
825 	kRTPRssmCanRefStreamBuffer = $00000001;
826 
827 { flags for RTPRssmSendPacketList}
828 const
829 	kRTPRssmLostSomePackets = $00000001;
830 
831 { flags for RTPRssmSetFlags}
832 const
833 	kRTPRssmEveryPacketAChunkFlag = $00000001;
834 	kRTPRssmQueueAndUseMarkerBitFlag = $00000002;
835 	kRTPRssmTrackLostPacketsFlag = $00010000;
836 	kRTPRssmNoReorderingRequiredFlag = $00020000;
837 
838 
839 type
840 	RTPSendStreamBufferRangeParamsPtr = ^RTPSendStreamBufferRangeParams;
841 	RTPSendStreamBufferRangeParams = record
842 		streamBuffer: QTSStreamBufferPtr;
843 		presentationTime: TimeValue64;
844 		chunkStartPosition: UInt32;
845 		numDataBytes: UInt32;
846 		chunkFlags: SInt32;
847 		flags: SInt32;
848 		serverEditParams: {const} SHServerEditParametersPtr; { NULL if no edit}
849 	end;
850 { characteristics}
851 const
852 	kRTPCharacteristic_RequiresOrderedPackets = FourCharCode('rrop');
853 	kRTPCharacteristic_TimeStampsNotMonoIncreasing = FourCharCode('tsmi');
854 
855 
856 const
857 	kRTPReassemblerInfoResType = FourCharCode('rsmi');
858 
859 type
860 	RTPReassemblerInfo = record
861 		characteristicCount: SIGNEDLONG;
862 		characteristic: array [0..0] of RTPPayloadCharacteristic;
863 
864                                               { after the last characteristic, the payload name (defined by the MediaPacketizerPayloadInfo}
865                                               { structure) is present. }
866 	end;
867 	RTPReassemblerInfoPtr = ^RTPReassemblerInfo;
868 type
869 	RTPReassemblerInfoHandle = ^RTPReassemblerInfoPtr;
870 	{	 RTPReassemblerInfoElement structs are padded to 32 bits 	}
871 const
872 	kRTPReassemblerInfoPadUpToBytes = 4;
873 
874 
875 {
876  *  QTSFindReassemblerForPayloadID()
877  *
878  *  Availability:
879  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
880  *    CarbonLib:        in CarbonLib 1.1 and later
881  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
882  *    Windows:          in QTSClient.lib 4.0 and later
883  }
QTSFindReassemblerForPayloadIDnull884 function QTSFindReassemblerForPayloadID( inPayloadID: UInt8; var inSortInfo: RTPPayloadSortRequest; var outReassemblerList: QTAtomContainer ): OSErr; external name '_QTSFindReassemblerForPayloadID';
885 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
886 
887 
888 {
889  *  QTSFindReassemblerForPayloadName()
890  *
891  *  Availability:
892  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
893  *    CarbonLib:        in CarbonLib 1.1 and later
894  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
895  *    Windows:          in QTSClient.lib 4.0 and later
896  }
QTSFindReassemblerForPayloadNamenull897 function QTSFindReassemblerForPayloadName( inPayloadName: ConstCStringPtr; var inSortInfo: RTPPayloadSortRequest; var outReassemblerList: QTAtomContainer ): OSErr; external name '_QTSFindReassemblerForPayloadName';
898 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
899 
900 
901 {-----------------------------------------
902     RTP Reassembler Selectors
903 -----------------------------------------}
904 const
905 	kRTPRssmSetCapabilitiesSelect = $0100;
906 	kRTPRssmGetCapabilitiesSelect = $0101;
907 	kRTPRssmSetPayloadHeaderLengthSelect = $0102;
908 	kRTPRssmGetPayloadHeaderLengthSelect = $0103;
909 	kRTPRssmSetTimeScaleSelect = $0104;
910 	kRTPRssmGetTimeScaleSelect = $0105;
911 	kRTPRssmNewStreamHandlerSelect = $0106;
912 	kRTPRssmSetStreamHandlerSelect = $0107;
913 	kRTPRssmGetStreamHandlerSelect = $0108;
914 	kRTPRssmSendStreamHandlerChangedSelect = $0109;
915 	kRTPRssmSetSampleDescriptionSelect = $010A;
916 	kRTPRssmGetChunkAndIncrRefCountSelect = $010D;
917 	kRTPRssmSendChunkAndDecrRefCountSelect = $010E;
918 	kRTPRssmSendLostChunkSelect = $010F;
919 	kRTPRssmSendStreamBufferRangeSelect = $0110;
920 	kRTPRssmClearCachedPackets = $0111;
921 	kRTPRssmFillPacketListParamsSelect = $0113;
922 	kRTPRssmReleasePacketListSelect = $0114;
923 	kRTPRssmIncrChunkRefCountSelect = $0115;
924 	kRTPRssmDecrChunkRefCountSelect = $0116;
925 	kRTPRssmGetExtChunkAndIncrRefCountSelect = $0117;
926 	kRTPRssmInitializeSelect = $0500;
927 	kRTPRssmHandleNewPacketSelect = $0501;
928 	kRTPRssmComputeChunkSizeSelect = $0502;
929 	kRTPRssmAdjustPacketParamsSelect = $0503;
930 	kRTPRssmCopyDataToChunkSelect = $0504;
931 	kRTPRssmSendPacketListSelect = $0505;
932 	kRTPRssmGetTimeScaleFromPacketSelect = $0506;
933 	kRTPRssmSetInfoSelect = $0509;
934 	kRTPRssmGetInfoSelect = $050A;
935 	kRTPRssmHasCharacteristicSelect = $050B;
936 	kRTPRssmResetSelect = $050C;
937 
938 {-----------------------------------------
939     RTP Reassembler functions - base to derived
940 -----------------------------------------}
941 
942 {
943  *  RTPRssmInitialize()
944  *
945  *  Availability:
946  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
947  *    CarbonLib:        in CarbonLib 1.1 and later
948  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
949  *    Windows:          in QTSClient.lib 4.0 and later
950  }
RTPRssmInitializenull951 function RTPRssmInitialize( rtpr: RTPReassembler; var inInitParams: RTPRssmInitParams ): ComponentResult; external name '_RTPRssmInitialize';
952 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
953 
954 
955 {
956  *  RTPRssmHandleNewPacket()
957  *
958  *  Availability:
959  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
960  *    CarbonLib:        in CarbonLib 1.1 and later
961  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
962  *    Windows:          in QTSClient.lib 4.0 and later
963  }
RTPRssmHandleNewPacketnull964 function RTPRssmHandleNewPacket( rtpr: RTPReassembler; var inStreamBuffer: QTSStreamBuffer; inNumWraparounds: SInt32 ): ComponentResult; external name '_RTPRssmHandleNewPacket';
965 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
966 
967 
968 {
969  *  RTPRssmComputeChunkSize()
970  *
971  *  Availability:
972  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
973  *    CarbonLib:        in CarbonLib 1.1 and later
974  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
975  *    Windows:          in QTSClient.lib 4.0 and later
976  }
RTPRssmComputeChunkSizenull977 function RTPRssmComputeChunkSize( rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; inFlags: SInt32; var outChunkDataSize: UInt32 ): ComponentResult; external name '_RTPRssmComputeChunkSize';
978 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
979 
980 
981 {
982  *  RTPRssmAdjustPacketParams()
983  *
984  *  Availability:
985  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
986  *    CarbonLib:        in CarbonLib 1.1 and later
987  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
988  *    Windows:          in QTSClient.lib 4.0 and later
989  }
RTPRssmAdjustPacketParamsnull990 function RTPRssmAdjustPacketParams( rtpr: RTPReassembler; var inPacket: RTPRssmPacket; inFlags: SInt32 ): ComponentResult; external name '_RTPRssmAdjustPacketParams';
991 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
992 
993 
994 {
995  *  RTPRssmCopyDataToChunk()
996  *
997  *  Availability:
998  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
999  *    CarbonLib:        in CarbonLib 1.1 and later
1000  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1001  *    Windows:          in QTSClient.lib 4.0 and later
1002  }
RTPRssmCopyDataToChunknull1003 function RTPRssmCopyDataToChunk( rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; inMaxChunkDataSize: UInt32; var inChunk: SHChunkRecord; inFlags: SInt32 ): ComponentResult; external name '_RTPRssmCopyDataToChunk';
1004 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1005 
1006 
1007 {
1008  *  RTPRssmSendPacketList()
1009  *
1010  *  Availability:
1011  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1012  *    CarbonLib:        in CarbonLib 1.1 and later
1013  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1014  *    Windows:          in QTSClient.lib 4.0 and later
1015  }
RTPRssmSendPacketListnull1016 function RTPRssmSendPacketList( rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; (*const*) var inLastChunkPresentationTime: TimeValue64; inFlags: SInt32 ): ComponentResult; external name '_RTPRssmSendPacketList';
1017 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1018 
1019 
1020 {
1021  *  RTPRssmGetTimeScaleFromPacket()
1022  *
1023  *  Availability:
1024  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1025  *    CarbonLib:        in CarbonLib 1.1 and later
1026  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1027  *    Windows:          in QTSClient.lib 4.0 and later
1028  }
RTPRssmGetTimeScaleFromPacketnull1029 function RTPRssmGetTimeScaleFromPacket( rtpr: RTPReassembler; var inStreamBuffer: QTSStreamBuffer; var outTimeScale: TimeScale ): ComponentResult; external name '_RTPRssmGetTimeScaleFromPacket';
1030 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1031 
1032 
1033 {
1034  *  RTPRssmSetInfo()
1035  *
1036  *  Availability:
1037  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1038  *    CarbonLib:        in CarbonLib 1.1 and later
1039  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1040  *    Windows:          in QTSClient.lib 4.0 and later
1041  }
RTPRssmSetInfonull1042 function RTPRssmSetInfo( rtpr: RTPReassembler; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_RTPRssmSetInfo';
1043 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1044 
1045 
1046 {
1047  *  RTPRssmGetInfo()
1048  *
1049  *  Availability:
1050  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1051  *    CarbonLib:        in CarbonLib 1.1 and later
1052  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1053  *    Windows:          in QTSClient.lib 4.0 and later
1054  }
RTPRssmGetInfonull1055 function RTPRssmGetInfo( rtpr: RTPReassembler; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_RTPRssmGetInfo';
1056 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1057 
1058 
1059 {
1060  *  RTPRssmHasCharacteristic()
1061  *
1062  *  Availability:
1063  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1064  *    CarbonLib:        in CarbonLib 1.1 and later
1065  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1066  *    Windows:          in QTSClient.lib 4.0 and later
1067  }
RTPRssmHasCharacteristicnull1068 function RTPRssmHasCharacteristic( rtpr: RTPReassembler; inCharacteristic: OSType; var outHasIt: Boolean ): ComponentResult; external name '_RTPRssmHasCharacteristic';
1069 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1070 
1071 
1072 {
1073  *  RTPRssmReset()
1074  *
1075  *  Availability:
1076  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1077  *    CarbonLib:        in CarbonLib 1.1 and later
1078  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1079  *    Windows:          in QTSClient.lib 4.0 and later
1080  }
RTPRssmResetnull1081 function RTPRssmReset( rtpr: RTPReassembler; inFlags: SInt32 ): ComponentResult; external name '_RTPRssmReset';
1082 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1083 
1084 
1085 {-----------------------------------------
1086     RTP Reassembler functions - derived to base
1087 -----------------------------------------}
1088 { ----- setup}
1089 {
1090  *  RTPRssmSetCapabilities()
1091  *
1092  *  Availability:
1093  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1094  *    CarbonLib:        in CarbonLib 1.1 and later
1095  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1096  *    Windows:          in QTSClient.lib 4.0 and later
1097  }
RTPRssmSetCapabilitiesnull1098 function RTPRssmSetCapabilities( rtpr: RTPReassembler; inFlags: SInt32; inFlagsMask: SInt32 ): ComponentResult; external name '_RTPRssmSetCapabilities';
1099 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1100 
1101 
1102 {
1103  *  RTPRssmGetCapabilities()
1104  *
1105  *  Availability:
1106  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1107  *    CarbonLib:        in CarbonLib 1.1 and later
1108  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1109  *    Windows:          in QTSClient.lib 4.0 and later
1110  }
RTPRssmGetCapabilitiesnull1111 function RTPRssmGetCapabilities( rtpr: RTPReassembler; var outFlags: SInt32 ): ComponentResult; external name '_RTPRssmGetCapabilities';
1112 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1113 
1114 
1115 {
1116  *  RTPRssmSetPayloadHeaderLength()
1117  *
1118  *  Availability:
1119  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1120  *    CarbonLib:        in CarbonLib 1.1 and later
1121  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1122  *    Windows:          in QTSClient.lib 4.0 and later
1123  }
RTPRssmSetPayloadHeaderLengthnull1124 function RTPRssmSetPayloadHeaderLength( rtpr: RTPReassembler; inPayloadHeaderLength: UInt32 ): ComponentResult; external name '_RTPRssmSetPayloadHeaderLength';
1125 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1126 
1127 
1128 {
1129  *  RTPRssmGetPayloadHeaderLength()
1130  *
1131  *  Availability:
1132  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1133  *    CarbonLib:        in CarbonLib 1.1 and later
1134  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1135  *    Windows:          in QTSClient.lib 4.0 and later
1136  }
RTPRssmGetPayloadHeaderLengthnull1137 function RTPRssmGetPayloadHeaderLength( rtpr: RTPReassembler; var outPayloadHeaderLength: UInt32 ): ComponentResult; external name '_RTPRssmGetPayloadHeaderLength';
1138 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1139 
1140 
1141 {
1142  *  RTPRssmSetTimeScale()
1143  *
1144  *  Availability:
1145  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1146  *    CarbonLib:        in CarbonLib 1.1 and later
1147  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1148  *    Windows:          in QTSClient.lib 4.0 and later
1149  }
RTPRssmSetTimeScalenull1150 function RTPRssmSetTimeScale( rtpr: RTPReassembler; inSHTimeScale: TimeScale ): ComponentResult; external name '_RTPRssmSetTimeScale';
1151 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1152 
1153 
1154 {
1155  *  RTPRssmGetTimeScale()
1156  *
1157  *  Availability:
1158  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1159  *    CarbonLib:        in CarbonLib 1.1 and later
1160  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1161  *    Windows:          in QTSClient.lib 4.0 and later
1162  }
RTPRssmGetTimeScalenull1163 function RTPRssmGetTimeScale( rtpr: RTPReassembler; var outSHTimeScale: TimeScale ): ComponentResult; external name '_RTPRssmGetTimeScale';
1164 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1165 
1166 
1167 {
1168  *  RTPRssmNewStreamHandler()
1169  *
1170  *  Availability:
1171  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1172  *    CarbonLib:        in CarbonLib 1.1 and later
1173  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1174  *    Windows:          in QTSClient.lib 4.0 and later
1175  }
RTPRssmNewStreamHandlernull1176 function RTPRssmNewStreamHandler( rtpr: RTPReassembler; inSHType: OSType; inSampleDescription: SampleDescriptionHandle; inSHTimeScale: TimeScale; var outHandler: ComponentInstance ): ComponentResult; external name '_RTPRssmNewStreamHandler';
1177 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1178 
1179 
1180 {
1181  *  RTPRssmSetStreamHandler()
1182  *
1183  *  Availability:
1184  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1185  *    CarbonLib:        in CarbonLib 1.1 and later
1186  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1187  *    Windows:          in QTSClient.lib 4.0 and later
1188  }
RTPRssmSetStreamHandlernull1189 function RTPRssmSetStreamHandler( rtpr: RTPReassembler; inStreamHandler: ComponentInstance ): ComponentResult; external name '_RTPRssmSetStreamHandler';
1190 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1191 
1192 
1193 {
1194  *  RTPRssmGetStreamHandler()
1195  *
1196  *  Availability:
1197  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1198  *    CarbonLib:        in CarbonLib 1.1 and later
1199  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1200  *    Windows:          in QTSClient.lib 4.0 and later
1201  }
RTPRssmGetStreamHandlernull1202 function RTPRssmGetStreamHandler( rtpr: RTPReassembler; var outStreamHandler: ComponentInstance ): ComponentResult; external name '_RTPRssmGetStreamHandler';
1203 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1204 
1205 
1206 {
1207  *  RTPRssmSendStreamHandlerChanged()
1208  *
1209  *  Availability:
1210  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1211  *    CarbonLib:        in CarbonLib 1.1 and later
1212  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1213  *    Windows:          in QTSClient.lib 4.0 and later
1214  }
RTPRssmSendStreamHandlerChangednull1215 function RTPRssmSendStreamHandlerChanged( rtpr: RTPReassembler ): ComponentResult; external name '_RTPRssmSendStreamHandlerChanged';
1216 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1217 
1218 
1219 {
1220  *  RTPRssmSetSampleDescription()
1221  *
1222  *  Availability:
1223  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1224  *    CarbonLib:        in CarbonLib 1.1 and later
1225  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1226  *    Windows:          in QTSClient.lib 4.0 and later
1227  }
RTPRssmSetSampleDescriptionnull1228 function RTPRssmSetSampleDescription( rtpr: RTPReassembler; inSampleDescription: SampleDescriptionHandle ): ComponentResult; external name '_RTPRssmSetSampleDescription';
1229 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1230 
1231 
1232 { ----- manually sending chunks}
1233 {
1234  *  RTPRssmGetChunkAndIncrRefCount()
1235  *
1236  *  Availability:
1237  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1238  *    CarbonLib:        in CarbonLib 1.1 and later
1239  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1240  *    Windows:          in QTSClient.lib 4.0 and later
1241  }
RTPRssmGetChunkAndIncrRefCountnull1242 function RTPRssmGetChunkAndIncrRefCount( rtpr: RTPReassembler; inChunkDataSize: UInt32; (*const*) var inChunkPresentationTime: TimeValue64; var outChunk: UnivPtr ): ComponentResult; external name '_RTPRssmGetChunkAndIncrRefCount';
1243 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1244 
1245 
1246 {
1247  *  RTPRssmGetExtChunkAndIncrRefCount()
1248  *
1249  *  Availability:
1250  *    Mac OS X:         in version 10.2 and later in QuickTime.framework
1251  *    CarbonLib:        in CarbonLib 1.6 and later
1252  *    Non-Carbon CFM:   in QTStreamLib 6.0 and later
1253  *    Windows:          in qtmlClient.lib 6.0 and later
1254  }
RTPRssmGetExtChunkAndIncrRefCountnull1255 function RTPRssmGetExtChunkAndIncrRefCount( rtpr: RTPReassembler; inChunkDataSize: UInt32; (*const*) var inChunkPresentationTime: TimeValue64; inFlags: SInt32; var outChunk: UnivPtr ): ComponentResult; external name '_RTPRssmGetExtChunkAndIncrRefCount';
1256 (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
1257 
1258 
1259 {
1260  *  RTPRssmSendChunkAndDecrRefCount()
1261  *
1262  *  Availability:
1263  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1264  *    CarbonLib:        in CarbonLib 1.1 and later
1265  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1266  *    Windows:          in QTSClient.lib 4.0 and later
1267  }
RTPRssmSendChunkAndDecrRefCountnull1268 function RTPRssmSendChunkAndDecrRefCount( rtpr: RTPReassembler; var inChunk: SHChunkRecord; const (*var*) inServerEdit: SHServerEditParameters ): ComponentResult; external name '_RTPRssmSendChunkAndDecrRefCount';
1269 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1270 
1271 
1272 {
1273  *  RTPRssmSendLostChunk()
1274  *
1275  *  Availability:
1276  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1277  *    CarbonLib:        in CarbonLib 1.1 and later
1278  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1279  *    Windows:          in QTSClient.lib 4.0 and later
1280  }
RTPRssmSendLostChunknull1281 function RTPRssmSendLostChunk( rtpr: RTPReassembler; (*const*) var inChunkPresentationTime: TimeValue64 ): ComponentResult; external name '_RTPRssmSendLostChunk';
1282 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1283 
1284 
1285 {
1286  *  RTPRssmSendStreamBufferRange()
1287  *
1288  *  Availability:
1289  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1290  *    CarbonLib:        in CarbonLib 1.1 and later
1291  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1292  *    Windows:          in QTSClient.lib 4.0 and later
1293  }
RTPRssmSendStreamBufferRangenull1294 function RTPRssmSendStreamBufferRange( rtpr: RTPReassembler; var inParams: RTPSendStreamBufferRangeParams ): ComponentResult; external name '_RTPRssmSendStreamBufferRange';
1295 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1296 
1297 
1298 {
1299  *  RTPRssmClearCachedPackets()
1300  *
1301  *  Availability:
1302  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1303  *    CarbonLib:        in CarbonLib 1.1 and later
1304  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1305  *    Windows:          in QTSClient.lib 4.0 and later
1306  }
RTPRssmClearCachedPacketsnull1307 function RTPRssmClearCachedPackets( rtpr: RTPReassembler; inFlags: SInt32 ): ComponentResult; external name '_RTPRssmClearCachedPackets';
1308 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1309 
1310 
1311 {
1312  *  RTPRssmFillPacketListParams()
1313  *
1314  *  Availability:
1315  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1316  *    CarbonLib:        in CarbonLib 1.1 and later
1317  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1318  *    Windows:          in QTSClient.lib 4.0 and later
1319  }
RTPRssmFillPacketListParamsnull1320 function RTPRssmFillPacketListParams( rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket; inNumWraparounds: SInt32; inFlags: SInt32 ): ComponentResult; external name '_RTPRssmFillPacketListParams';
1321 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1322 
1323 
1324 {
1325  *  RTPRssmReleasePacketList()
1326  *
1327  *  Availability:
1328  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1329  *    CarbonLib:        in CarbonLib 1.1 and later
1330  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1331  *    Windows:          in QTSClient.lib 4.0 and later
1332  }
RTPRssmReleasePacketListnull1333 function RTPRssmReleasePacketList( rtpr: RTPReassembler; var inPacketListHead: RTPRssmPacket ): ComponentResult; external name '_RTPRssmReleasePacketList';
1334 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1335 
1336 
1337 {
1338  *  RTPRssmIncrChunkRefCount()
1339  *
1340  *  Availability:
1341  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1342  *    CarbonLib:        in CarbonLib 1.1 and later
1343  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1344  *    Windows:          in QTSClient.lib 4.0 and later
1345  }
RTPRssmIncrChunkRefCountnull1346 function RTPRssmIncrChunkRefCount( rtpr: RTPReassembler; var inChunk: SHChunkRecord ): ComponentResult; external name '_RTPRssmIncrChunkRefCount';
1347 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1348 
1349 
1350 {
1351  *  RTPRssmDecrChunkRefCount()
1352  *
1353  *  Availability:
1354  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1355  *    CarbonLib:        in CarbonLib 1.1 and later
1356  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1357  *    Windows:          in QTSClient.lib 4.0 and later
1358  }
RTPRssmDecrChunkRefCountnull1359 function RTPRssmDecrChunkRefCount( rtpr: RTPReassembler; var inChunk: SHChunkRecord ): ComponentResult; external name '_RTPRssmDecrChunkRefCount';
1360 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1361 
1362 
1363 {============================================================================
1364         RTP Media Packetizer
1365 ============================================================================}
1366 const
1367 	kRTPMediaPacketizerType = FourCharCode('rtpm');
1368 
1369 type
1370 	RTPMediaPacketizer = ComponentInstance;
1371 const
1372 	kRTPBaseMediaPacketizerType = FourCharCode('gnrc');
1373 	kRTP261MediaPacketizerType = FourCharCode('h261');
1374 	kRTP263PlusMediaPacketizerType = FourCharCode('263+');
1375 	kRTPAudioMediaPacketizerType = FourCharCode('soun');
1376 	kRTPQTMediaPacketizerType = FourCharCode('qtim');
1377 	kRTPPureVoiceMediaPacketizerType = FourCharCode('Qclp');
1378 	kRTPJPEGMediaPacketizerType = FourCharCode('jpeg');
1379 	kRTPQDesign2MediaPacketizerType = FourCharCode('QDM2');
1380 	kRTPSorensonMediaPacketizerType = FourCharCode('SVQ1');
1381 	kRTPMP3MediaPacketizerType = FourCharCode('mp3 ');
1382 	kRTPMPEG4AudioMediaPacketizerType = FourCharCode('mp4a');
1383 	kRTPMPEG4VideoMediaPacketizerType = FourCharCode('mp4v');
1384 	kRTPAMRMediaPacketizerType = FourCharCode('amr ');
1385 
1386 type
1387 	RTPMPSampleRef = UInt32;
1388 	RTPMPDataReleaseProcPtr = procedure( var inData: UInt8; inRefCon: UnivPtr );
1389 	RTPMPDataReleaseUPP = RTPMPDataReleaseProcPtr;
1390 const
1391 	kMediaPacketizerCanPackEditRate = 1 shl 0;
1392 	kMediaPacketizerCanPackLayer = 1 shl 1;
1393 	kMediaPacketizerCanPackVolume = 1 shl 2;
1394 	kMediaPacketizerCanPackBalance = 1 shl 3;
1395 	kMediaPacketizerCanPackGraphicsMode = 1 shl 4;
1396 	kMediaPacketizerCanPackEmptyEdit = 1 shl 5;
1397 
1398 
1399 type
1400 	MediaPacketizerRequirements = record
1401 		mediaType: OSType;              { media type supported (0 for all)}
1402 		dataFormat: OSType;             { data format (e.g., compression) supported (0 for all)}
1403 		capabilityFlags: UInt32;        { ability to handle non-standard track characteristics}
1404 		canPackMatrixType: UInt8;      { can pack any matrix type up to this (identityMatrixType for identity only)}
1405 		reserved1: UInt8;
1406 		reserved2: UInt8;
1407 		reserved3: UInt8;
1408 	end;
1409 	MediaPacketizerRequirementsPtr = ^MediaPacketizerRequirements;
1410 type
1411 	MediaPacketizerInfo = record
1412 		mediaType: OSType;              { media type supported (0 for all)}
1413 		dataFormat: OSType;             { data format (e.g., compression) supported (0 for all)}
1414 		vendor: OSType;                 { manufacturer of this packetizer (e.g., 'appl' for Apple)}
1415 		capabilityFlags: UInt32;        { ability to handle non-standard track characteristics}
1416 		canPackMatrixType: UInt8;      { can pack any matrix type up to this (identityMatrixType for identity only)}
1417 		reserved1: UInt8;
1418 		reserved2: UInt8;
1419 		reserved3: UInt8;
1420 		characteristicCount: SIGNEDLONG;
1421 		characteristic: array [0..0] of RTPPayloadCharacteristic;
1422 
1423                                               { after the last characteristic, the payload name (defined by the RTPPayloadInfo}
1424                                               { structure) is present. }
1425 	end;
1426 	MediaPacketizerInfoPtr = ^MediaPacketizerInfo;
1427 type
1428 	MediaPacketizerInfoHandle = ^MediaPacketizerInfoPtr;
1429 { MediaPacketizerInfo structs are padded to 32 bits }
1430 const
1431 	kMediaPacketizerInfoPadUpToBytes = 4;
1432 
1433 const
1434 	kRTPMediaPacketizerInfoRezType = FourCharCode('pcki');
1435 
1436 
1437 {
1438  *  QTSFindMediaPacketizer()
1439  *
1440  *  Availability:
1441  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1442  *    CarbonLib:        in CarbonLib 1.1 and later
1443  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1444  *    Windows:          in QTSClient.lib 4.0 and later
1445  }
QTSFindMediaPacketizernull1446 function QTSFindMediaPacketizer( inPacketizerinfo: MediaPacketizerRequirementsPtr; inSampleDescription: SampleDescriptionHandle; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer ): OSErr; external name '_QTSFindMediaPacketizer';
1447 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1448 
1449 
1450 {
1451  *  QTSFindMediaPacketizerForTrack()
1452  *
1453  *  Availability:
1454  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1455  *    CarbonLib:        in CarbonLib 1.1 and later
1456  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1457  *    Windows:          in QTSClient.lib 4.0 and later
1458  }
QTSFindMediaPacketizerForTracknull1459 function QTSFindMediaPacketizerForTrack( inTrack: Track; inSampleDescriptionIndex: SIGNEDLONG; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer ): OSErr; external name '_QTSFindMediaPacketizerForTrack';
1460 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1461 
1462 
1463 {
1464  *  QTSFindMediaPacketizerForPayloadID()
1465  *
1466  *  Availability:
1467  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1468  *    CarbonLib:        in CarbonLib 1.1 and later
1469  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1470  *    Windows:          in QTSClient.lib 4.0 and later
1471  }
QTSFindMediaPacketizerForPayloadIDnull1472 function QTSFindMediaPacketizerForPayloadID( payloadID: SIGNEDLONG; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer ): OSErr; external name '_QTSFindMediaPacketizerForPayloadID';
1473 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1474 
1475 
1476 {
1477  *  QTSFindMediaPacketizerForPayloadName()
1478  *
1479  *  Availability:
1480  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1481  *    CarbonLib:        in CarbonLib 1.1 and later
1482  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1483  *    Windows:          in QTSClient.lib 4.0 and later
1484  }
QTSFindMediaPacketizerForPayloadNamenull1485 function QTSFindMediaPacketizerForPayloadName( payloadName: ConstCStringPtr; inSortInfo: RTPPayloadSortRequestPtr; var outPacketizerList: QTAtomContainer ): OSErr; external name '_QTSFindMediaPacketizerForPayloadName';
1486 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1487 
1488 
1489 { flags for RTPMPInitialize}
1490 const
1491 	kRTPMPRealtimeModeFlag = $00000001;
1492 
1493 { flags for RTPMPSampleDataParams}
1494 const
1495 	kRTPMPSyncSampleFlag = $00000001;
1496 	kRTPMPRespectDurationFlag = $00000002;
1497 
1498 type
1499 	RTPMPSampleDataParamsPtr = ^RTPMPSampleDataParams;
1500 	RTPMPSampleDataParams = record
1501 		version: UInt32;
1502 		timeStamp: UInt32;
1503 		duration: UInt32;               { 0 = unknown duration}
1504 		playOffset: UInt32;
1505 		playRate: Fixed;
1506 		flags: SInt32;
1507 		sampleDescSeed: UInt32;
1508 		sampleDescription: Handle;
1509 		sampleRef: RTPMPSampleRef;
1510 		dataLength: UInt32;
1511 		data: {const} UInt8Ptr;
1512 		releaseProc: RTPMPDataReleaseUPP;
1513 		refCon: UnivPtr;
1514 	end;
1515 { out flags for idle, RTPMPSetSampleData, and RTPMPFlush}
1516 const
1517 	kRTPMPStillProcessingData = $00000001; { not done with data you've got}
1518 
1519 type
1520 	RTPMPPayloadTypeParamsPtr = ^RTPMPPayloadTypeParams;
1521 	RTPMPPayloadTypeParams = record
1522 		flags: UInt32;
1523 		payloadNumber: UInt32;
1524 		nameLength: SInt16;             { in: size of payloadName buffer (counting null terminator) -- this will be reset to needed length and paramErr returned if too small }
1525 		payloadName: CStringPtr;            { caller must provide buffer }
1526 	end;
1527 {-----------------------------------------
1528     RTP Media Packetizer Info selectors
1529 -----------------------------------------}
1530 { info selectors - get only }
1531 const
1532 	kRTPMPPayloadTypeInfo = FourCharCode('rtpp'); { RTPMPPayloadTypeParams* }
1533 	kRTPMPRTPTimeScaleInfo = FourCharCode('rtpt'); { TimeScale* }
1534 	kRTPMPRequiredSampleDescriptionInfo = FourCharCode('sdsc'); { SampleDescriptionHandle* }
1535 	kRTPMPMinPayloadSize = FourCharCode('mins'); { UInt32* in bytes, does not include rtp header; default is 0 }
1536 	kRTPMPMinPacketDuration = FourCharCode('mind'); { UInt3* in milliseconds; default is no min required }
1537 	kRTPMPSuggestedRepeatPktCountInfo = FourCharCode('srpc'); { UInt32* }
1538 	kRTPMPSuggestedRepeatPktSpacingInfo = FourCharCode('srps'); { UInt32* in milliseconds }
1539 	kRTPMPMaxPartialSampleSizeInfo = FourCharCode('mpss'); { UInt32* in bytes }
1540 	kRTPMPPreferredBufferDelayInfo = FourCharCode('prbd'); { UInt32* in milliseconds }
1541 	kRTPMPPayloadNameInfo = FourCharCode('name'); { StringPtr }
1542 	kRTPInfo_FormatString = FourCharCode('fmtp'); { char **, caller allocates ptr, callee disposes }
1543 
1544 {-----------------------------------------
1545     RTP Media Packetizer Characteristics
1546 -----------------------------------------}
1547 { also supports relevant ones in Movies.h and QTSToolbox.h }
1548 const
1549 	kRTPMPNoSampleDataRequiredCharacteristic = FourCharCode('nsdr');
1550 	kRTPMPHasUserSettingsDialogCharacteristic = FourCharCode('sdlg');
1551 	kRTPMPPrefersReliableTransportCharacteristic = FourCharCode('rely');
1552 	kRTPMPRequiresOutOfBandDimensionsCharacteristic = FourCharCode('robd');
1553 	kRTPMPReadsPartialSamplesCharacteristic = FourCharCode('rpsp');
1554 
1555 {-----------------------------------------
1556     RTP Media Packetizer selectors
1557 -----------------------------------------}
1558 const
1559 	kRTPMPInitializeSelect = $0500;
1560 	kRTPMPPreflightMediaSelect = $0501;
1561 	kRTPMPIdleSelect = $0502;
1562 	kRTPMPSetSampleDataSelect = $0503;
1563 	kRTPMPFlushSelect = $0504;
1564 	kRTPMPResetSelect = $0505;
1565 	kRTPMPSetInfoSelect = $0506;
1566 	kRTPMPGetInfoSelect = $0507;
1567 	kRTPMPSetTimeScaleSelect = $0508;
1568 	kRTPMPGetTimeScaleSelect = $0509;
1569 	kRTPMPSetTimeBaseSelect = $050A;
1570 	kRTPMPGetTimeBaseSelect = $050B;
1571 	kRTPMPHasCharacteristicSelect = $050C;
1572 	kRTPMPSetPacketBuilderSelect = $050E;
1573 	kRTPMPGetPacketBuilderSelect = $050F;
1574 	kRTPMPSetMediaTypeSelect = $0510;
1575 	kRTPMPGetMediaTypeSelect = $0511;
1576 	kRTPMPSetMaxPacketSizeSelect = $0512;
1577 	kRTPMPGetMaxPacketSizeSelect = $0513;
1578 	kRTPMPSetMaxPacketDurationSelect = $0514;
1579 	kRTPMPGetMaxPacketDurationSelect = $0515; { for export component and apps who want to}
1580                                         { access dialogs for Media-specific settings}
1581                                         { (such as Pure Voice interleave factor)}
1582 	kRTPMPDoUserDialogSelect = $0516;
1583 	kRTPMPSetSettingsFromAtomContainerAtAtomSelect = $0517;
1584 	kRTPMPGetSettingsIntoAtomContainerAtAtomSelect = $0518;
1585 	kRTPMPGetSettingsAsTextSelect = $0519;
1586 	kRTPMPGetSettingsSelect = $051C;
1587 	kRTPMPSetSettingsSelect = $051D;
1588 
1589 {-----------------------------------------
1590     RTP Media Packetizer functions
1591 -----------------------------------------}
1592 
1593 {
1594  *  RTPMPInitialize()
1595  *
1596  *  Availability:
1597  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1598  *    CarbonLib:        in CarbonLib 1.1 and later
1599  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1600  *    Windows:          in QTSClient.lib 4.0 and later
1601  }
RTPMPInitializenull1602 function RTPMPInitialize( rtpm: RTPMediaPacketizer; inFlags: SInt32 ): ComponentResult; external name '_RTPMPInitialize';
1603 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1604 
1605 
1606 { return noErr if you can handle this media }
1607 {
1608  *  RTPMPPreflightMedia()
1609  *
1610  *  Availability:
1611  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1612  *    CarbonLib:        in CarbonLib 1.1 and later
1613  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1614  *    Windows:          in QTSClient.lib 4.0 and later
1615  }
RTPMPPreflightMedianull1616 function RTPMPPreflightMedia( rtpm: RTPMediaPacketizer; inMediaType: OSType; inSampleDescription: SampleDescriptionHandle ): ComponentResult; external name '_RTPMPPreflightMedia';
1617 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1618 
1619 
1620 {
1621    do work here if you need to - give up time periodically
1622    if you're doing time consuming operations
1623 }
1624 {
1625  *  RTPMPIdle()
1626  *
1627  *  Availability:
1628  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1629  *    CarbonLib:        in CarbonLib 1.1 and later
1630  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1631  *    Windows:          in QTSClient.lib 4.0 and later
1632  }
RTPMPIdlenull1633 function RTPMPIdle( rtpm: RTPMediaPacketizer; inFlags: SInt32; var outFlags: SInt32 ): ComponentResult; external name '_RTPMPIdle';
1634 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1635 
1636 
1637 {
1638    caller owns the RTPMPSampleDataParams struct
1639    media Packetizer must copy any fields of the struct it wants to keep
1640    media Packetizer must call release proc when done with the data
1641    you can do the processing work here if it does not take up too
1642    much cpu time - otherwise do it in idle
1643 }
1644 {
1645  *  RTPMPSetSampleData()
1646  *
1647  *  Availability:
1648  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1649  *    CarbonLib:        in CarbonLib 1.1 and later
1650  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1651  *    Windows:          in QTSClient.lib 4.0 and later
1652  }
RTPMPSetSampleDatanull1653 function RTPMPSetSampleData( rtpm: RTPMediaPacketizer; const (*var*) inSampleData: RTPMPSampleDataParams; var outFlags: SInt32 ): ComponentResult; external name '_RTPMPSetSampleData';
1654 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1655 
1656 
1657 {
1658    send everything you have buffered - you will get idles while
1659    you set the kRTPMPStillProcessingData flag here and in idle
1660 }
1661 {
1662  *  RTPMPFlush()
1663  *
1664  *  Availability:
1665  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1666  *    CarbonLib:        in CarbonLib 1.1 and later
1667  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1668  *    Windows:          in QTSClient.lib 4.0 and later
1669  }
RTPMPFlushnull1670 function RTPMPFlush( rtpm: RTPMediaPacketizer; inFlags: SInt32; var outFlags: SInt32 ): ComponentResult; external name '_RTPMPFlush';
1671 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1672 
1673 
1674 {
1675    dispose of anything buffered and get rid of state
1676    do not send the buffered data (because presumably
1677    there is no connection for you to send on)
1678    state should be the same as if you were just initialized
1679 }
1680 {
1681  *  RTPMPReset()
1682  *
1683  *  Availability:
1684  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1685  *    CarbonLib:        in CarbonLib 1.1 and later
1686  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1687  *    Windows:          in QTSClient.lib 4.0 and later
1688  }
RTPMPResetnull1689 function RTPMPReset( rtpm: RTPMediaPacketizer; inFlags: SInt32 ): ComponentResult; external name '_RTPMPReset';
1690 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1691 
1692 
1693 {-----------------------------------------
1694     RTP Media Packetizer get / set functions
1695 -----------------------------------------}
1696 {
1697  *  RTPMPSetInfo()
1698  *
1699  *  Availability:
1700  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1701  *    CarbonLib:        in CarbonLib 1.1 and later
1702  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1703  *    Windows:          in QTSClient.lib 4.0 and later
1704  }
RTPMPSetInfonull1705 function RTPMPSetInfo( rtpm: RTPMediaPacketizer; inSelector: OSType; ioParams: {const} UnivPtr ): ComponentResult; external name '_RTPMPSetInfo';
1706 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1707 
1708 
1709 {
1710  *  RTPMPGetInfo()
1711  *
1712  *  Availability:
1713  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1714  *    CarbonLib:        in CarbonLib 1.1 and later
1715  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1716  *    Windows:          in QTSClient.lib 4.0 and later
1717  }
RTPMPGetInfonull1718 function RTPMPGetInfo( rtpm: RTPMediaPacketizer; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_RTPMPGetInfo';
1719 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1720 
1721 
1722 {
1723  *  RTPMPSetTimeScale()
1724  *
1725  *  Availability:
1726  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1727  *    CarbonLib:        in CarbonLib 1.1 and later
1728  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1729  *    Windows:          in QTSClient.lib 4.0 and later
1730  }
RTPMPSetTimeScalenull1731 function RTPMPSetTimeScale( rtpm: RTPMediaPacketizer; inTimeScale: TimeScale ): ComponentResult; external name '_RTPMPSetTimeScale';
1732 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1733 
1734 
1735 {
1736  *  RTPMPGetTimeScale()
1737  *
1738  *  Availability:
1739  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1740  *    CarbonLib:        in CarbonLib 1.1 and later
1741  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1742  *    Windows:          in QTSClient.lib 4.0 and later
1743  }
RTPMPGetTimeScalenull1744 function RTPMPGetTimeScale( rtpm: RTPMediaPacketizer; var outTimeScale: TimeScale ): ComponentResult; external name '_RTPMPGetTimeScale';
1745 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1746 
1747 
1748 {
1749  *  RTPMPSetTimeBase()
1750  *
1751  *  Availability:
1752  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1753  *    CarbonLib:        in CarbonLib 1.1 and later
1754  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1755  *    Windows:          in QTSClient.lib 4.0 and later
1756  }
RTPMPSetTimeBasenull1757 function RTPMPSetTimeBase( rtpm: RTPMediaPacketizer; inTimeBase: TimeBase ): ComponentResult; external name '_RTPMPSetTimeBase';
1758 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1759 
1760 
1761 {
1762  *  RTPMPGetTimeBase()
1763  *
1764  *  Availability:
1765  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1766  *    CarbonLib:        in CarbonLib 1.1 and later
1767  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1768  *    Windows:          in QTSClient.lib 4.0 and later
1769  }
RTPMPGetTimeBasenull1770 function RTPMPGetTimeBase( rtpm: RTPMediaPacketizer; var outTimeBase: TimeBase ): ComponentResult; external name '_RTPMPGetTimeBase';
1771 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1772 
1773 
1774 {
1775  *  RTPMPHasCharacteristic()
1776  *
1777  *  Availability:
1778  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1779  *    CarbonLib:        in CarbonLib 1.1 and later
1780  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1781  *    Windows:          in QTSClient.lib 4.0 and later
1782  }
RTPMPHasCharacteristicnull1783 function RTPMPHasCharacteristic( rtpm: RTPMediaPacketizer; inSelector: OSType; var outHasIt: Boolean ): ComponentResult; external name '_RTPMPHasCharacteristic';
1784 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1785 
1786 
1787 {
1788  *  RTPMPSetPacketBuilder()
1789  *
1790  *  Availability:
1791  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1792  *    CarbonLib:        in CarbonLib 1.1 and later
1793  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1794  *    Windows:          in QTSClient.lib 4.0 and later
1795  }
RTPMPSetPacketBuildernull1796 function RTPMPSetPacketBuilder( rtpm: RTPMediaPacketizer; inPacketBuilder: ComponentInstance ): ComponentResult; external name '_RTPMPSetPacketBuilder';
1797 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1798 
1799 
1800 {
1801  *  RTPMPGetPacketBuilder()
1802  *
1803  *  Availability:
1804  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1805  *    CarbonLib:        in CarbonLib 1.1 and later
1806  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1807  *    Windows:          in QTSClient.lib 4.0 and later
1808  }
RTPMPGetPacketBuildernull1809 function RTPMPGetPacketBuilder( rtpm: RTPMediaPacketizer; var outPacketBuilder: ComponentInstance ): ComponentResult; external name '_RTPMPGetPacketBuilder';
1810 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1811 
1812 
1813 {
1814  *  RTPMPSetMediaType()
1815  *
1816  *  Availability:
1817  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1818  *    CarbonLib:        in CarbonLib 1.1 and later
1819  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1820  *    Windows:          in QTSClient.lib 4.0 and later
1821  }
RTPMPSetMediaTypenull1822 function RTPMPSetMediaType( rtpm: RTPMediaPacketizer; inMediaType: OSType ): ComponentResult; external name '_RTPMPSetMediaType';
1823 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1824 
1825 
1826 {
1827  *  RTPMPGetMediaType()
1828  *
1829  *  Availability:
1830  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1831  *    CarbonLib:        in CarbonLib 1.1 and later
1832  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1833  *    Windows:          in QTSClient.lib 4.0 and later
1834  }
RTPMPGetMediaTypenull1835 function RTPMPGetMediaType( rtpm: RTPMediaPacketizer; var outMediaType: OSType ): ComponentResult; external name '_RTPMPGetMediaType';
1836 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1837 
1838 
1839 { size is in bytes}
1840 {
1841  *  RTPMPSetMaxPacketSize()
1842  *
1843  *  Availability:
1844  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1845  *    CarbonLib:        in CarbonLib 1.1 and later
1846  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1847  *    Windows:          in QTSClient.lib 4.0 and later
1848  }
RTPMPSetMaxPacketSizenull1849 function RTPMPSetMaxPacketSize( rtpm: RTPMediaPacketizer; inMaxPacketSize: UInt32 ): ComponentResult; external name '_RTPMPSetMaxPacketSize';
1850 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1851 
1852 
1853 {
1854  *  RTPMPGetMaxPacketSize()
1855  *
1856  *  Availability:
1857  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1858  *    CarbonLib:        in CarbonLib 1.1 and later
1859  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1860  *    Windows:          in QTSClient.lib 4.0 and later
1861  }
RTPMPGetMaxPacketSizenull1862 function RTPMPGetMaxPacketSize( rtpm: RTPMediaPacketizer; var outMaxPacketSize: UInt32 ): ComponentResult; external name '_RTPMPGetMaxPacketSize';
1863 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1864 
1865 
1866 { duration is in milliseconds}
1867 {
1868  *  RTPMPSetMaxPacketDuration()
1869  *
1870  *  Availability:
1871  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1872  *    CarbonLib:        in CarbonLib 1.1 and later
1873  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1874  *    Windows:          in QTSClient.lib 4.0 and later
1875  }
RTPMPSetMaxPacketDurationnull1876 function RTPMPSetMaxPacketDuration( rtpm: RTPMediaPacketizer; inMaxPacketDuration: UInt32 ): ComponentResult; external name '_RTPMPSetMaxPacketDuration';
1877 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1878 
1879 
1880 {
1881  *  RTPMPGetMaxPacketDuration()
1882  *
1883  *  Availability:
1884  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1885  *    CarbonLib:        in CarbonLib 1.1 and later
1886  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1887  *    Windows:          in QTSClient.lib 4.0 and later
1888  }
RTPMPGetMaxPacketDurationnull1889 function RTPMPGetMaxPacketDuration( rtpm: RTPMediaPacketizer; var outMaxPacketDuration: UInt32 ): ComponentResult; external name '_RTPMPGetMaxPacketDuration';
1890 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1891 
1892 
1893 {
1894  *  RTPMPDoUserDialog()
1895  *
1896  *  Availability:
1897  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1898  *    CarbonLib:        in CarbonLib 1.1 and later
1899  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1900  *    Windows:          in QTSClient.lib 4.0 and later
1901  }
RTPMPDoUserDialognull1902 function RTPMPDoUserDialog( rtpm: RTPMediaPacketizer; inFilterUPP: ModalFilterUPP; var canceled: Boolean ): ComponentResult; external name '_RTPMPDoUserDialog';
1903 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1904 
1905 
1906 {
1907  *  RTPMPSetSettingsFromAtomContainerAtAtom()
1908  *
1909  *  Availability:
1910  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1911  *    CarbonLib:        in CarbonLib 1.1 and later
1912  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1913  *    Windows:          in QTSClient.lib 4.0 and later
1914  }
RTPMPSetSettingsFromAtomContainerAtAtomnull1915 function RTPMPSetSettingsFromAtomContainerAtAtom( rtpm: RTPMediaPacketizer; inContainer: QTAtomContainer; inParentAtom: QTAtom ): ComponentResult; external name '_RTPMPSetSettingsFromAtomContainerAtAtom';
1916 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1917 
1918 
1919 {
1920  *  RTPMPGetSettingsIntoAtomContainerAtAtom()
1921  *
1922  *  Availability:
1923  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1924  *    CarbonLib:        in CarbonLib 1.1 and later
1925  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1926  *    Windows:          in QTSClient.lib 4.0 and later
1927  }
RTPMPGetSettingsIntoAtomContainerAtAtomnull1928 function RTPMPGetSettingsIntoAtomContainerAtAtom( rtpm: RTPMediaPacketizer; inOutContainer: QTAtomContainer; inParentAtom: QTAtom ): ComponentResult; external name '_RTPMPGetSettingsIntoAtomContainerAtAtom';
1929 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1930 
1931 
1932 {
1933  *  RTPMPGetSettingsAsText()
1934  *
1935  *  Availability:
1936  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1937  *    CarbonLib:        in CarbonLib 1.1 and later
1938  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
1939  *    Windows:          in QTSClient.lib 4.0 and later
1940  }
RTPMPGetSettingsAsTextnull1941 function RTPMPGetSettingsAsText( rtpm: RTPMediaPacketizer; var text: Handle ): ComponentResult; external name '_RTPMPGetSettingsAsText';
1942 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1943 
1944 
1945 {
1946  *  RTPMPGetSettings()
1947  *
1948  *  Availability:
1949  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1950  *    CarbonLib:        in CarbonLib 1.3 and later
1951  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
1952  *    Windows:          in QTSClient.lib 5.0 and later
1953  }
RTPMPGetSettingsnull1954 function RTPMPGetSettings( rtpm: RTPMediaPacketizer; var outSettings: QTAtomContainer; inFlags: SInt32 ): ComponentResult; external name '_RTPMPGetSettings';
1955 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1956 
1957 
1958 {
1959  *  RTPMPSetSettings()
1960  *
1961  *  Availability:
1962  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1963  *    CarbonLib:        in CarbonLib 1.3 and later
1964  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
1965  *    Windows:          in QTSClient.lib 5.0 and later
1966  }
RTPMPSetSettingsnull1967 function RTPMPSetSettings( rtpm: RTPMediaPacketizer; inSettings: QTAtomSpecPtr; inFlags: SInt32 ): ComponentResult; external name '_RTPMPSetSettings';
1968 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1969 
1970 
1971 {============================================================================
1972         RTP Packet Builder
1973 ============================================================================}
1974 const
1975 	kRTPPacketBuilderType = FourCharCode('rtpb');
1976 
1977 
1978 type
1979 	RTPPacketBuilder = ComponentInstance;
1980 	RTPPacketGroupRef = ^OpaqueRTPPacketGroupRef; { an opaque type }
1981 	OpaqueRTPPacketGroupRef = record end;
1982 	RTPPacketRef = ^OpaqueRTPPacketRef; { an opaque type }
1983 	OpaqueRTPPacketRef = record end;
1984 	RTPPacketRepeatedDataRef = ^OpaqueRTPPacketRepeatedDataRef; { an opaque type }
1985 	OpaqueRTPPacketRepeatedDataRef = record end;
1986 { flags for RTPPBBegin/EndPacket, RTPPBBegin/EndPacketGroup}
1987 const
1988 	kRTPPBSetMarkerFlag = $00000001;
1989 	kRTPPBRepeatPacketFlag = $00000002;
1990 	kRTPPBSyncSampleFlag = $00010000;
1991 	kRTPPBBFrameFlag = $00020000;
1992 	kRTPPBDontSendFlag = $10000000; { when set in EndPacketGroup, will not add group}
1993 
1994 const
1995 	kRTPPBUnknownPacketMediaDataLength = 0;
1996 
1997 { flags for RTPPBGetSampleData}
1998 const
1999 	kRTPPBEndOfDataFlag = $00000001;
2000 
2001 
2002 type
2003 	RTPPBCallbackProcPtr = procedure( inSelector: OSType; ioParams: UnivPtr; inRefCon: UnivPtr );
2004 	RTPPBCallbackUPP = RTPPBCallbackProcPtr;
2005 {-----------------------------------------
2006     RTP Packet Builder selectors
2007 -----------------------------------------}
2008 const
2009 	kRTPPBBeginPacketGroupSelect = $0500;
2010 	kRTPPBEndPacketGroupSelect = $0501;
2011 	kRTPPBBeginPacketSelect = $0502;
2012 	kRTPPBEndPacketSelect = $0503;
2013 	kRTPPBAddPacketLiteralDataSelect = $0504;
2014 	kRTPPBAddPacketSampleDataSelect = $0505;
2015 	kRTPPBAddPacketRepeatedDataSelect = $0506;
2016 	kRTPPBReleaseRepeatedDataSelect = $0507;
2017 	kRTPPBSetPacketSequenceNumberSelect = $0508;
2018 	kRTPPBGetPacketSequenceNumberSelect = $0509;
2019 	kRTPPBSetCallbackSelect = $050A;
2020 	kRTPPBGetCallbackSelect = $050B;
2021 	kRTPPBSetInfoSelect = $050C;
2022 	kRTPPBGetInfoSelect = $050D;
2023 	kRTPPBSetPacketTimeStampOffsetSelect = $050E;
2024 	kRTPPBGetPacketTimeStampOffsetSelect = $050F;
2025 	kRTPPBAddPacketSampleData64Select = $0510;
2026 	kRTPPBGetSampleDataSelect = $0511;
2027 	kRTPPBAddRepeatPacketSelect = $0512;
2028 
2029 {-----------------------------------------
2030     RTP Packet Builder functions
2031 -----------------------------------------}
2032 {
2033  *  RTPPBBeginPacketGroup()
2034  *
2035  *  Availability:
2036  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2037  *    CarbonLib:        in CarbonLib 1.1 and later
2038  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2039  *    Windows:          in QTSClient.lib 4.0 and later
2040  }
RTPPBBeginPacketGroupnull2041 function RTPPBBeginPacketGroup( rtpb: RTPPacketBuilder; inFlags: SInt32; inTimeStamp: UInt32; var outPacketGroup: RTPPacketGroupRef ): ComponentResult; external name '_RTPPBBeginPacketGroup';
2042 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2043 
2044 
2045 {
2046  *  RTPPBEndPacketGroup()
2047  *
2048  *  Availability:
2049  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2050  *    CarbonLib:        in CarbonLib 1.1 and later
2051  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2052  *    Windows:          in QTSClient.lib 4.0 and later
2053  }
RTPPBEndPacketGroupnull2054 function RTPPBEndPacketGroup( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef ): ComponentResult; external name '_RTPPBEndPacketGroup';
2055 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2056 
2057 
2058 {
2059  *  RTPPBBeginPacket()
2060  *
2061  *  Availability:
2062  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2063  *    CarbonLib:        in CarbonLib 1.1 and later
2064  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2065  *    Windows:          in QTSClient.lib 4.0 and later
2066  }
RTPPBBeginPacketnull2067 function RTPPBBeginPacket( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacketMediaDataLength: UInt32; var outPacket: RTPPacketRef ): ComponentResult; external name '_RTPPBBeginPacket';
2068 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2069 
2070 
2071 {
2072  *  RTPPBEndPacket()
2073  *
2074  *  Availability:
2075  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2076  *    CarbonLib:        in CarbonLib 1.1 and later
2077  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2078  *    Windows:          in QTSClient.lib 4.0 and later
2079  }
RTPPBEndPacketnull2080 function RTPPBEndPacket( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inTransmissionTimeOffset: UInt32; inDuration: UInt32 ): ComponentResult; external name '_RTPPBEndPacket';
2081 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2082 
2083 
2084 {
2085    non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
2086    pb must return a repeated data ref
2087 }
2088 {
2089  *  RTPPBAddPacketLiteralData()
2090  *
2091  *  Availability:
2092  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2093  *    CarbonLib:        in CarbonLib 1.1 and later
2094  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2095  *    Windows:          in QTSClient.lib 4.0 and later
2096  }
RTPPBAddPacketLiteralDatanull2097 function RTPPBAddPacketLiteralData( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var inData: UInt8; inDataLength: UInt32; var outDataRef: RTPPacketRepeatedDataRef ): ComponentResult; external name '_RTPPBAddPacketLiteralData';
2098 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2099 
2100 
2101 {
2102    non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
2103    pb must return a repeated data ref
2104 }
2105 {
2106  *  RTPPBAddPacketSampleData()
2107  *
2108  *  Availability:
2109  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2110  *    CarbonLib:        in CarbonLib 1.1 and later
2111  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2112  *    Windows:          in QTSClient.lib 4.0 and later
2113  }
RTPPBAddPacketSampleDatanull2114 function RTPPBAddPacketSampleData( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var inSampleDataParams: RTPMPSampleDataParams; inSampleOffset: UInt32; inSampleDataLength: UInt32; var outDataRef: RTPPacketRepeatedDataRef ): ComponentResult; external name '_RTPPBAddPacketSampleData';
2115 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2116 
2117 
2118 {
2119    non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
2120    pb must return a repeated data ref
2121 }
2122 {
2123  *  RTPPBAddPacketSampleData64()
2124  *
2125  *  Availability:
2126  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2127  *    CarbonLib:        in CarbonLib 1.3 and later
2128  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
2129  *    Windows:          in QTSClient.lib 5.0 and later
2130  }
RTPPBAddPacketSampleData64null2131 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';
2132 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2133 
2134 
2135 {
2136    call to add the repeated data using the ref you got from
2137    RTPPBAddPacketLiteralData or RTPPBAddPacketSampleData
2138 }
2139 {
2140  *  RTPPBAddPacketRepeatedData()
2141  *
2142  *  Availability:
2143  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2144  *    CarbonLib:        in CarbonLib 1.1 and later
2145  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2146  *    Windows:          in QTSClient.lib 4.0 and later
2147  }
RTPPBAddPacketRepeatedDatanull2148 function RTPPBAddPacketRepeatedData( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inDataRef: RTPPacketRepeatedDataRef ): ComponentResult; external name '_RTPPBAddPacketRepeatedData';
2149 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2150 
2151 
2152 { call when done with repeated data}
2153 {
2154  *  RTPPBReleaseRepeatedData()
2155  *
2156  *  Availability:
2157  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2158  *    CarbonLib:        in CarbonLib 1.1 and later
2159  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2160  *    Windows:          in QTSClient.lib 4.0 and later
2161  }
RTPPBReleaseRepeatedDatanull2162 function RTPPBReleaseRepeatedData( rtpb: RTPPacketBuilder; inDataRef: RTPPacketRepeatedDataRef ): ComponentResult; external name '_RTPPBReleaseRepeatedData';
2163 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2164 
2165 
2166 {
2167    seq number is just relative seq number
2168    don't call if you don't care when seq # is used
2169 }
2170 {
2171  *  RTPPBSetPacketSequenceNumber()
2172  *
2173  *  Availability:
2174  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2175  *    CarbonLib:        in CarbonLib 1.1 and later
2176  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2177  *    Windows:          in QTSClient.lib 4.0 and later
2178  }
RTPPBSetPacketSequenceNumbernull2179 function RTPPBSetPacketSequenceNumber( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inSequenceNumber: UInt32 ): ComponentResult; external name '_RTPPBSetPacketSequenceNumber';
2180 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2181 
2182 
2183 {
2184  *  RTPPBGetPacketSequenceNumber()
2185  *
2186  *  Availability:
2187  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2188  *    CarbonLib:        in CarbonLib 1.1 and later
2189  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2190  *    Windows:          in QTSClient.lib 4.0 and later
2191  }
RTPPBGetPacketSequenceNumbernull2192 function RTPPBGetPacketSequenceNumber( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var outSequenceNumber: UInt32 ): ComponentResult; external name '_RTPPBGetPacketSequenceNumber';
2193 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2194 
2195 
2196 {
2197  *  RTPPBSetPacketTimeStampOffset()
2198  *
2199  *  Availability:
2200  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2201  *    CarbonLib:        in CarbonLib 1.3 and later
2202  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
2203  *    Windows:          in QTSClient.lib 5.0 and later
2204  }
RTPPBSetPacketTimeStampOffsetnull2205 function RTPPBSetPacketTimeStampOffset( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inTimeStampOffset: SInt32 ): ComponentResult; external name '_RTPPBSetPacketTimeStampOffset';
2206 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2207 
2208 
2209 {
2210  *  RTPPBGetPacketTimeStampOffset()
2211  *
2212  *  Availability:
2213  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2214  *    CarbonLib:        in CarbonLib 1.3 and later
2215  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
2216  *    Windows:          in QTSClient.lib 5.0 and later
2217  }
RTPPBGetPacketTimeStampOffsetnull2218 function RTPPBGetPacketTimeStampOffset( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; var outTimeStampOffset: SInt32 ): ComponentResult; external name '_RTPPBGetPacketTimeStampOffset';
2219 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2220 
2221 
2222 {
2223  *  RTPPBAddRepeatPacket()
2224  *
2225  *  Availability:
2226  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2227  *    CarbonLib:        in CarbonLib 1.3 and later
2228  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
2229  *    Windows:          in QTSClient.lib 5.0 and later
2230  }
RTPPBAddRepeatPacketnull2231 function RTPPBAddRepeatPacket( rtpb: RTPPacketBuilder; inFlags: SInt32; inPacketGroup: RTPPacketGroupRef; inPacket: RTPPacketRef; inTransmissionOffset: TimeValue; inSequenceNumber: UInt32 ): ComponentResult; external name '_RTPPBAddRepeatPacket';
2232 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2233 
2234 
2235 {
2236    used for communicating with the caller of the media packetizers if needed
2237    NOT used for communicating with the media packetizers themselves
2238 }
2239 {
2240  *  RTPPBSetCallback()
2241  *
2242  *  Availability:
2243  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2244  *    CarbonLib:        in CarbonLib 1.1 and later
2245  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2246  *    Windows:          in QTSClient.lib 4.0 and later
2247  }
RTPPBSetCallbacknull2248 function RTPPBSetCallback( rtpb: RTPPacketBuilder; inCallback: RTPPBCallbackUPP; inRefCon: UnivPtr ): ComponentResult; external name '_RTPPBSetCallback';
2249 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2250 
2251 
2252 {
2253  *  RTPPBGetCallback()
2254  *
2255  *  Availability:
2256  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2257  *    CarbonLib:        in CarbonLib 1.1 and later
2258  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2259  *    Windows:          in QTSClient.lib 4.0 and later
2260  }
RTPPBGetCallbacknull2261 function RTPPBGetCallback( rtpb: RTPPacketBuilder; var outCallback: RTPPBCallbackUPP; var outRefCon: UnivPtr ): ComponentResult; external name '_RTPPBGetCallback';
2262 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2263 
2264 
2265 {
2266  *  RTPPBSetInfo()
2267  *
2268  *  Availability:
2269  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2270  *    CarbonLib:        in CarbonLib 1.1 and later
2271  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2272  *    Windows:          in QTSClient.lib 4.0 and later
2273  }
RTPPBSetInfonull2274 function RTPPBSetInfo( rtpb: RTPPacketBuilder; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_RTPPBSetInfo';
2275 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2276 
2277 
2278 {
2279  *  RTPPBGetInfo()
2280  *
2281  *  Availability:
2282  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2283  *    CarbonLib:        in CarbonLib 1.1 and later
2284  *    Non-Carbon CFM:   in QTStreamLib 4.0 and later
2285  *    Windows:          in QTSClient.lib 4.0 and later
2286  }
RTPPBGetInfonull2287 function RTPPBGetInfo( rtpb: RTPPacketBuilder; inSelector: OSType; ioParams: UnivPtr ): ComponentResult; external name '_RTPPBGetInfo';
2288 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2289 
2290 
2291 {
2292  *  RTPPBGetSampleData()
2293  *
2294  *  Availability:
2295  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2296  *    CarbonLib:        in CarbonLib 1.3 and later
2297  *    Non-Carbon CFM:   in QTStreamLib 5.0 and later
2298  *    Windows:          in QTSClient.lib 5.0 and later
2299  }
RTPPBGetSampleDatanull2300 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';
2301 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2302 
2303 
2304 { UPP call backs }
2305 {
2306  *  NewRTPMPDataReleaseUPP()
2307  *
2308  *  Availability:
2309  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2310  *    CarbonLib:        in CarbonLib 1.3 and later
2311  *    Non-Carbon CFM:   available as macro/inline
2312  }
NewRTPMPDataReleaseUPPnull2313 function NewRTPMPDataReleaseUPP( userRoutine: RTPMPDataReleaseProcPtr ): RTPMPDataReleaseUPP; external name '_NewRTPMPDataReleaseUPP';
2314 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2315 
2316 {
2317  *  NewRTPPBCallbackUPP()
2318  *
2319  *  Availability:
2320  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2321  *    CarbonLib:        in CarbonLib 1.3 and later
2322  *    Non-Carbon CFM:   available as macro/inline
2323  }
NewRTPPBCallbackUPPnull2324 function NewRTPPBCallbackUPP( userRoutine: RTPPBCallbackProcPtr ): RTPPBCallbackUPP; external name '_NewRTPPBCallbackUPP';
2325 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2326 
2327 {
2328  *  DisposeRTPMPDataReleaseUPP()
2329  *
2330  *  Availability:
2331  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2332  *    CarbonLib:        in CarbonLib 1.3 and later
2333  *    Non-Carbon CFM:   available as macro/inline
2334  }
2335 procedure DisposeRTPMPDataReleaseUPP( userUPP: RTPMPDataReleaseUPP ); external name '_DisposeRTPMPDataReleaseUPP';
2336 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2337 
2338 {
2339  *  DisposeRTPPBCallbackUPP()
2340  *
2341  *  Availability:
2342  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2343  *    CarbonLib:        in CarbonLib 1.3 and later
2344  *    Non-Carbon CFM:   available as macro/inline
2345  }
2346 procedure DisposeRTPPBCallbackUPP( userUPP: RTPPBCallbackUPP ); external name '_DisposeRTPPBCallbackUPP';
2347 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2348 
2349 {
2350  *  InvokeRTPMPDataReleaseUPP()
2351  *
2352  *  Availability:
2353  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2354  *    CarbonLib:        in CarbonLib 1.3 and later
2355  *    Non-Carbon CFM:   available as macro/inline
2356  }
2357 procedure InvokeRTPMPDataReleaseUPP( var inData: UInt8; inRefCon: UnivPtr; userUPP: RTPMPDataReleaseUPP ); external name '_InvokeRTPMPDataReleaseUPP';
2358 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2359 
2360 {
2361  *  InvokeRTPPBCallbackUPP()
2362  *
2363  *  Availability:
2364  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2365  *    CarbonLib:        in CarbonLib 1.3 and later
2366  *    Non-Carbon CFM:   available as macro/inline
2367  }
2368 procedure InvokeRTPPBCallbackUPP( inSelector: OSType; ioParams: UnivPtr; inRefCon: UnivPtr; userUPP: RTPPBCallbackUPP ); external name '_InvokeRTPPBCallbackUPP';
2369 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2370 
2371 
2372 {$endc} {not TARGET_CPU_64}
2373 
2374 {$endc} {TARGET_OS_MAC}
2375 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
2376 
2377 end.
2378 {$endc} {not MACOSALLINCLUDE}
2379