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

Method on_audio_ready

native/android/src/lib.rs:488–502  ·  view source on GitHub ↗
(&mut self, _stream: &mut dyn AudioOutputStreamSafe, frames: &mut [(f32, f32)])

Source from the content-addressed store, hash-verified

486 type FrameType = (f32, Stereo);
487
488 fn on_audio_ready(&mut self, _stream: &mut dyn AudioOutputStreamSafe, frames: &mut [(f32, f32)]) -> DataCallbackResult {
489 // Convert frame tuples to interleaved slice
490 let len = frames.len() * 2;
491 let ptr = frames.as_mut_ptr() as *mut f32;
492 let interleaved = unsafe { std::slice::from_raw_parts_mut(ptr, len) };
493 for s in interleaved.iter_mut() { *s = 0.0; }
494 unsafe {
495 ENGINE.get_mut().map(|eng| { eng.audio.mix_output(interleaved); });
496 }
497 if AUDIO_RUNNING.load(Ordering::SeqCst) {
498 DataCallbackResult::Continue
499 } else {
500 DataCallbackResult::Stop
501 }
502 }
503 }
504
505 let mut stream = AudioStreamBuilder::default()

Callers

nothing calls this directly

Calls 3

iter_mutMethod · 0.80
get_mutMethod · 0.80
mix_outputMethod · 0.80

Tested by

no test coverage detected