pub struct Resampler { /* private fields */ }Available on crate feature
resampler only.Expand description
Streaming resampler that converts interleaved audio between two rates.
Implementations§
Source§impl Resampler
impl Resampler
Sourcepub fn new(
in_rate: u32,
out_rate: u32,
channels: usize,
quality: Quality,
) -> Result<Self, ResampleError>
pub fn new( in_rate: u32, out_rate: u32, channels: usize, quality: Quality, ) -> Result<Self, ResampleError>
Build a resampler converting in_rate → out_rate for the
given channel count.
§Errors
Returns ResampleError::Construction if rubato can’t be
constructed (extreme rate ratios, zero channels, etc.).
Sourcepub fn process_interleaved(
&mut self,
input: &[f32],
) -> Result<Vec<f32>, ResampleError>
pub fn process_interleaved( &mut self, input: &[f32], ) -> Result<Vec<f32>, ResampleError>
Resample one chunk of interleaved audio.
Returns the resampled output as interleaved f32. Latency: the
resampler buffers up to chunk_size input frames; trailing
samples that don’t fill a chunk remain in self and emerge on
the next call.
Sourcepub fn input_rate(&self) -> u32
pub fn input_rate(&self) -> u32
Configured input rate, in Hz.
Sourcepub fn output_rate(&self) -> u32
pub fn output_rate(&self) -> u32
Configured output rate, in Hz.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Resampler
impl !RefUnwindSafe for Resampler
impl Send for Resampler
impl !Sync for Resampler
impl Unpin for Resampler
impl UnsafeUnpin for Resampler
impl !UnwindSafe for Resampler
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