pub unsafe extern "C-unwind" fn AudioConverterFillComplexBufferRealtimeSafe(
in_audio_converter: *mut OpaqueAudioConverter,
in_input_data_proc: Option<unsafe extern "C-unwind" fn(*mut OpaqueAudioConverter, NonNull<u32>, NonNull<AudioBufferList>, *mut *mut AudioStreamPacketDescription, *mut c_void) -> i32>,
in_input_data_proc_user_data: *mut c_void,
io_output_data_packet_size: NonNull<u32>,
out_output_data: NonNull<AudioBufferList>,
out_packet_description: *mut AudioStreamPacketDescription,
) -> i32Expand description
Identical to AudioConverterFillComplexBuffer, with the addition of a realtime-safety guarantee.
Conversions involving only PCM formats – interleaving, deinterleaving, channel count changes,
sample rate conversions – are realtime-safe. Such conversions may use this API in order to
obtain compiler checks involving the CA_REALTIME_API attributes.
At runtime, this function returns kAudioConverterErr_OperationNotSupported if the conversion
requires non-realtime-safe functionality.
§Safety
in_audio_convertermust be a valid pointer.in_input_data_procmust be implemented correctly.in_input_data_proc_user_datamust be a valid pointer or null.io_output_data_packet_sizemust be a valid pointer.out_output_datamust be a valid pointer.out_packet_descriptionmust be a valid pointer or null.