AVVideoCompositing.inc 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. { Parsed from AVFoundation.framework AVVideoCompositing.h }
  2. {$ifdef TYPES}
  3. type
  4. AVVideoCompositionRenderContextPtr = ^AVVideoCompositionRenderContext;
  5. AVAsynchronousVideoCompositionRequestPtr = ^AVAsynchronousVideoCompositionRequest;
  6. AVVideoCompositingProtocolPtr = ^AVVideoCompositingProtocol;
  7. AVVideoCompositionInstructionProtocolPtr = ^AVVideoCompositionInstructionProtocol;
  8. {$endif}
  9. {$ifdef TYPES}
  10. type
  11. AVPixelAspectRatio = record
  12. horizontalSpacing: NSInteger;
  13. verticalSpacing: NSInteger;
  14. end;
  15. type
  16. AVPixelAspectRatioPtr = ^AVPixelAspectRatio;
  17. type
  18. AVEdgeWidths = record
  19. left: CGFloat;
  20. top: CGFloat;
  21. right: CGFloat;
  22. bottom: CGFloat;
  23. end;
  24. type
  25. AVEdgeWidthsPtr = ^AVEdgeWidths;
  26. {$endif}
  27. {$ifdef CLASSES}
  28. type
  29. AVVideoCompositionRenderContext = objcclass external (NSObject)
  30. private
  31. _internal: AVVideoCompositionRenderContextInternal;
  32. public
  33. function size: CGSize; message 'size';
  34. function renderTransform: CGAffineTransform; message 'renderTransform';
  35. function renderScale: single; message 'renderScale';
  36. function pixelAspectRatio: AVPixelAspectRatio; message 'pixelAspectRatio';
  37. function edgeWidths: AVEdgeWidths; message 'edgeWidths';
  38. function highQualityRendering: ObjCBOOL; message 'highQualityRendering';
  39. function videoComposition: AVVideoComposition; message 'videoComposition';
  40. function newPixelBuffer: CVPixelBufferRef; message 'newPixelBuffer';
  41. end;
  42. {$endif}
  43. {$ifdef PROTOCOLS}
  44. type
  45. AVVideoCompositingProtocol = objcprotocol external name 'AVVideoCompositing' (NSObjectProtocol)
  46. required
  47. function sourcePixelBufferAttributes: NSDictionary; message 'sourcePixelBufferAttributes';
  48. function requiredPixelBufferAttributesForRenderContext: NSDictionary; message 'requiredPixelBufferAttributesForRenderContext';
  49. procedure renderContextChanged (newRenderContext: AVVideoCompositionRenderContext); message 'renderContextChanged:';
  50. procedure startVideoCompositionRequest (asyncVideoCompositionRequest: AVAsynchronousVideoCompositionRequest); message 'startVideoCompositionRequest:';
  51. optional
  52. procedure cancelAllPendingVideoCompositionRequests; message 'cancelAllPendingVideoCompositionRequests';
  53. end;
  54. {$endif}
  55. {$ifdef CLASSES}
  56. type
  57. AVAsynchronousVideoCompositionRequest = objcclass external (NSObject, NSCopyingProtocol)
  58. private
  59. _internal: AVAsynchronousVideoCompositionRequestInternal;
  60. public
  61. function renderContext: AVVideoCompositionRenderContext; message 'renderContext';
  62. function compositionTime: CMTime; message 'compositionTime';
  63. function sourceTrackIDs: NSArray; message 'sourceTrackIDs';
  64. function videoCompositionInstruction: AVVideoCompositionInstructionProtocol; message 'videoCompositionInstruction';
  65. function sourceFrameByTrackID (trackID: CMPersistentTrackID): CVPixelBufferRef; message 'sourceFrameByTrackID:';
  66. procedure finishWithComposedVideoFrame (composedVideoFrame: CVPixelBufferRef); message 'finishWithComposedVideoFrame:';
  67. procedure finishWithError (error: NSError); message 'finishWithError:';
  68. procedure finishCancelledRequest; message 'finishCancelledRequest';
  69. { Adopted protocols }
  70. function copyWithZone (zone: NSZonePtr): id; message 'copyWithZone:';
  71. end;
  72. {$endif}
  73. {$ifdef PROTOCOLS}
  74. type
  75. AVVideoCompositionInstructionProtocol = objcprotocol external name 'AVVideoCompositionInstruction' (NSObjectProtocol)
  76. required
  77. function timeRange: CMTimeRange; message 'timeRange';
  78. function enablePostProcessing: ObjCBOOL; message 'enablePostProcessing';
  79. function containsTweening: ObjCBOOL; message 'containsTweening';
  80. function requiredSourceTrackIDs: NSArray; message 'requiredSourceTrackIDs';
  81. function passthroughTrackID: CMPersistentTrackID; message 'passthroughTrackID';
  82. end;
  83. {$endif}