/packages/univint/src/QuickTimeStreaming.pas

https://github.com/slibre/freepascal · Pascal · 2473 lines · 787 code · 291 blank · 1395 comment · 0 complexity · 38d0058b1c2400cbd3a62b06df9e7d7c MD5 · raw file

Large files are truncated click here to view the full file

  1. {
  2. File: QuickTime/QuickTimeStreaming.h
  3. Contains: QuickTime Interfaces.
  4. Version: QuickTime 7.7.1
  5. Copyright: © 1990-2012 by Apple Inc., all rights reserved
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://www.freepascal.org/bugs.html
  9. }
  10. { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
  11. { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2012 }
  12. {
  13. Modified for use with Free Pascal
  14. Version 308
  15. Please report any bugs to <gpc@microbizz.nl>
  16. }
  17. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  18. {$mode macpas}
  19. {$packenum 1}
  20. {$macro on}
  21. {$inline on}
  22. {$calling mwpascal}
  23. unit QuickTimeStreaming;
  24. interface
  25. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  26. {$setc GAP_INTERFACES_VERSION := $0308}
  27. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  28. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  29. {$endc}
  30. {$ifc defined CPUPOWERPC and defined CPUI386}
  31. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  32. {$endc}
  33. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  34. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  35. {$endc}
  36. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  37. {$setc __ppc__ := 1}
  38. {$elsec}
  39. {$setc __ppc__ := 0}
  40. {$endc}
  41. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  42. {$setc __ppc64__ := 1}
  43. {$elsec}
  44. {$setc __ppc64__ := 0}
  45. {$endc}
  46. {$ifc not defined __i386__ and defined CPUI386}
  47. {$setc __i386__ := 1}
  48. {$elsec}
  49. {$setc __i386__ := 0}
  50. {$endc}
  51. {$ifc not defined __x86_64__ and defined CPUX86_64}
  52. {$setc __x86_64__ := 1}
  53. {$elsec}
  54. {$setc __x86_64__ := 0}
  55. {$endc}
  56. {$ifc not defined __arm__ and defined CPUARM}
  57. {$setc __arm__ := 1}
  58. {$elsec}
  59. {$setc __arm__ := 0}
  60. {$endc}
  61. {$ifc defined cpu64}
  62. {$setc __LP64__ := 1}
  63. {$elsec}
  64. {$setc __LP64__ := 0}
  65. {$endc}
  66. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  67. {$error Conflicting definitions for __ppc__ and __i386__}
  68. {$endc}
  69. {$ifc defined __ppc__ and __ppc__}
  70. {$setc TARGET_CPU_PPC := TRUE}
  71. {$setc TARGET_CPU_PPC64 := FALSE}
  72. {$setc TARGET_CPU_X86 := FALSE}
  73. {$setc TARGET_CPU_X86_64 := FALSE}
  74. {$setc TARGET_CPU_ARM := FALSE}
  75. {$setc TARGET_OS_MAC := TRUE}
  76. {$setc TARGET_OS_IPHONE := FALSE}
  77. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  78. {$setc TARGET_OS_EMBEDDED := FALSE}
  79. {$elifc defined __ppc64__ and __ppc64__}
  80. {$setc TARGET_CPU_PPC := FALSE}
  81. {$setc TARGET_CPU_PPC64 := TRUE}
  82. {$setc TARGET_CPU_X86 := FALSE}
  83. {$setc TARGET_CPU_X86_64 := FALSE}
  84. {$setc TARGET_CPU_ARM := FALSE}
  85. {$setc TARGET_OS_MAC := TRUE}
  86. {$setc TARGET_OS_IPHONE := FALSE}
  87. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  88. {$setc TARGET_OS_EMBEDDED := FALSE}
  89. {$elifc defined __i386__ and __i386__}
  90. {$setc TARGET_CPU_PPC := FALSE}
  91. {$setc TARGET_CPU_PPC64 := FALSE}
  92. {$setc TARGET_CPU_X86 := TRUE}
  93. {$setc TARGET_CPU_X86_64 := FALSE}
  94. {$setc TARGET_CPU_ARM := FALSE}
  95. {$ifc defined(iphonesim)}
  96. {$setc TARGET_OS_MAC := FALSE}
  97. {$setc TARGET_OS_IPHONE := TRUE}
  98. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  99. {$elsec}
  100. {$setc TARGET_OS_MAC := TRUE}
  101. {$setc TARGET_OS_IPHONE := FALSE}
  102. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  103. {$endc}
  104. {$setc TARGET_OS_EMBEDDED := FALSE}
  105. {$elifc defined __x86_64__ and __x86_64__}
  106. {$setc TARGET_CPU_PPC := FALSE}
  107. {$setc TARGET_CPU_PPC64 := FALSE}
  108. {$setc TARGET_CPU_X86 := FALSE}
  109. {$setc TARGET_CPU_X86_64 := TRUE}
  110. {$setc TARGET_CPU_ARM := FALSE}
  111. {$setc TARGET_OS_MAC := TRUE}
  112. {$setc TARGET_OS_IPHONE := FALSE}
  113. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  114. {$setc TARGET_OS_EMBEDDED := FALSE}
  115. {$elifc defined __arm__ and __arm__}
  116. {$setc TARGET_CPU_PPC := FALSE}
  117. {$setc TARGET_CPU_PPC64 := FALSE}
  118. {$setc TARGET_CPU_X86 := FALSE}
  119. {$setc TARGET_CPU_X86_64 := FALSE}
  120. {$setc TARGET_CPU_ARM := TRUE}
  121. { will require compiler define when/if other Apple devices with ARM cpus ship }
  122. {$setc TARGET_OS_MAC := FALSE}
  123. {$setc TARGET_OS_IPHONE := TRUE}
  124. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  125. {$setc TARGET_OS_EMBEDDED := TRUE}
  126. {$elsec}
  127. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
  128. {$endc}
  129. {$ifc defined __LP64__ and __LP64__ }
  130. {$setc TARGET_CPU_64 := TRUE}
  131. {$elsec}
  132. {$setc TARGET_CPU_64 := FALSE}
  133. {$endc}
  134. {$ifc defined FPC_BIG_ENDIAN}
  135. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  136. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  137. {$elifc defined FPC_LITTLE_ENDIAN}
  138. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  139. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  140. {$elsec}
  141. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  142. {$endc}
  143. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  144. {$setc CALL_NOT_IN_CARBON := FALSE}
  145. {$setc OLDROUTINENAMES := FALSE}
  146. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  147. {$setc OPAQUE_UPP_TYPES := TRUE}
  148. {$setc OTCARBONAPPLICATION := TRUE}
  149. {$setc OTKERNEL := FALSE}
  150. {$setc PM_USE_SESSION_APIS := TRUE}
  151. {$setc TARGET_API_MAC_CARBON := TRUE}
  152. {$setc TARGET_API_MAC_OS8 := FALSE}
  153. {$setc TARGET_API_MAC_OSX := TRUE}
  154. {$setc TARGET_CARBON := TRUE}
  155. {$setc TARGET_CPU_68K := FALSE}
  156. {$setc TARGET_CPU_MIPS := FALSE}
  157. {$setc TARGET_CPU_SPARC := FALSE}
  158. {$setc TARGET_OS_UNIX := FALSE}
  159. {$setc TARGET_OS_WIN32 := FALSE}
  160. {$setc TARGET_RT_MAC_68881 := FALSE}
  161. {$setc TARGET_RT_MAC_CFM := FALSE}
  162. {$setc TARGET_RT_MAC_MACHO := TRUE}
  163. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  164. {$setc TYPE_BOOL := FALSE}
  165. {$setc TYPE_EXTENDED := FALSE}
  166. {$setc TYPE_LONGLONG := TRUE}
  167. uses MacTypes,Components,Events,Files,QuickdrawTypes,Movies,ImageCompression,QuickTimeComponents;
  168. {$endc} {not MACOSALLINCLUDE}
  169. {$ifc TARGET_OS_MAC}
  170. {$ALIGN MAC68K}
  171. { QuickTime is not available to 64-bit clients }
  172. {$ifc not TARGET_CPU_64}
  173. const
  174. kQTSInfiniteDuration = $7FFFFFFF;
  175. kQTSUnknownDuration = $00000000;
  176. kQTSNormalForwardRate = $00010000;
  177. kQTSStoppedRate = $00000000;
  178. type
  179. QTSPresentationRecordPtr = ^QTSPresentationRecord;
  180. QTSPresentationRecord = record
  181. data: array [0..1-1] of SIGNEDLONG;
  182. end;
  183. type
  184. QTSPresentation = ^QTSPresentationRecord;
  185. QTSStreamRecordPtr = ^QTSStreamRecord;
  186. QTSStreamRecord = record
  187. data: array [0..1-1] of SIGNEDLONG;
  188. end;
  189. type
  190. QTSStream = ^QTSStreamRecord;
  191. QTSEditEntryPtr = ^QTSEditEntry;
  192. QTSEditEntry = record
  193. presentationDuration: TimeValue64;
  194. streamStartTime: TimeValue64;
  195. streamRate: Fixed;
  196. end;
  197. type
  198. QTSEditList = record
  199. numEdits: SInt32;
  200. edits: array [0..0] of QTSEditEntry;
  201. end;
  202. QTSEditListPtr = ^QTSEditList;
  203. type
  204. QTSEditListHandle = ^QTSEditListPtr;
  205. QTSNotificationProcPtr = function( inErr: ComponentResult; inNotificationType: OSType; inNotificationParams: UnivPtr; inRefCon: UnivPtr ): ComponentResult;
  206. QTSNotificationUPP = QTSNotificationProcPtr;
  207. {-----------------------------------------
  208. Get / Set Info
  209. -----------------------------------------}
  210. const
  211. kQTSGetURLLink = FourCharCode('gull'); { QTSGetURLLinkRecord* }
  212. { get and set }
  213. const
  214. kQTSTargetBufferDurationInfo = FourCharCode('bufr'); { Fixed* in seconds; expected, not actual }
  215. kQTSDurationInfo = FourCharCode('dura'); { QTSDurationAtom* }
  216. kQTSSoundLevelMeteringEnabledInfo = FourCharCode('mtrn'); { Boolean* }
  217. kQTSSoundLevelMeterInfo = FourCharCode('levm'); { LevelMeterInfoPtr }
  218. kQTSSourceTrackIDInfo = FourCharCode('otid'); { UInt32* }
  219. kQTSSourceLayerInfo = FourCharCode('olyr'); { UInt16* }
  220. kQTSSourceLanguageInfo = FourCharCode('olng'); { UInt16* }
  221. kQTSSourceTrackFlagsInfo = FourCharCode('otfl'); { SInt32* }
  222. kQTSSourceDimensionsInfo = FourCharCode('odim'); { QTSDimensionParams* }
  223. kQTSSourceVolumesInfo = FourCharCode('ovol'); { QTSVolumesParams* }
  224. kQTSSourceMatrixInfo = FourCharCode('omat'); { MatrixRecord* }
  225. kQTSSourceClipRectInfo = FourCharCode('oclp'); { Rect* }
  226. kQTSSourceGraphicsModeInfo = FourCharCode('ogrm'); { QTSGraphicsModeParams* }
  227. kQTSSourceScaleInfo = FourCharCode('oscl'); { Point* }
  228. kQTSSourceBoundingRectInfo = FourCharCode('orct'); { Rect* }
  229. kQTSSourceUserDataInfo = FourCharCode('oudt'); { UserData }
  230. kQTSSourceInputMapInfo = FourCharCode('oimp'); { QTAtomContainer }
  231. kQTSInfo_DataProc = FourCharCode('datp'); { QTSDataProcParams* }
  232. kQTSInfo_SendDataExtras = FourCharCode('dext'); { QTSSendDataExtrasParams* }
  233. kQTSInfo_HintTrackID = FourCharCode('htid'); { long* }
  234. kQTSInfo_URL = FourCharCode('url '); { Handle*, cstring in handle }
  235. kQTSInfo_Authentication = FourCharCode('auup'); { QTSAuthenticationParams }
  236. kQTSInfo_MediaPacketizer = FourCharCode('rmpk'); { ComponentInstance }
  237. { get only }
  238. const
  239. kQTSStatisticsInfo = FourCharCode('stat'); { QTSStatisticsParams* }
  240. kQTSMinStatusDimensionsInfo = FourCharCode('mstd'); { QTSDimensionParams* }
  241. kQTSNormalStatusDimensionsInfo = FourCharCode('nstd'); { QTSDimensionParams* }
  242. kQTSTotalDataRateInfo = FourCharCode('drtt'); { UInt32*, add to what's there }
  243. kQTSTotalDataRateInInfo = FourCharCode('drti'); { UInt32*, add to what's there }
  244. kQTSTotalDataRateOutInfo = FourCharCode('drto'); { UInt32*, add to what's there }
  245. kQTSLostPercentInfo = FourCharCode('lpct'); { QTSLostPercentParams*, add to what's there }
  246. kQTSNumViewersInfo = FourCharCode('nviw'); { UInt32* }
  247. kQTSMediaTypeInfo = FourCharCode('mtyp'); { OSType* }
  248. kQTSNameInfo = FourCharCode('name'); { QTSNameParams* }
  249. kQTSCanHandleSendDataType = FourCharCode('chsd'); { QTSCanHandleSendDataTypeParams* }
  250. kQTSAnnotationsInfo = FourCharCode('meta'); { QTAtomContainer }
  251. kQTSRemainingBufferTimeInfo = FourCharCode('btms'); { UInt32* remaining buffer time before playback, in microseconds }
  252. kQTSInfo_SettingsText = FourCharCode('sttx'); { QTSSettingsTextParams* }
  253. kQTSInfo_AverageFrameRate = FourCharCode('fps '); { UnsignedFixed* }
  254. type
  255. QTSAuthenticationParamsPtr = ^QTSAuthenticationParams;
  256. QTSAuthenticationParams = record
  257. flags: SInt32;
  258. userID: ConstCStringPtr; { caller disposes of pointer}
  259. password: ConstCStringPtr; { caller disposes of pointer}
  260. end;
  261. const
  262. kQTSTargetBufferDurationTimeScale = 1000;
  263. type
  264. QTSPanelFilterParamsPtr = ^QTSPanelFilterParams;
  265. QTSPanelFilterParams = record
  266. version: SInt32;
  267. inStream: QTSStream;
  268. inPanelType: OSType;
  269. inPanelSubType: OSType;
  270. details: QTAtomSpec;
  271. end;
  272. { return true to keep this panel}
  273. type
  274. QTSPanelFilterProcPtr = function( var inParams: QTSPanelFilterParams; inRefCon: UnivPtr ): Boolean;
  275. QTSPanelFilterUPP = QTSPanelFilterProcPtr;
  276. const
  277. kQTSSettingsTextSummary = FourCharCode('set1');
  278. kQTSSettingsTextDetails = FourCharCode('setd');
  279. type
  280. QTSSettingsTextParamsPtr = ^QTSSettingsTextParams;
  281. QTSSettingsTextParams = record
  282. flags: SInt32; { None yet defined}
  283. inSettingsSelector: OSType; { which kind of setting you want from enum above}
  284. outSettingsAsText: Handle; { QTS allocates; Caller disposes}
  285. inPanelFilterProc: QTSPanelFilterUPP; { To get a subset filter with this }
  286. inPanelFilterProcRefCon: UnivPtr;
  287. end;
  288. type
  289. QTSCanHandleSendDataTypeParamsPtr = ^QTSCanHandleSendDataTypeParams;
  290. QTSCanHandleSendDataTypeParams = record
  291. modifierTypeOrInputID: SInt32;
  292. isModifierType: Boolean;
  293. returnedCanHandleSendDataType: Boolean; { callee sets to true if it can handle it}
  294. end;
  295. type
  296. QTSNameParams = record
  297. maxNameLength: SInt32;
  298. requestedLanguage: SInt32;
  299. returnedActualLanguage: SInt32;
  300. returnedName: UInt8Ptr; { pascal string; caller supplies}
  301. end;
  302. type
  303. QTSLostPercentParamsPtr = ^QTSLostPercentParams;
  304. QTSLostPercentParams = record
  305. receivedPkts: UInt32;
  306. lostPkts: UInt32;
  307. percent: Fixed;
  308. end;
  309. type
  310. QTSDimensionParamsPtr = ^QTSDimensionParams;
  311. QTSDimensionParams = record
  312. width: Fixed;
  313. height: Fixed;
  314. end;
  315. type
  316. QTSVolumesParamsPtr = ^QTSVolumesParams;
  317. QTSVolumesParams = record
  318. leftVolume: SInt16;
  319. rightVolume: SInt16;
  320. end;
  321. type
  322. QTSGraphicsModeParamsPtr = ^QTSGraphicsModeParams;
  323. QTSGraphicsModeParams = record
  324. graphicsMode: SInt16;
  325. opColor: RGBColor;
  326. end;
  327. type
  328. QTSGetURLLinkRecordPtr = ^QTSGetURLLinkRecord;
  329. QTSGetURLLinkRecord = record
  330. displayWhere: Point;
  331. returnedURLLink: Handle;
  332. end;
  333. const
  334. kQTSDataProcParamsVersion1 = 1;
  335. const
  336. kQTSDataProcType_MediaSample = FourCharCode('mdia');
  337. kQTSDataProcType_HintSample = FourCharCode('hint');
  338. type
  339. QTSDataProcParamsPtr = ^QTSDataProcParams;
  340. QTSDataProcParams = record
  341. version: SInt32;
  342. flags: SInt32;
  343. stream: QTSStream;
  344. procType: OSType;
  345. proc: QTSNotificationUPP;
  346. procRefCon: UnivPtr;
  347. end;
  348. const
  349. kQTSDataProcSelector_SampleData = FourCharCode('samp');
  350. kQTSDataProcSelector_UserData = FourCharCode('user');
  351. const
  352. kQTSSampleDataCallbackParamsVersion1 = 1;
  353. type
  354. QTSSampleDataCallbackParamsPtr = ^QTSSampleDataCallbackParams;
  355. QTSSampleDataCallbackParams = record
  356. version: SInt32;
  357. flags: SInt32;
  358. stream: QTSStream;
  359. procType: OSType;
  360. mediaType: OSType;
  361. mediaTimeScale: TimeScale;
  362. sampleDesc: SampleDescriptionHandle;
  363. sampleDescSeed: UInt32;
  364. sampleTime: TimeValue64;
  365. duration: TimeValue64; { could be 0 }
  366. sampleFlags: SInt32;
  367. dataLength: UInt32;
  368. data: {const} UnivPtr;
  369. end;
  370. const
  371. kQTSUserDataCallbackParamsVersion1 = 1;
  372. type
  373. QTSUserDataCallbackParamsPtr = ^QTSUserDataCallbackParams;
  374. QTSUserDataCallbackParams = record
  375. version: SInt32;
  376. flags: SInt32;
  377. stream: QTSStream;
  378. procType: OSType;
  379. userDataType: OSType;
  380. userDataHandle: Handle; { caller must make copy if it wants to keep the data around}
  381. end;
  382. const
  383. kQTSSendDataExtrasParamsVersion1 = 1;
  384. type
  385. QTSSendDataExtrasParamsPtr = ^QTSSendDataExtrasParams;
  386. QTSSendDataExtrasParams = record
  387. version: SInt32;
  388. flags: SInt32;
  389. procType: OSType;
  390. end;
  391. type
  392. QTSModalFilterProcPtr = function( inDialog: DialogPtr; const (*var*) inEvent: EventRecord; var ioItemHit: SInt16; inRefCon: UnivPtr ): Boolean;
  393. QTSModalFilterUPP = QTSModalFilterProcPtr;
  394. {-----------------------------------------
  395. Characteristics
  396. -----------------------------------------}
  397. { characteristics in Movies.h work here too }
  398. const
  399. kQTSSupportsPerStreamControlCharacteristic = FourCharCode('psct');
  400. type
  401. QTSVideoParamsPtr = ^QTSVideoParams;
  402. QTSVideoParams = record
  403. width: Fixed;
  404. height: Fixed;
  405. matrix: MatrixRecord;
  406. gWorld: CGrafPtr;
  407. gdHandle: GDHandle_fix;
  408. clip: RgnHandle;
  409. graphicsMode: SInt16;
  410. opColor: RGBColor;
  411. end;
  412. type
  413. QTSAudioParamsPtr = ^QTSAudioParams;
  414. QTSAudioParams = record
  415. leftVolume: SInt16;
  416. rightVolume: SInt16;
  417. bassLevel: SInt16;
  418. trebleLevel: SInt16;
  419. frequencyBandsCount: SInt16;
  420. frequencyBands: UnivPtr;
  421. levelMeteringEnabled: Boolean;
  422. end;
  423. type
  424. QTSMediaParamsPtr = ^QTSMediaParams;
  425. QTSMediaParams = record
  426. v: QTSVideoParams;
  427. a: QTSAudioParams;
  428. end;
  429. const
  430. kQTSMustDraw = 1 shl 3;
  431. kQTSAtEnd = 1 shl 4;
  432. kQTSPreflightDraw = 1 shl 5;
  433. kQTSSyncDrawing = 1 shl 6;
  434. { media task result flags }
  435. const
  436. kQTSDidDraw = 1 shl 0;
  437. kQTSNeedsToDraw = 1 shl 2;
  438. kQTSDrawAgain = 1 shl 3;
  439. kQTSPartialDraw = 1 shl 4;
  440. {============================================================================
  441. Notifications
  442. ============================================================================}
  443. { ------ notification types ------ }
  444. const
  445. kQTSNullNotification = FourCharCode('null'); { NULL }
  446. kQTSErrorNotification = FourCharCode('err '); { QTSErrorParams*, optional }
  447. kQTSNewPresDetectedNotification = FourCharCode('newp'); { QTSNewPresDetectedParams* }
  448. kQTSPresBeginChangingNotification = FourCharCode('prcb'); { NULL }
  449. kQTSPresDoneChangingNotification = FourCharCode('prcd'); { NULL }
  450. kQTSPresentationChangedNotification = FourCharCode('prch'); { NULL }
  451. kQTSNewStreamNotification = FourCharCode('stnw'); { QTSNewStreamParams* }
  452. kQTSStreamBeginChangingNotification = FourCharCode('stcb'); { QTSStream }
  453. kQTSStreamDoneChangingNotification = FourCharCode('stcd'); { QTSStream }
  454. kQTSStreamChangedNotification = FourCharCode('stch'); { QTSStreamChangedParams* }
  455. kQTSStreamGoneNotification = FourCharCode('stgn'); { QTSStreamGoneParams* }
  456. kQTSPreviewAckNotification = FourCharCode('pvak'); { QTSStream }
  457. kQTSPrerollAckNotification = FourCharCode('pack'); { QTSStream }
  458. kQTSStartAckNotification = FourCharCode('sack'); { QTSStream }
  459. kQTSStopAckNotification = FourCharCode('xack'); { QTSStream }
  460. kQTSStatusNotification = FourCharCode('stat'); { QTSStatusParams* }
  461. kQTSURLNotification = FourCharCode('url '); { QTSURLParams* }
  462. kQTSDurationNotification = FourCharCode('dura'); { QTSDurationAtom* }
  463. kQTSNewPresentationNotification = FourCharCode('nprs'); { QTSPresentation }
  464. kQTSPresentationGoneNotification = FourCharCode('xprs'); { QTSPresentation }
  465. kQTSPresentationDoneNotification = FourCharCode('pdon'); { NULL }
  466. kQTSBandwidthAlertNotification = FourCharCode('bwal'); { QTSBandwidthAlertParams* }
  467. kQTSAnnotationsChangedNotification = FourCharCode('meta'); { NULL }
  468. { flags for QTSErrorParams }
  469. const
  470. kQTSFatalErrorFlag = $00000001;
  471. type
  472. QTSErrorParamsPtr = ^QTSErrorParams;
  473. QTSErrorParams = record
  474. errorString: ConstCStringPtr;
  475. flags: SInt32;
  476. end;
  477. type
  478. QTSNewPresDetectedParamsPtr = ^QTSNewPresDetectedParams;
  479. QTSNewPresDetectedParams = record
  480. data: UnivPtr;
  481. end;
  482. type
  483. QTSNewStreamParamsPtr = ^QTSNewStreamParams;
  484. QTSNewStreamParams = record
  485. stream: QTSStream;
  486. end;
  487. type
  488. QTSStreamChangedParamsPtr = ^QTSStreamChangedParams;
  489. QTSStreamChangedParams = record
  490. stream: QTSStream;
  491. mediaComponent: ComponentInstance; { could be NULL }
  492. end;
  493. type
  494. QTSStreamGoneParamsPtr = ^QTSStreamGoneParams;
  495. QTSStreamGoneParams = record
  496. stream: QTSStream;
  497. end;
  498. type
  499. QTSStatusParamsPtr = ^QTSStatusParams;
  500. QTSStatusParams = record
  501. status: UInt32;
  502. statusString: ConstCStringPtr;
  503. detailedStatus: UInt32;
  504. detailedStatusString: ConstCStringPtr;
  505. end;
  506. type
  507. QTSInfoParamsPtr = ^QTSInfoParams;
  508. QTSInfoParams = record
  509. infoType: OSType;
  510. infoParams: UnivPtr;
  511. end;
  512. type
  513. QTSURLParamsPtr = ^QTSURLParams;
  514. QTSURLParams = record
  515. urlLength: UInt32;
  516. url: ConstCStringPtr;
  517. end;
  518. const
  519. kQTSBandwidthAlertNeedToStop = 1 shl 0;
  520. kQTSBandwidthAlertRestartAt = 1 shl 1;
  521. type
  522. QTSBandwidthAlertParamsPtr = ^QTSBandwidthAlertParams;
  523. QTSBandwidthAlertParams = record
  524. flags: SInt32;
  525. restartAt: TimeValue; { new field in QT 4.1}
  526. reserved: UnivPtr;
  527. end;
  528. {============================================================================
  529. Presentation
  530. ============================================================================}
  531. {-----------------------------------------
  532. Flags
  533. -----------------------------------------}
  534. { flags for NewPresentationFromData }
  535. const
  536. kQTSAutoModeFlag = $00000001;
  537. kQTSDontShowStatusFlag = $00000008;
  538. kQTSSendMediaFlag = $00010000;
  539. kQTSReceiveMediaFlag = $00020000;
  540. type
  541. QTSNewPresentationParamsPtr = ^QTSNewPresentationParams;
  542. QTSNewPresentationParams = record
  543. dataType: OSType;
  544. data: {const} UnivPtr;
  545. dataLength: UInt32;
  546. editList: QTSEditListHandle;
  547. flags: SInt32;
  548. timeScale: TimeScale_fix; { set to 0 for default timescale }
  549. mediaParams: QTSMediaParamsPtr;
  550. notificationProc: QTSNotificationUPP;
  551. notificationRefCon: UnivPtr;
  552. end;
  553. type
  554. QTSPresParamsPtr = ^QTSPresParams;
  555. QTSPresParams = record
  556. version: UInt32;
  557. editList: QTSEditListHandle;
  558. flags: SInt32;
  559. timeScale: TimeScale_fix; { set to 0 for default timescale }
  560. mediaParams: QTSMediaParamsPtr;
  561. notificationProc: QTSNotificationUPP;
  562. notificationRefCon: UnivPtr;
  563. end;
  564. const
  565. kQTSPresParamsVersion1 = 1;
  566. type
  567. QTSPresIdleParamsPtr = ^QTSPresIdleParams;
  568. QTSPresIdleParams = record
  569. stream: QTSStream;
  570. movieTimeToDisplay: TimeValue64;
  571. flagsIn: SInt32;
  572. flagsOut: SInt32;
  573. end;
  574. const
  575. kQTSExportFlag_ShowDialog = $00000001;
  576. const
  577. kQTSExportParamsVersion1 = 1;
  578. type
  579. QTSExportParamsPtr = ^QTSExportParams;
  580. QTSExportParams = record
  581. version: SInt32;
  582. exportType: OSType;
  583. exportExtraData: UnivPtr;
  584. destinationContainerType: OSType;
  585. destinationContainerData: UnivPtr;
  586. destinationContainerExtras: UnivPtr;
  587. flagsIn: SInt32;
  588. flagsOut: SInt32;
  589. filterProc: QTSModalFilterUPP;
  590. filterProcRefCon: UnivPtr;
  591. exportComponent: Component; { NULL unless you want to override }
  592. end;
  593. {-----------------------------------------
  594. Toolbox Init/Close
  595. -----------------------------------------}
  596. { all "apps" must call this }
  597. {
  598. * InitializeQTS()
  599. *
  600. * Availability:
  601. * Mac OS X: in version 10.0 and later in QuickTime.framework
  602. * CarbonLib: in CarbonLib 1.1 and later
  603. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  604. * Windows: in QTSClient.lib 4.0 and later
  605. }
  606. function InitializeQTS: OSErr; external name '_InitializeQTS';
  607. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  608. {
  609. * TerminateQTS()
  610. *
  611. * Availability:
  612. * Mac OS X: in version 10.0 and later in QuickTime.framework
  613. * CarbonLib: in CarbonLib 1.1 and later
  614. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  615. * Windows: in QTSClient.lib 4.0 and later
  616. }
  617. function TerminateQTS: OSErr; external name '_TerminateQTS';
  618. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  619. {-----------------------------------------
  620. Presentation Functions
  621. -----------------------------------------}
  622. {
  623. * QTSNewPresentation()
  624. *
  625. * Availability:
  626. * Mac OS X: in version 10.0 and later in QuickTime.framework
  627. * CarbonLib: in CarbonLib 1.1 and later
  628. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  629. * Windows: in QTSClient.lib 4.0 and later
  630. }
  631. function QTSNewPresentation( const (*var*) inParams: QTSNewPresentationParams; var outPresentation: QTSPresentation ): OSErr; external name '_QTSNewPresentation';
  632. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  633. {
  634. * QTSNewPresentationFromData()
  635. *
  636. * Availability:
  637. * Mac OS X: in version 10.0 and later in QuickTime.framework
  638. * CarbonLib: in CarbonLib 1.3 and later
  639. * Non-Carbon CFM: in QTStreamLib 5.0 and later
  640. * Windows: in QTSClient.lib 5.0 and later
  641. }
  642. function QTSNewPresentationFromData( inDataType: OSType; inData: {const} UnivPtr; (*const*) var inDataLength: SInt64; const (*var*) inPresParams: QTSPresParams; var outPresentation: QTSPresentation ): OSErr; external name '_QTSNewPresentationFromData';
  643. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  644. {
  645. * QTSNewPresentationFromFile()
  646. *
  647. * Availability:
  648. * Mac OS X: in version 10.0 and later in QuickTime.framework
  649. * CarbonLib: in CarbonLib 1.3 and later
  650. * Non-Carbon CFM: in QTStreamLib 5.0 and later
  651. * Windows: in QTSClient.lib 5.0 and later
  652. }
  653. function QTSNewPresentationFromFile( const (*var*) inFileSpec: FSSpec; const (*var*) inPresParams: QTSPresParams; var outPresentation: QTSPresentation ): OSErr; external name '_QTSNewPresentationFromFile';
  654. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  655. {
  656. * QTSNewPresentationFromDataRef()
  657. *
  658. * Availability:
  659. * Mac OS X: in version 10.0 and later in QuickTime.framework
  660. * CarbonLib: in CarbonLib 1.3 and later
  661. * Non-Carbon CFM: in QTStreamLib 5.0 and later
  662. * Windows: in QTSClient.lib 5.0 and later
  663. }
  664. function QTSNewPresentationFromDataRef( inDataRef: Handle; inDataRefType: OSType; const (*var*) inPresParams: QTSPresParams; var outPresentation: QTSPresentation ): OSErr; external name '_QTSNewPresentationFromDataRef';
  665. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  666. {
  667. * QTSDisposePresentation()
  668. *
  669. * Availability:
  670. * Mac OS X: in version 10.0 and later in QuickTime.framework
  671. * CarbonLib: in CarbonLib 1.1 and later
  672. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  673. * Windows: in QTSClient.lib 4.0 and later
  674. }
  675. function QTSDisposePresentation( inPresentation: QTSPresentation; inFlags: SInt32 ): OSErr; external name '_QTSDisposePresentation';
  676. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  677. {
  678. * QTSPresExport()
  679. *
  680. * Availability:
  681. * Mac OS X: in version 10.0 and later in QuickTime.framework
  682. * CarbonLib: in CarbonLib 1.3 and later
  683. * Non-Carbon CFM: in QTStreamLib 5.0 and later
  684. * Windows: in QTSClient.lib 5.0 and later
  685. }
  686. function QTSPresExport( inPresentation: QTSPresentation; inStream: QTSStream; var inExportParams: QTSExportParams ): OSErr; external name '_QTSPresExport';
  687. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  688. {
  689. * QTSPresIdle()
  690. *
  691. * Availability:
  692. * Mac OS X: in version 10.0 and later in QuickTime.framework
  693. * CarbonLib: in CarbonLib 1.1 and later
  694. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  695. * Windows: in QTSClient.lib 4.0 and later
  696. }
  697. procedure QTSPresIdle( inPresentation: QTSPresentation; var ioParams: QTSPresIdleParams ); external name '_QTSPresIdle';
  698. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  699. {
  700. * QTSPresInvalidateRegion()
  701. *
  702. * Availability:
  703. * Mac OS X: in version 10.0 and later in QuickTime.framework
  704. * CarbonLib: in CarbonLib 1.1 and later
  705. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  706. * Windows: in QTSClient.lib 4.0 and later
  707. }
  708. function QTSPresInvalidateRegion( inPresentation: QTSPresentation; inRegion: RgnHandle ): OSErr; external name '_QTSPresInvalidateRegion';
  709. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  710. {-----------------------------------------
  711. Presentation Configuration
  712. -----------------------------------------}
  713. {
  714. * QTSPresSetFlags()
  715. *
  716. * Availability:
  717. * Mac OS X: in version 10.0 and later in QuickTime.framework
  718. * CarbonLib: in CarbonLib 1.1 and later
  719. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  720. * Windows: in QTSClient.lib 4.0 and later
  721. }
  722. function QTSPresSetFlags( inPresentation: QTSPresentation; inFlags: SInt32; inFlagsMask: SInt32 ): OSErr; external name '_QTSPresSetFlags';
  723. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  724. {
  725. * QTSPresGetFlags()
  726. *
  727. * Availability:
  728. * Mac OS X: in version 10.0 and later in QuickTime.framework
  729. * CarbonLib: in CarbonLib 1.1 and later
  730. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  731. * Windows: in QTSClient.lib 4.0 and later
  732. }
  733. function QTSPresGetFlags( inPresentation: QTSPresentation; var outFlags: SInt32 ): OSErr; external name '_QTSPresGetFlags';
  734. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  735. {
  736. * QTSPresGetTimeBase()
  737. *
  738. * Availability:
  739. * Mac OS X: in version 10.0 and later in QuickTime.framework
  740. * CarbonLib: in CarbonLib 1.1 and later
  741. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  742. * Windows: in QTSClient.lib 4.0 and later
  743. }
  744. function QTSPresGetTimeBase( inPresentation: QTSPresentation; var outTimeBase: TimeBase ): OSErr; external name '_QTSPresGetTimeBase';
  745. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  746. {
  747. * QTSPresGetTimeScale()
  748. *
  749. * Availability:
  750. * Mac OS X: in version 10.0 and later in QuickTime.framework
  751. * CarbonLib: in CarbonLib 1.1 and later
  752. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  753. * Windows: in QTSClient.lib 4.0 and later
  754. }
  755. function QTSPresGetTimeScale( inPresentation: QTSPresentation; var outTimeScale: TimeScale ): OSErr; external name '_QTSPresGetTimeScale';
  756. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  757. {
  758. * QTSPresSetInfo()
  759. *
  760. * Availability:
  761. * Mac OS X: in version 10.0 and later in QuickTime.framework
  762. * CarbonLib: in CarbonLib 1.1 and later
  763. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  764. * Windows: in QTSClient.lib 4.0 and later
  765. }
  766. function QTSPresSetInfo( inPresentation: QTSPresentation; inStream: QTSStream; inSelector: OSType; ioParam: UnivPtr ): OSErr; external name '_QTSPresSetInfo';
  767. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  768. {
  769. * QTSPresGetInfo()
  770. *
  771. * Availability:
  772. * Mac OS X: in version 10.0 and later in QuickTime.framework
  773. * CarbonLib: in CarbonLib 1.1 and later
  774. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  775. * Windows: in QTSClient.lib 4.0 and later
  776. }
  777. function QTSPresGetInfo( inPresentation: QTSPresentation; inStream: QTSStream; inSelector: OSType; ioParam: UnivPtr ): OSErr; external name '_QTSPresGetInfo';
  778. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  779. {
  780. * QTSPresHasCharacteristic()
  781. *
  782. * Availability:
  783. * Mac OS X: in version 10.0 and later in QuickTime.framework
  784. * CarbonLib: in CarbonLib 1.1 and later
  785. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  786. * Windows: in QTSClient.lib 4.0 and later
  787. }
  788. function QTSPresHasCharacteristic( inPresentation: QTSPresentation; inStream: QTSStream; inCharacteristic: OSType; var outHasIt: Boolean ): OSErr; external name '_QTSPresHasCharacteristic';
  789. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  790. {
  791. * QTSPresSetNotificationProc()
  792. *
  793. * Availability:
  794. * Mac OS X: in version 10.0 and later in QuickTime.framework
  795. * CarbonLib: in CarbonLib 1.1 and later
  796. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  797. * Windows: in QTSClient.lib 4.0 and later
  798. }
  799. function QTSPresSetNotificationProc( inPresentation: QTSPresentation; inNotificationProc: QTSNotificationUPP; inRefCon: UnivPtr ): OSErr; external name '_QTSPresSetNotificationProc';
  800. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  801. {
  802. * QTSPresGetNotificationProc()
  803. *
  804. * Availability:
  805. * Mac OS X: in version 10.0 and later in QuickTime.framework
  806. * CarbonLib: in CarbonLib 1.1 and later
  807. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  808. * Windows: in QTSClient.lib 4.0 and later
  809. }
  810. function QTSPresGetNotificationProc( inPresentation: QTSPresentation; var outNotificationProc: QTSNotificationUPP; var outRefCon: UnivPtr ): OSErr; external name '_QTSPresGetNotificationProc';
  811. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  812. {-----------------------------------------
  813. Presentation Control
  814. -----------------------------------------}
  815. {
  816. * QTSPresPreview()
  817. *
  818. * Availability:
  819. * Mac OS X: in version 10.0 and later in QuickTime.framework
  820. * CarbonLib: in CarbonLib 1.3 and later
  821. * Non-Carbon CFM: in QTStreamLib 5.0 and later
  822. }
  823. function QTSPresPreview( inPresentation: QTSPresentation; inStream: QTSStream; (*const*) var inTimeValue: TimeValue64; inRate: Fixed; inFlags: SInt32 ): OSErr; external name '_QTSPresPreview';
  824. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  825. {
  826. * QTSPresPreroll()
  827. *
  828. * Availability:
  829. * Mac OS X: in version 10.0 and later in QuickTime.framework
  830. * CarbonLib: in CarbonLib 1.1 and later
  831. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  832. * Windows: in QTSClient.lib 4.0 and later
  833. }
  834. function QTSPresPreroll( inPresentation: QTSPresentation; inStream: QTSStream; inTimeValue: UInt32; inRate: Fixed; inFlags: SInt32 ): OSErr; external name '_QTSPresPreroll';
  835. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  836. {
  837. * QTSPresPreroll64()
  838. *
  839. * Availability:
  840. * Mac OS X: in version 10.0 and later in QuickTime.framework
  841. * CarbonLib: in CarbonLib 1.1 and later
  842. * Non-Carbon CFM: in QTStreamLib 4.1 and later
  843. * Windows: in QTSClient.lib 4.1 and later
  844. }
  845. function QTSPresPreroll64( inPresentation: QTSPresentation; inStream: QTSStream; (*const*) var inPrerollTime: TimeValue64; inRate: Fixed; inFlags: SInt32 ): OSErr; external name '_QTSPresPreroll64';
  846. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  847. {
  848. * QTSPresStart()
  849. *
  850. * Availability:
  851. * Mac OS X: in version 10.0 and later in QuickTime.framework
  852. * CarbonLib: in CarbonLib 1.1 and later
  853. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  854. * Windows: in QTSClient.lib 4.0 and later
  855. }
  856. function QTSPresStart( inPresentation: QTSPresentation; inStream: QTSStream; inFlags: SInt32 ): OSErr; external name '_QTSPresStart';
  857. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  858. {
  859. * QTSPresSkipTo()
  860. *
  861. * Availability:
  862. * Mac OS X: in version 10.0 and later in QuickTime.framework
  863. * CarbonLib: in CarbonLib 1.1 and later
  864. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  865. * Windows: in QTSClient.lib 4.0 and later
  866. }
  867. function QTSPresSkipTo( inPresentation: QTSPresentation; inTimeValue: UInt32 ): OSErr; external name '_QTSPresSkipTo';
  868. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  869. {
  870. * QTSPresSkipTo64()
  871. *
  872. * Availability:
  873. * Mac OS X: in version 10.0 and later in QuickTime.framework
  874. * CarbonLib: in CarbonLib 1.1 and later
  875. * Non-Carbon CFM: in QTStreamLib 4.1 and later
  876. * Windows: in QTSClient.lib 4.1 and later
  877. }
  878. function QTSPresSkipTo64( inPresentation: QTSPresentation; (*const*) var inTimeValue: TimeValue64 ): OSErr; external name '_QTSPresSkipTo64';
  879. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  880. {
  881. * QTSPresStop()
  882. *
  883. * Availability:
  884. * Mac OS X: in version 10.0 and later in QuickTime.framework
  885. * CarbonLib: in CarbonLib 1.1 and later
  886. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  887. * Windows: in QTSClient.lib 4.0 and later
  888. }
  889. function QTSPresStop( inPresentation: QTSPresentation; inStream: QTSStream; inFlags: SInt32 ): OSErr; external name '_QTSPresStop';
  890. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  891. {============================================================================
  892. Streams
  893. ============================================================================}
  894. {-----------------------------------------
  895. Stream Functions
  896. -----------------------------------------}
  897. {
  898. * QTSPresNewStream()
  899. *
  900. * Availability:
  901. * Mac OS X: in version 10.0 and later in QuickTime.framework
  902. * CarbonLib: in CarbonLib 1.1 and later
  903. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  904. * Windows: in QTSClient.lib 4.0 and later
  905. }
  906. function QTSPresNewStream( inPresentation: QTSPresentation; inDataType: OSType; inData: {const} UnivPtr; inDataLength: UInt32; inFlags: SInt32; var outStream: QTSStream ): OSErr; external name '_QTSPresNewStream';
  907. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  908. {
  909. * QTSDisposeStream()
  910. *
  911. * Availability:
  912. * Mac OS X: in version 10.0 and later in QuickTime.framework
  913. * CarbonLib: in CarbonLib 1.1 and later
  914. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  915. * Windows: in QTSClient.lib 4.0 and later
  916. }
  917. function QTSDisposeStream( inStream: QTSStream; inFlags: SInt32 ): OSErr; external name '_QTSDisposeStream';
  918. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  919. {
  920. * QTSPresGetNumStreams()
  921. *
  922. * Availability:
  923. * Mac OS X: in version 10.0 and later in QuickTime.framework
  924. * CarbonLib: in CarbonLib 1.1 and later
  925. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  926. * Windows: in QTSClient.lib 4.0 and later
  927. }
  928. function QTSPresGetNumStreams( inPresentation: QTSPresentation ): UInt32; external name '_QTSPresGetNumStreams';
  929. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  930. {
  931. * QTSPresGetIndStream()
  932. *
  933. * Availability:
  934. * Mac OS X: in version 10.0 and later in QuickTime.framework
  935. * CarbonLib: in CarbonLib 1.1 and later
  936. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  937. * Windows: in QTSClient.lib 4.0 and later
  938. }
  939. function QTSPresGetIndStream( inPresentation: QTSPresentation; inIndex: UInt32 ): QTSStream; external name '_QTSPresGetIndStream';
  940. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  941. {
  942. * QTSGetStreamPresentation()
  943. *
  944. * Availability:
  945. * Mac OS X: in version 10.0 and later in QuickTime.framework
  946. * CarbonLib: in CarbonLib 1.1 and later
  947. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  948. * Windows: in QTSClient.lib 4.0 and later
  949. }
  950. function QTSGetStreamPresentation( inStream: QTSStream ): QTSPresentation; external name '_QTSGetStreamPresentation';
  951. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  952. {
  953. * QTSPresSetPreferredRate()
  954. *
  955. * Availability:
  956. * Mac OS X: in version 10.0 and later in QuickTime.framework
  957. * CarbonLib: in CarbonLib 1.1 and later
  958. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  959. * Windows: in QTSClient.lib 4.0 and later
  960. }
  961. function QTSPresSetPreferredRate( inPresentation: QTSPresentation; inRate: Fixed; inFlags: SInt32 ): OSErr; external name '_QTSPresSetPreferredRate';
  962. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  963. {
  964. * QTSPresGetPreferredRate()
  965. *
  966. * Availability:
  967. * Mac OS X: in version 10.0 and later in QuickTime.framework
  968. * CarbonLib: in CarbonLib 1.1 and later
  969. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  970. * Windows: in QTSClient.lib 4.0 and later
  971. }
  972. function QTSPresGetPreferredRate( inPresentation: QTSPresentation; var outRate: Fixed ): OSErr; external name '_QTSPresGetPreferredRate';
  973. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  974. {
  975. * QTSPresSetEnable()
  976. *
  977. * Availability:
  978. * Mac OS X: in version 10.0 and later in QuickTime.framework
  979. * CarbonLib: in CarbonLib 1.1 and later
  980. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  981. * Windows: in QTSClient.lib 4.0 and later
  982. }
  983. function QTSPresSetEnable( inPresentation: QTSPresentation; inStream: QTSStream; inEnableMode: Boolean ): OSErr; external name '_QTSPresSetEnable';
  984. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  985. {
  986. * QTSPresGetEnable()
  987. *
  988. * Availability:
  989. * Mac OS X: in version 10.0 and later in QuickTime.framework
  990. * CarbonLib: in CarbonLib 1.1 and later
  991. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  992. * Windows: in QTSClient.lib 4.0 and later
  993. }
  994. function QTSPresGetEnable( inPresentation: QTSPresentation; inStream: QTSStream; var outEnableMode: Boolean ): OSErr; external name '_QTSPresGetEnable';
  995. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  996. {
  997. * QTSPresSetPresenting()
  998. *
  999. * Availability:
  1000. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1001. * CarbonLib: in CarbonLib 1.1 and later
  1002. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1003. * Windows: in QTSClient.lib 4.0 and later
  1004. }
  1005. function QTSPresSetPresenting( inPresentation: QTSPresentation; inStream: QTSStream; inPresentingMode: Boolean ): OSErr; external name '_QTSPresSetPresenting';
  1006. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1007. {
  1008. * QTSPresGetPresenting()
  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. }
  1016. function QTSPresGetPresenting( inPresentation: QTSPresentation; inStream: QTSStream; var outPresentingMode: Boolean ): OSErr; external name '_QTSPresGetPresenting';
  1017. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1018. {
  1019. * QTSPresSetActiveSegment()
  1020. *
  1021. * Availability:
  1022. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1023. * CarbonLib: in CarbonLib 1.1 and later
  1024. * Non-Carbon CFM: in QTStreamLib 4.1 and later
  1025. * Windows: in QTSClient.lib 4.1 and later
  1026. }
  1027. function QTSPresSetActiveSegment( inPresentation: QTSPresentation; inStream: QTSStream; (*const*) var inStartTime: TimeValue64; (*const*) var inDuration: TimeValue64 ): OSErr; external name '_QTSPresSetActiveSegment';
  1028. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1029. {
  1030. * QTSPresGetActiveSegment()
  1031. *
  1032. * Availability:
  1033. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1034. * CarbonLib: in CarbonLib 1.1 and later
  1035. * Non-Carbon CFM: in QTStreamLib 4.1 and later
  1036. * Windows: in QTSClient.lib 4.1 and later
  1037. }
  1038. function QTSPresGetActiveSegment( inPresentation: QTSPresentation; inStream: QTSStream; var outStartTime: TimeValue64; var outDuration: TimeValue64 ): OSErr; external name '_QTSPresGetActiveSegment';
  1039. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1040. {
  1041. * QTSPresSetPlayHints()
  1042. *
  1043. * Availability:
  1044. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1045. * CarbonLib: in CarbonLib 1.1 and later
  1046. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1047. * Windows: in QTSClient.lib 4.0 and later
  1048. }
  1049. function QTSPresSetPlayHints( inPresentation: QTSPresentation; inStream: QTSStream; inFlags: SInt32; inFlagsMask: SInt32 ): OSErr; external name '_QTSPresSetPlayHints';
  1050. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1051. {
  1052. * QTSPresGetPlayHints()
  1053. *
  1054. * Availability:
  1055. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1056. * CarbonLib: in CarbonLib 1.1 and later
  1057. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1058. * Windows: in QTSClient.lib 4.0 and later
  1059. }
  1060. function QTSPresGetPlayHints( inPresentation: QTSPresentation; inStream: QTSStream; var outFlags: SInt32 ): OSErr; external name '_QTSPresGetPlayHints';
  1061. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1062. {-----------------------------------------
  1063. Stream Spatial Functions
  1064. -----------------------------------------}
  1065. {
  1066. * QTSPresSetGWorld()
  1067. *
  1068. * Availability:
  1069. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1070. * CarbonLib: in CarbonLib 1.1 and later
  1071. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1072. * Windows: in QTSClient.lib 4.0 and later
  1073. }
  1074. function QTSPresSetGWorld( inPresentation: QTSPresentation; inStream: QTSStream; inGWorld: CGrafPtr; inGDHandle: GDHandle ): OSErr; external name '_QTSPresSetGWorld';
  1075. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1076. {
  1077. * QTSPresGetGWorld()
  1078. *
  1079. * Availability:
  1080. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1081. * CarbonLib: in CarbonLib 1.1 and later
  1082. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1083. * Windows: in QTSClient.lib 4.0 and later
  1084. }
  1085. function QTSPresGetGWorld( inPresentation: QTSPresentation; inStream: QTSStream; var outGWorld: CGrafPtr; var outGDHandle: GDHandle ): OSErr; external name '_QTSPresGetGWorld';
  1086. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1087. {
  1088. * QTSPresSetClip()
  1089. *
  1090. * Availability:
  1091. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1092. * CarbonLib: in CarbonLib 1.1 and later
  1093. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1094. * Windows: in QTSClient.lib 4.0 and later
  1095. }
  1096. function QTSPresSetClip( inPresentation: QTSPresentation; inStream: QTSStream; inClip: RgnHandle ): OSErr; external name '_QTSPresSetClip';
  1097. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1098. {
  1099. * QTSPresGetClip()
  1100. *
  1101. * Availability:
  1102. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1103. * CarbonLib: in CarbonLib 1.1 and later
  1104. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1105. * Windows: in QTSClient.lib 4.0 and later
  1106. }
  1107. function QTSPresGetClip( inPresentation: QTSPresentation; inStream: QTSStream; var outClip: RgnHandle ): OSErr; external name '_QTSPresGetClip';
  1108. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1109. {
  1110. * QTSPresSetMatrix()
  1111. *
  1112. * Availability:
  1113. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1114. * CarbonLib: in CarbonLib 1.1 and later
  1115. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1116. * Windows: in QTSClient.lib 4.0 and later
  1117. }
  1118. function QTSPresSetMatrix( inPresentation: QTSPresentation; inStream: QTSStream; const (*var*) inMatrix: MatrixRecord ): OSErr; external name '_QTSPresSetMatrix';
  1119. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1120. {
  1121. * QTSPresGetMatrix()
  1122. *
  1123. * Availability:
  1124. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1125. * CarbonLib: in CarbonLib 1.1 and later
  1126. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1127. * Windows: in QTSClient.lib 4.0 and later
  1128. }
  1129. function QTSPresGetMatrix( inPresentation: QTSPresentation; inStream: QTSStream; var outMatrix: MatrixRecord ): OSErr; external name '_QTSPresGetMatrix';
  1130. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1131. {
  1132. * QTSPresSetDimensions()
  1133. *
  1134. * Availability:
  1135. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1136. * CarbonLib: in CarbonLib 1.1 and later
  1137. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1138. * Windows: in QTSClient.lib 4.0 and later
  1139. }
  1140. function QTSPresSetDimensions( inPresentation: QTSPresentation; inStream: QTSStream; inWidth: Fixed; inHeight: Fixed ): OSErr; external name '_QTSPresSetDimensions';
  1141. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1142. {
  1143. * QTSPresGetDimensions()
  1144. *
  1145. * Availability:
  1146. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1147. * CarbonLib: in CarbonLib 1.1 and later
  1148. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1149. * Windows: in QTSClient.lib 4.0 and later
  1150. }
  1151. function QTSPresGetDimensions( inPresentation: QTSPresentation; inStream: QTSStream; var outWidth: Fixed; var outHeight: Fixed ): OSErr; external name '_QTSPresGetDimensions';
  1152. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1153. {
  1154. * QTSPresSetGraphicsMode()
  1155. *
  1156. * Availability:
  1157. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1158. * CarbonLib: in CarbonLib 1.1 and later
  1159. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1160. * Windows: in QTSClient.lib 4.0 and later
  1161. }
  1162. function QTSPresSetGraphicsMode( inPresentation: QTSPresentation; inStream: QTSStream; inMode: SInt16; const (*var*) inOpColor: RGBColor ): OSErr; external name '_QTSPresSetGraphicsMode';
  1163. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1164. {
  1165. * QTSPresGetGraphicsMode()
  1166. *
  1167. * Availability:
  1168. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1169. * CarbonLib: in CarbonLib 1.1 and later
  1170. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1171. * Windows: in QTSClient.lib 4.0 and later
  1172. }
  1173. function QTSPresGetGraphicsMode( inPresentation: QTSPresentation; inStream: QTSStream; var outMode: SInt16; var outOpColor: RGBColor ): OSErr; external name '_QTSPresGetGraphicsMode';
  1174. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1175. {
  1176. * QTSPresGetPicture()
  1177. *
  1178. * Availability:
  1179. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1180. * CarbonLib: in CarbonLib 1.1 and later
  1181. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1182. * Windows: in QTSClient.lib 4.0 and later
  1183. }
  1184. function QTSPresGetPicture( inPresentation: QTSPresentation; inStream: QTSStream; var outPicture: PicHandle ): OSErr; external name '_QTSPresGetPicture';
  1185. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1186. {
  1187. * QTSPresSetVisualContext()
  1188. *
  1189. * Availability:
  1190. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1191. * CarbonLib: in CarbonLib 1.1 and later
  1192. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1193. * Windows: in QTSClient.lib 4.0 and later
  1194. }
  1195. function QTSPresSetVisualContext( inPresentation: QTSPresentation; inStream: QTSStream; inVisualContext: QTVisualContextRef ): OSErr; external name '_QTSPresSetVisualContext';
  1196. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1197. {
  1198. * QTSPresGetVisualContext()
  1199. *
  1200. * Availability:
  1201. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1202. * CarbonLib: in CarbonLib 1.1 and later
  1203. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1204. * Windows: in QTSClient.lib 4.0 and later
  1205. }
  1206. function QTSPresGetVisualContext( inPresentation: QTSPresentation; inStream: QTSStream; var outVisualContext: QTVisualContextRef ): OSErr; external name '_QTSPresGetVisualContext';
  1207. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1208. {-----------------------------------------
  1209. Stream Sound Functions
  1210. -----------------------------------------}
  1211. {
  1212. * QTSPresSetVolumes()
  1213. *
  1214. * Availability:
  1215. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1216. * CarbonLib: in CarbonLib 1.1 and later
  1217. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1218. * Windows: in QTSClient.lib 4.0 and later
  1219. }
  1220. function QTSPresSetVolumes( inPresentation: QTSPresentation; inStream: QTSStream; inLeftVolume: SInt16; inRightVolume: SInt16 ): OSErr; external name '_QTSPresSetVolumes';
  1221. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1222. {
  1223. * QTSPresGetVolumes()
  1224. *
  1225. * Availability:
  1226. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1227. * CarbonLib: in CarbonLib 1.1 and later
  1228. * Non-Carbon CFM: in QTStreamLib 4.0 and later
  1229. * Windows: in QTSClient.lib 4.0 and later
  1230. }
  1231. function QTSPresGetVolumes( inPresentation: QTSPresentation; inStream: QTSStream; var outLeftVolume: SInt16; var outRightVolume: SInt16 ): OSErr; external name '_QTSPresGetVolumes';
  1232. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1233. {-----------------------------------------
  1234. Sourcing
  1235. -----------------------------------------}
  1236. {
  1237. * QTSPresGetSettingsAsText()
  1238. *
  1239. * Availability:
  1240. * Mac OS X: in version 10.1 and later in QuickTime.framework
  1241. * CarbonLib: in CarbonLib 1.6 and later
  1242. * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
  1243. }
  1244. function QTSPresGetSettingsAsText( inPresentation: QTSPresentation; inStream: QTSStream; inFlags: SInt32; inSettingsType: OSType; var outText: Handle; inPanelFilterProc: QTSPanelFilterUPP; inPanelFilterProcRefCon: UnivPtr ): OSErr; external name '_QTSPresGetSettingsAsText';
  1245. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  1246. {
  1247. * QTSPresSettingsDialog()
  1248. *
  1249. * Availability:
  1250. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1251. * CarbonLib: in CarbonLib 1.3 and later
  1252. * Non-Carbon CFM: in QTStreamLib 5.0 and later
  1253. }
  1254. function QTSPresSettingsDialog( inPresentation: QTSPresentation; inStream: QTSStream; inFlags: SInt32; inFilterProc: QTSModalFilterUPP; inFilterProcRefCon: UnivPtr ): OSErr; external name '_QTSPresSettingsDialog';
  1255. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1256. {
  1257. * QTSPresSettingsDialogWithFilters()
  1258. *
  1259. * Availability:
  1260. * Mac OS X: in version 10.1 and later in QuickTime.framework
  1261. * CarbonLib: in CarbonLib 1.6 and later
  1262. * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
  1263. }
  1264. function QTSPresSettingsDialog…