pub type VTDecompressionOutputMultiImageCallback = Option<unsafe extern "C-unwind" fn(*mut c_void, *mut c_void, i32, VTDecodeInfoFlags, *mut CMTaggedBufferGroup, CMTime, CMTime)>;VTDecompressionSession and VTErrors and objc2-core-media only.Expand description
Prototype for callback invoked when multi-image frame decompression is complete.
When you create a decompression session, you pass in a callback function to be called for decompressed frames. This function will not necessarily be called in display order.
Parameter decompressionOutputMultiImageRefCon: The callback’s reference value, copied from the outputMultiImageRefcon passed to
VTDecompressionSessionSetMultiImageCallback.
Parameter sourceFrameRefCon: The frame’s reference value, copied from the sourceFrameRefCon argument to
VTDecompressionSessionDecodeFrame.
Parameter status: noErr if decompression was successful; an error code if decompression was not successful.
Parameter infoFlags: Contains information about the decode operation.
The kVTDecodeInfo_Asynchronous bit may be set if the decode ran asynchronously.
The kVTDecodeInfo_FrameDropped bit may be set if the frame was dropped.
If the kVTDecodeInfo_ImageBufferModifiable bit is set, it is safe for the client to modify the imageBuffer.
Parameter taggedBufferGroup: Contains the decompressed frame’s multiple images, if decompression was successful; otherwise, NULL.
IMPORTANT: The video decompressor may still be referencing the pixelBuffers returned in this
callback if the kVTDecodeInfo_ImageBufferModifiable flag is not set. Unless this flag
is set, it is not safe to modify the returned pixelBuffers.
Parameter presentationTimeStamp: The frame’s presentation timestamp, which will be determined by calling
CMSampleBufferGetOutputPresentationTimeStamp; kCMTimeInvalid if not available.
Parameter presentationDuration: The frame’s presentation duration, which will be determined by calling
CMSampleBufferGetOutputDuration; kCMTimeInvalid if not available.
See also Apple’s documentation
Aliased Type§
pub enum VTDecompressionOutputMultiImageCallback {
None,
Some(unsafe extern "C-unwind" fn(*mut c_void, *mut c_void, i32, VTDecodeInfoFlags, *mut CMTaggedBufferGroup, CMTime, CMTime)),
}