Struct rust_libretro::contexts::AudioContext
source · pub struct AudioContext<'a> {
pub(crate) environment_callback: &'a retro_environment_t,
pub(crate) interfaces: Arc<RwLock<InterfaceList>>,
pub(crate) audio_sample_batch_callback: &'a retro_audio_sample_batch_t,
pub(crate) audio_sample_callback: &'a retro_audio_sample_t,
}
Expand description
Functions that are safe to be called in Core::on_write_audio
.
For a description of the callbacks see CoreWrapper
.
Fields§
§environment_callback: &'a retro_environment_t
§interfaces: Arc<RwLock<InterfaceList>>
§audio_sample_batch_callback: &'a retro_audio_sample_batch_t
§audio_sample_callback: &'a retro_audio_sample_t
Implementations§
source§impl AudioContext<'_>
impl AudioContext<'_>
sourcepub fn batch_audio_samples(&self, samples: &[i16])
pub fn batch_audio_samples(&self, samples: &[i16])
Renders multiple audio frames in one go if AudioContext::audio_sample_batch_callback
has been set.
One frame is defined as a sample of left and right channels, interleaved.
I.e. let buf: [u16; 4] = [ l, r, l, r ];
would be 2 frames.
Only one of the audio callbacks must ever be used.
sourcepub fn queue_audio_sample(&self, left: i16, right: i16)
pub fn queue_audio_sample(&self, left: i16, right: i16)
Renders a single audio frame if AudioContext::audio_sample_callback
has been set.
Should only be used if implementation generates a single sample at a time.
Format is signed 16-bit native endian.
Only one of the audio callbacks must ever be used.
Trait Implementations§
source§impl<'a> From<&AudioContext<'a>> for GenericContext<'a>
impl<'a> From<&AudioContext<'a>> for GenericContext<'a>
source§fn from(other: &AudioContext<'a>) -> GenericContext<'a>
fn from(other: &AudioContext<'a>) -> GenericContext<'a>
Converts to this type from the input type.
source§impl<'a> From<&mut AudioContext<'a>> for GenericContext<'a>
impl<'a> From<&mut AudioContext<'a>> for GenericContext<'a>
source§fn from(other: &mut AudioContext<'a>) -> GenericContext<'a>
fn from(other: &mut AudioContext<'a>) -> GenericContext<'a>
Converts to this type from the input type.
source§impl<'a> From<&mut RunContext<'a>> for AudioContext<'a>
impl<'a> From<&mut RunContext<'a>> for AudioContext<'a>
source§fn from(other: &mut RunContext<'a>) -> AudioContext<'a>
fn from(other: &mut RunContext<'a>) -> AudioContext<'a>
Converts to this type from the input type.