CMBufferQueue.inc 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. { Parsed from CoreMedia.framework CMBufferQueue.h }
  2. {$ifndef CMBUFFERQUEUE_H}
  3. {$ifdef TYPES}
  4. const
  5. kCMBufferQueueError_AllocationFailed = -12760;
  6. kCMBufferQueueError_RequiredParameterMissing = -12761;
  7. kCMBufferQueueError_InvalidCMBufferCallbacksStruct = -12762;
  8. kCMBufferQueueError_EnqueueAfterEndOfData = -12763;
  9. kCMBufferQueueError_QueueIsFull = -12764;
  10. kCMBufferQueueError_BadTriggerDuration = -12765;
  11. kCMBufferQueueError_CannotModifyQueueFromTriggerCallback = -12766;
  12. kCMBufferQueueError_InvalidTriggerCondition = -12767;
  13. kCMBufferQueueError_InvalidTriggerToken = -12768;
  14. kCMBufferQueueError_InvalidBuffer = -12769;
  15. type
  16. CMBufferQueueRef = OpaqueType;
  17. CMBufferRef = CFTypeRef;
  18. CMBufferRefPtr = ^CMBufferRef;
  19. CMBufferGetTimeCallback = function (buf: CMBufferRef; refcon: pointer): CMTime; cdecl;
  20. CMBufferGetBooleanCallback = function (buf: CMBufferRef; refcon: pointer): Boolean; cdecl;
  21. CMBufferCompareCallback = function (buf1: CMBufferRef; buf2: CMBufferRef; refcon: pointer): CFComparisonResult; cdecl;
  22. CMBufferGetSizeCallback = function (buf: CMBufferRef; refcon: pointer): size_t; cdecl;
  23. type
  24. CMBufferCallbacks = record
  25. version: cuint32;
  26. refcon: pointer;
  27. getDecodeTimeStamp: CMBufferGetTimeCallback;
  28. getPresentationTimeStamp: CMBufferGetTimeCallback;
  29. getDuration: CMBufferGetTimeCallback;
  30. isDataReady: CMBufferGetBooleanCallback;
  31. compare: CMBufferCompareCallback;
  32. dataBecameReadyNotification: CFStringRef;
  33. getSize: CMBufferGetSizeCallback;
  34. end;
  35. type
  36. CMBufferCallbacksPtr = ^CMBufferCallbacks;
  37. {$endif}
  38. {$ifdef FUNCTIONS}
  39. function CMBufferQueueGetCallbacksForUnsortedSampleBuffers: CMBufferCallbacksPtr; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  40. function CMBufferQueueGetCallbacksForSampleBuffersSortedByOutputPTS: CMBufferCallbacksPtr; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_3 }
  41. function CMBufferQueueCreate(allocator: CFAllocatorRef; capacity: CMItemCount; callbacks: CMBufferCallbacksPtr; queueOut: CMBufferQueueRef): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  42. function CMBufferQueueGetTypeID: CFTypeID; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  43. function CMBufferQueueEnqueue(queue: CMBufferQueueRef; buf: CMBufferRef): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  44. function CMBufferQueueDequeueAndRetain(queue: CMBufferQueueRef): CMBufferRef; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  45. function CMBufferQueueDequeueIfDataReadyAndRetain(queue: CMBufferQueueRef): CMBufferRef; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  46. function CMBufferQueueGetHead(queue: CMBufferQueueRef): CMBufferRef; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  47. function CMBufferQueueIsEmpty(queue: CMBufferQueueRef): Boolean; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  48. function CMBufferQueueMarkEndOfData(queue: CMBufferQueueRef): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  49. function CMBufferQueueContainsEndOfData(queue: CMBufferQueueRef): Boolean; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  50. function CMBufferQueueIsAtEndOfData(queue: CMBufferQueueRef): Boolean; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  51. function CMBufferQueueReset(queue: CMBufferQueueRef): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  52. function CMBufferQueueGetBufferCount(queue: CMBufferQueueRef): CMItemCount; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  53. function CMBufferQueueGetDuration(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  54. function CMBufferQueueGetMinDecodeTimeStamp(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  55. function CMBufferQueueGetFirstDecodeTimeStamp(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  56. function CMBufferQueueGetMinPresentationTimeStamp(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  57. function CMBufferQueueGetFirstPresentationTimeStamp(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  58. function CMBufferQueueGetMaxPresentationTimeStamp(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  59. function CMBufferQueueGetEndPresentationTimeStamp(queue: CMBufferQueueRef): CMTime; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  60. function CMBufferQueueGetTotalSize(queue: CMBufferQueueRef): size_t; cdecl; external; { available starting in __MAC_10_10,__IPHONE_7_1 }
  61. {$endif}
  62. {$ifdef TYPES}
  63. type
  64. CMBufferQueueTriggerToken = OpaqueType;
  65. CMBufferQueueTriggerCallback = procedure (triggerRefcon: pointer; triggerToken: CMBufferQueueTriggerToken); cdecl;
  66. const
  67. kCMBufferQueueTrigger_WhenDurationBecomesLessThan = 1;
  68. kCMBufferQueueTrigger_WhenDurationBecomesLessThanOrEqualTo = 2;
  69. kCMBufferQueueTrigger_WhenDurationBecomesGreaterThan = 3;
  70. kCMBufferQueueTrigger_WhenDurationBecomesGreaterThanOrEqualTo = 4;
  71. kCMBufferQueueTrigger_WhenMinPresentationTimeStampChanges = 5;
  72. kCMBufferQueueTrigger_WhenMaxPresentationTimeStampChanges = 6;
  73. kCMBufferQueueTrigger_WhenDataBecomesReady = 7;
  74. kCMBufferQueueTrigger_WhenEndOfDataReached = 8;
  75. kCMBufferQueueTrigger_WhenReset = 9;
  76. kCMBufferQueueTrigger_WhenBufferCountBecomesLessThan = 10;
  77. kCMBufferQueueTrigger_WhenBufferCountBecomesGreaterThan = 11;
  78. type
  79. CMBufferQueueTriggerCondition = cint32;
  80. CMBufferQueueTriggerConditionPtr = ^CMBufferQueueTriggerCondition;
  81. {$endif}
  82. {$ifdef FUNCTIONS}
  83. function CMBufferQueueInstallTrigger(queue: CMBufferQueueRef; triggerCallback: CMBufferQueueTriggerCallback; triggerRefcon: pointer; triggerCondition: CMBufferQueueTriggerCondition; triggerTime: CMTime; triggerTokenOut: CMBufferQueueTriggerToken): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  84. function CMBufferQueueInstallTriggerWithIntegerThreshold(queue: CMBufferQueueRef; triggerCallback: CMBufferQueueTriggerCallback; triggerRefcon: pointer; triggerCondition: CMBufferQueueTriggerCondition; triggerThreshold: CMItemCount; triggerTokenOut: CMBufferQueueTriggerToken): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  85. function CMBufferQueueRemoveTrigger(queue: CMBufferQueueRef; triggerToken: CMBufferQueueTriggerToken): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  86. function CMBufferQueueTestTrigger(queue: CMBufferQueueRef; triggerToken: CMBufferQueueTriggerToken): Boolean; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  87. {$endif}
  88. {$ifdef TYPES}
  89. type
  90. CMBufferValidationCallback = function (queue: CMBufferQueueRef; buf: CMBufferRef; validationRefCon: pointer): OSStatus; cdecl;
  91. {$endif}
  92. {$ifdef FUNCTIONS}
  93. function CMBufferQueueSetValidationCallback(queue: CMBufferQueueRef; validationCallback: CMBufferValidationCallback; validationRefCon: pointer): OSStatus; cdecl; external; { available starting in __MAC_10_7,__IPHONE_4_0 }
  94. {$endif}
  95. {$endif}