AVCaptureOutput.inc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. { Parsed from AVFoundation.framework AVCaptureOutput.h }
  2. { Types from AVCaptureAudioDataOutput }
  3. {$ifdef TYPES}
  4. {$endif}
  5. { Types from AVCaptureFileOutput }
  6. {$ifdef TYPES}
  7. {$endif}
  8. { Types from AVCaptureMovieFileOutput }
  9. {$ifdef TYPES}
  10. {$endif}
  11. { Types from AVCaptureFileOutputRecordingDelegateProtocol }
  12. {$ifdef TYPES}
  13. {$endif}
  14. {$ifdef TYPES}
  15. type
  16. AVCaptureOutputPtr = ^AVCaptureOutput;
  17. AVCaptureVideoDataOutputPtr = ^AVCaptureVideoDataOutput;
  18. AVCaptureAudioDataOutputPtr = ^AVCaptureAudioDataOutput;
  19. AVCaptureFileOutputPtr = ^AVCaptureFileOutput;
  20. AVCaptureMovieFileOutputPtr = ^AVCaptureMovieFileOutput;
  21. AVCaptureAudioFileOutputPtr = ^AVCaptureAudioFileOutput;
  22. AVCaptureStillImageOutputPtr = ^AVCaptureStillImageOutput;
  23. AVCaptureAudioPreviewOutputPtr = ^AVCaptureAudioPreviewOutput;
  24. AVCaptureMetadataOutputPtr = ^AVCaptureMetadataOutput;
  25. AVCaptureVideoDataOutputSampleBufferDelegateProtocolPtr = ^AVCaptureVideoDataOutputSampleBufferDelegateProtocol;
  26. AVCaptureAudioDataOutputSampleBufferDelegateProtocolPtr = ^AVCaptureAudioDataOutputSampleBufferDelegateProtocol;
  27. AVCaptureFileOutputRecordingDelegateProtocolPtr = ^AVCaptureFileOutputRecordingDelegateProtocol;
  28. AVCaptureFileOutputDelegateProtocolPtr = ^AVCaptureFileOutputDelegateProtocol;
  29. AVCaptureMetadataOutputObjectsDelegateProtocolPtr = ^AVCaptureMetadataOutputObjectsDelegateProtocol;
  30. {$endif}
  31. {$ifdef CLASSES}
  32. type
  33. AVCaptureOutput = objcclass external (NSObject)
  34. private
  35. _outputInternal: AVCaptureOutputInternal;
  36. public
  37. function connections: NSArray; message 'connections';
  38. function connectionWithMediaType (mediaType: NSString): AVCaptureConnection; message 'connectionWithMediaType:'; { available in 10_7, 5_0 }
  39. function transformedMetadataObjectForMetadataObject_connection (metadataObject: AVMetadataObject; connection: AVCaptureConnection): AVMetadataObject; message 'transformedMetadataObjectForMetadataObject:connection:'; { available in 6_0 }
  40. end;
  41. type
  42. AVCaptureVideoDataOutput = objcclass external (AVCaptureOutput)
  43. private
  44. _internal: AVCaptureVideoDataOutputInternal;
  45. public
  46. procedure setSampleBufferDelegate_queue (sampleBufferDelegate: AVCaptureVideoDataOutputSampleBufferDelegateProtocol; sampleBufferCallbackQueue: dispatch_queue_t); message 'setSampleBufferDelegate:queue:';
  47. function sampleBufferDelegate: AVCaptureVideoDataOutputSampleBufferDelegateProtocol; message 'sampleBufferDelegate';
  48. function sampleBufferCallbackQueue: dispatch_queue_t; message 'sampleBufferCallbackQueue';
  49. procedure setVideoSettings(newValue: NSDictionary); message 'setVideoSettings:';
  50. function videoSettings: NSDictionary; message 'videoSettings';
  51. function availableVideoCVPixelFormatTypes: NSArray; message 'availableVideoCVPixelFormatTypes';
  52. function availableVideoCodecTypes: NSArray; message 'availableVideoCodecTypes';
  53. procedure setMinFrameDuration(newValue: CMTime); message 'setMinFrameDuration:';
  54. function minFrameDuration: CMTime; message 'minFrameDuration';
  55. procedure setAlwaysDiscardsLateVideoFrames(newValue: ObjCBOOL); message 'setAlwaysDiscardsLateVideoFrames:';
  56. function alwaysDiscardsLateVideoFrames: ObjCBOOL; message 'alwaysDiscardsLateVideoFrames';
  57. end;
  58. {$endif}
  59. {$ifdef PROTOCOLS}
  60. type
  61. AVCaptureVideoDataOutputSampleBufferDelegateProtocol = objcprotocol external name 'AVCaptureVideoDataOutputSampleBufferDelegate' (NSObjectProtocol)
  62. optional
  63. procedure captureOutput_didOutputSampleBuffer_fromConnection (captureOutput: AVCaptureOutput; sampleBuffer: CMSampleBufferRef; connection: AVCaptureConnection); message 'captureOutput:didOutputSampleBuffer:fromConnection:';
  64. procedure captureOutput_didDropSampleBuffer_fromConnection (captureOutput: AVCaptureOutput; sampleBuffer: CMSampleBufferRef; connection: AVCaptureConnection); message 'captureOutput:didDropSampleBuffer:fromConnection:'; { available in 10_7, 6_0 }
  65. end;
  66. {$endif}
  67. {$ifdef CLASSES}
  68. type
  69. AVCaptureAudioDataOutput = objcclass external (AVCaptureOutput)
  70. private
  71. _internal: AVCaptureAudioDataOutputInternal;
  72. public
  73. procedure setSampleBufferDelegate_queue (sampleBufferDelegate: AVCaptureAudioDataOutputSampleBufferDelegateProtocol; sampleBufferCallbackQueue: dispatch_queue_t); message 'setSampleBufferDelegate:queue:';
  74. function sampleBufferDelegate: AVCaptureAudioDataOutputSampleBufferDelegateProtocol; message 'sampleBufferDelegate';
  75. function sampleBufferCallbackQueue: dispatch_queue_t; message 'sampleBufferCallbackQueue';
  76. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  77. procedure setAudioSettings(newValue: NSDictionary); message 'setAudioSettings:';
  78. function audioSettings: NSDictionary; message 'audioSettings';
  79. {$endif}
  80. end;
  81. {$endif}
  82. {$ifdef PROTOCOLS}
  83. type
  84. AVCaptureAudioDataOutputSampleBufferDelegateProtocol = objcprotocol external name 'AVCaptureAudioDataOutputSampleBufferDelegate' (NSObjectProtocol)
  85. optional
  86. procedure captureOutput_didOutputSampleBuffer_fromConnection (captureOutput: AVCaptureOutput; sampleBuffer: CMSampleBufferRef; connection: AVCaptureConnection); message 'captureOutput:didOutputSampleBuffer:fromConnection:';
  87. end;
  88. {$endif}
  89. {$ifdef CLASSES}
  90. type
  91. AVCaptureFileOutput = objcclass external (AVCaptureOutput)
  92. private
  93. _fileOutputInternal: AVCaptureFileOutputInternal;
  94. public
  95. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  96. procedure setDelegate(newValue: AVCaptureFileOutputDelegateProtocol); message 'setDelegate:';
  97. function delegate: AVCaptureFileOutputDelegateProtocol; message 'delegate';
  98. {$endif}
  99. function outputFileURL: NSURL; message 'outputFileURL';
  100. procedure startRecordingToOutputFileURL_recordingDelegate (outputFileURL_: NSURL; delegate_: AVCaptureFileOutputRecordingDelegateProtocol); message 'startRecordingToOutputFileURL:recordingDelegate:';
  101. procedure stopRecording; message 'stopRecording';
  102. function isRecording: ObjCBOOL; message 'isRecording';
  103. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  104. function isRecordingPaused: ObjCBOOL; message 'isRecordingPaused';
  105. procedure pauseRecording; message 'pauseRecording'; { available in 10_7, NA }
  106. procedure resumeRecording; message 'resumeRecording'; { available in 10_7, NA }
  107. {$endif}
  108. function recordedDuration: CMTime; message 'recordedDuration';
  109. function recordedFileSize: cint64; message 'recordedFileSize';
  110. procedure setMaxRecordedDuration(newValue: CMTime); message 'setMaxRecordedDuration:';
  111. function maxRecordedDuration: CMTime; message 'maxRecordedDuration';
  112. procedure setMaxRecordedFileSize(newValue: cint64); message 'setMaxRecordedFileSize:';
  113. function maxRecordedFileSize: cint64; message 'maxRecordedFileSize';
  114. procedure setMinFreeDiskSpaceLimit(newValue: cint64); message 'setMinFreeDiskSpaceLimit:';
  115. function minFreeDiskSpaceLimit: cint64; message 'minFreeDiskSpaceLimit';
  116. end;
  117. {$endif}
  118. {$ifdef PROTOCOLS}
  119. type
  120. AVCaptureFileOutputRecordingDelegateProtocol = objcprotocol external name 'AVCaptureFileOutputRecordingDelegate' (NSObjectProtocol)
  121. optional
  122. procedure captureOutput_didStartRecordingToOutputFileAtURL_fromConnections (captureOutput: AVCaptureFileOutput; fileURL: NSURL; connections: NSArray); message 'captureOutput:didStartRecordingToOutputFileAtURL:fromConnections:';
  123. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  124. procedure captureOutput_didPauseRecordingToOutputFileAtURL_fromConnections (captureOutput: AVCaptureFileOutput; fileURL: NSURL; connections: NSArray); message 'captureOutput:didPauseRecordingToOutputFileAtURL:fromConnections:'; { available in 10_7, NA }
  125. procedure captureOutput_didResumeRecordingToOutputFileAtURL_fromConnections (captureOutput: AVCaptureFileOutput; fileURL: NSURL; connections: NSArray); message 'captureOutput:didResumeRecordingToOutputFileAtURL:fromConnections:'; { available in 10_7, NA }
  126. procedure captureOutput_willFinishRecordingToOutputFileAtURL_fromConnections_error (captureOutput: AVCaptureFileOutput; fileURL: NSURL; connections: NSArray; error: NSError); message 'captureOutput:willFinishRecordingToOutputFileAtURL:fromConnections:error:'; { available in 10_7, NA }
  127. {$endif}
  128. required
  129. procedure captureOutput_didFinishRecordingToOutputFileAtURL_fromConnections_error (captureOutput: AVCaptureFileOutput; outputFileURL: NSURL; connections: NSArray; error: NSError); message 'captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:';
  130. end;
  131. {$endif}
  132. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  133. {$ifdef PROTOCOLS}
  134. type
  135. AVCaptureFileOutputDelegateProtocol = objcprotocol external name 'AVCaptureFileOutputDelegate' (NSObjectProtocol)
  136. required
  137. function captureOutputShouldProvideSampleAccurateRecordingStart (captureOutput: AVCaptureOutput): ObjCBOOL; message 'captureOutputShouldProvideSampleAccurateRecordingStart:'; { available in 10_8, NA }
  138. optional
  139. procedure captureOutput_didOutputSampleBuffer_fromConnection (captureOutput: AVCaptureFileOutput; sampleBuffer: CMSampleBufferRef; connection: AVCaptureConnection); message 'captureOutput:didOutputSampleBuffer:fromConnection:'; { available in 10_7, NA }
  140. end;
  141. {$endif}
  142. {$endif}
  143. {$ifdef CLASSES}
  144. type
  145. AVCaptureMovieFileOutput = objcclass external (AVCaptureFileOutput)
  146. private
  147. _internal: AVCaptureMovieFileOutputInternal;
  148. public
  149. procedure setMovieFragmentInterval(newValue: CMTime); message 'setMovieFragmentInterval:';
  150. function movieFragmentInterval: CMTime; message 'movieFragmentInterval';
  151. procedure setMetadata(newValue: NSArray); message 'setMetadata:';
  152. function metadata: NSArray; message 'metadata';
  153. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  154. function outputSettingsForConnection (connection: AVCaptureConnection): NSDictionary; message 'outputSettingsForConnection:'; { available in 10_7, NA }
  155. procedure setOutputSettings_forConnection (outputSettings: NSDictionary; connection: AVCaptureConnection); message 'setOutputSettings:forConnection:'; { available in 10_7, NA }
  156. {$endif}
  157. end;
  158. {$endif}
  159. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  160. {$ifdef CLASSES}
  161. type
  162. AVCaptureAudioFileOutput = objcclass external (AVCaptureFileOutput)
  163. private
  164. _internal: AVCaptureAudioFileOutputInternal;
  165. public
  166. class function availableOutputFileTypes: NSArray; message 'availableOutputFileTypes';
  167. procedure startRecordingToOutputFileURL_outputFileType_recordingDelegate (outputFileURL_: NSURL; fileType: NSString; delegate_: AVCaptureFileOutputRecordingDelegateProtocol); message 'startRecordingToOutputFileURL:outputFileType:recordingDelegate:';
  168. procedure setMetadata(newValue: NSArray); message 'setMetadata:';
  169. function metadata: NSArray; message 'metadata';
  170. procedure setAudioSettings(newValue: NSDictionary); message 'setAudioSettings:';
  171. function audioSettings: NSDictionary; message 'audioSettings';
  172. end;
  173. {$endif}
  174. {$endif}
  175. {$ifdef CLASSES}
  176. type
  177. AVCaptureStillImageOutput = objcclass external (AVCaptureOutput)
  178. private
  179. _internal: AVCaptureStillImageOutputInternal;
  180. public
  181. procedure setOutputSettings(newValue: NSDictionary); message 'setOutputSettings:';
  182. function outputSettings: NSDictionary; message 'outputSettings';
  183. function availableImageDataCVPixelFormatTypes: NSArray; message 'availableImageDataCVPixelFormatTypes';
  184. function availableImageDataCodecTypes: NSArray; message 'availableImageDataCodecTypes';
  185. function isCapturingStillImage: ObjCBOOL; message 'isCapturingStillImage';
  186. procedure captureStillImageAsynchronouslyFromConnection_completionHandler (connection: AVCaptureConnection; handler: OpaqueCBlock); message 'captureStillImageAsynchronouslyFromConnection:completionHandler:';
  187. class function jpegStillImageNSDataRepresentation (jpegSampleBuffer: CMSampleBufferRef): NSData; message 'jpegStillImageNSDataRepresentation:';
  188. end;
  189. {$endif}
  190. {$if (defined(TARGET_OS_MAC) and not (defined(TARGET_OS_EMBEDDED) or defined(TARGET_OS_IPHONE)))}
  191. {$ifdef CLASSES}
  192. type
  193. AVCaptureAudioPreviewOutput = objcclass external (AVCaptureOutput)
  194. private
  195. _internal: AVCaptureAudioPreviewOutputInternal;
  196. public
  197. procedure setOutputDeviceUniqueID(newValue: NSString); message 'setOutputDeviceUniqueID:';
  198. function outputDeviceUniqueID: NSString; message 'outputDeviceUniqueID';
  199. procedure setVolume(newValue: single); message 'setVolume:';
  200. function volume: single; message 'volume';
  201. end;
  202. {$endif}
  203. {$endif}
  204. {$ifdef CLASSES}
  205. type
  206. AVCaptureMetadataOutput = objcclass external (AVCaptureOutput)
  207. private
  208. _internal: AVCaptureMetadataOutputInternal;
  209. public
  210. procedure setMetadataObjectsDelegate_queue (objectsDelegate: AVCaptureMetadataOutputObjectsDelegateProtocol; objectsCallbackQueue: dispatch_queue_t); message 'setMetadataObjectsDelegate:queue:';
  211. function metadataObjectsDelegate: AVCaptureMetadataOutputObjectsDelegateProtocol; message 'metadataObjectsDelegate';
  212. function metadataObjectsCallbackQueue: dispatch_queue_t; message 'metadataObjectsCallbackQueue';
  213. function availableMetadataObjectTypes: NSArray; message 'availableMetadataObjectTypes';
  214. procedure setMetadataObjectTypes(newValue: NSArray); message 'setMetadataObjectTypes:';
  215. function metadataObjectTypes: NSArray; message 'metadataObjectTypes';
  216. end;
  217. {$endif}
  218. {$ifdef PROTOCOLS}
  219. type
  220. AVCaptureMetadataOutputObjectsDelegateProtocol = objcprotocol external name 'AVCaptureMetadataOutputObjectsDelegate' (NSObjectProtocol)
  221. optional
  222. procedure captureOutput_didOutputMetadataObjects_fromConnection (captureOutput: AVCaptureOutput; metadataObjects: NSArray; connection: AVCaptureConnection); message 'captureOutput:didOutputMetadataObjects:fromConnection:';
  223. end;
  224. {$endif}