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.
Auto Trait Implementations§
impl<'a> Freeze for AudioContext<'a>
impl<'a> RefUnwindSafe for AudioContext<'a>
impl<'a> !Send for AudioContext<'a>
impl<'a> !Sync for AudioContext<'a>
impl<'a> Unpin for AudioContext<'a>
impl<'a> UnwindSafe for AudioContext<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more