MCPcopy Create free account
hub / github.com/Bloom-Engine/engine / audio_render_callback

Function audio_render_callback

native/macos/src/lib.rs:223–244  ·  view source on GitHub ↗
(
    _in_ref_con: *mut std::ffi::c_void,
    _io_action_flags: *mut u32,
    _in_time_stamp: *const std::ffi::c_void,
    _in_bus_number: u32,
    in_number_frames: u32,
    io_data: *mut AudioBuffer

Source from the content-addressed store, hash-verified

221unsafe impl Sync for AudioUnitInstance {}
222
223unsafe extern "C" fn audio_render_callback(
224 _in_ref_con: *mut std::ffi::c_void,
225 _io_action_flags: *mut u32,
226 _in_time_stamp: *const std::ffi::c_void,
227 _in_bus_number: u32,
228 in_number_frames: u32,
229 io_data: *mut AudioBufferList,
230) -> OSStatus {
231 let buffer_list = &mut *io_data;
232 let buffer = &mut buffer_list.buffers[0];
233 let num_samples = in_number_frames as usize * 2; // stereo
234 let output = std::slice::from_raw_parts_mut(
235 buffer.data as *mut f32,
236 num_samples,
237 );
238
239 ENGINE.get_mut().map(|eng| {
240 eng.audio.mix_output(output);
241 });
242
243 0 // noErr
244}
245
246// ============================================================
247// FFI entry points

Callers

nothing calls this directly

Calls 2

get_mutMethod · 0.80
mix_outputMethod · 0.80

Tested by

no test coverage detected