Function VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler

Source
pub unsafe extern "C-unwind" fn VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler(
    session: &VTDecompressionSession,
    sample_buffer: &CMSampleBuffer,
    decode_flags: VTDecodeFrameFlags,
    info_flags_out: *mut VTDecodeInfoFlags,
    multi_image_capable_output_handler: VTDecompressionMultiImageCapableOutputHandler,
) -> i32
Available on crate features VTErrors and block2 and objc2-core-media and objc2-core-video and VTDecompressionSession only.
Expand description

Decompresses a video frame.

Cannot be called with a session created with a VTDecompressionOutputCallbackRecord. If the VTDecompressionSessionDecodeFrameWithOutputHandler call returns an error, the block will not be called.

Parameter session: The decompression session.

Parameter sampleBuffer: A CMSampleBuffer containing one or more video frames.

Parameter decodeFlags: A bitfield of directives to the decompression session and decoder. The kVTDecodeFrame_EnableAsynchronousDecompression bit indicates whether the video decoder may decompress the frame asynchronously. The kVTDecodeFrame_EnableTemporalProcessing bit indicates whether the decoder may delay calls to the output callback so as to enable processing in temporal (display) order. If both flags are clear, the decompression shall complete and your output callback function will be called before VTDecompressionSessionDecodeFrame returns. If either flag is set, VTDecompressionSessionDecodeFrame may return before the output callback function is called.

Parameter infoFlagsOut: Points to a VTDecodeInfoFlags to receive information about the decode operation. The kVTDecodeInfo_Asynchronous bit may be set if the decode is (or was) running asynchronously. The kVTDecodeInfo_FrameDropped bit may be set if the frame was dropped (synchronously). Pass NULL if you do not want to receive this information.

Parameter multiImageCapableHandler: The block to be called when decoding the frame is completed. If the VTDecompressionSessionDecodeFrameWithMultiImageCapableOutputHandler call returns an error, the block will not be called.