(
_in_ref_con: *mut c_void,
_io_action_flags: *mut u32,
_in_time_stamp: *const c_void,
_in_bus_number: u32,
in_number_frames: u32,
io_data: *mut AudioBufferList,
)
| 2611 | static mut AUDIO_UNIT: Option<AudioUnitInstance> = None; |
| 2612 | |
| 2613 | unsafe extern "C" fn audio_render_callback( |
| 2614 | _in_ref_con: *mut c_void, |
| 2615 | _io_action_flags: *mut u32, |
| 2616 | _in_time_stamp: *const c_void, |
| 2617 | _in_bus_number: u32, |
| 2618 | in_number_frames: u32, |
| 2619 | io_data: *mut AudioBufferList, |
| 2620 | ) -> OSStatus { |
| 2621 | let buffer_list = &mut *io_data; |
| 2622 | let buffer = &mut buffer_list.buffers[0]; |
| 2623 | let num_samples = in_number_frames as usize * 2; |
| 2624 | let output = std::slice::from_raw_parts_mut(buffer.data as *mut f32, num_samples); |
| 2625 | ENGINE.get_mut().map(|eng| { eng.audio.mix_output(output); }); |
| 2626 | 0 |
| 2627 | } |
| 2628 | |
| 2629 | #[no_mangle] |
| 2630 | pub extern "C" fn bloom_init_audio() { |
nothing calls this directly
no test coverage detected