AudioConverterFillComplexBufferRealtimeSafe

Function AudioConverterFillComplexBufferRealtimeSafe 

Source
pub unsafe extern "C-unwind" fn AudioConverterFillComplexBufferRealtimeSafe(
    in_audio_converter: AudioConverterRef,
    in_input_data_proc: AudioConverterComplexInputDataProcRealtimeSafe,
    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,
) -> i32
Available on crate features AudioConverter and objc2-core-audio-types only.
Expand 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_converter must be a valid pointer.
  • in_input_data_proc must be implemented correctly.
  • in_input_data_proc_user_data must be a valid pointer or null.
  • io_output_data_packet_size must be a valid pointer.
  • out_output_data must be a valid pointer.
  • out_packet_description must be a valid pointer or null.