pub trait Resampler: Sized {
// Required methods
fn new(
channels: usize,
in_rate: usize,
out_rate: usize,
quality: usize,
) -> Result<Self, Error>;
fn set_rate(&mut self, in_rate: usize, out_rate: usize) -> Result<(), Error>;
fn get_rate(&self) -> (usize, usize);
fn get_ratio(&self) -> (usize, usize);
fn process_float(
&mut self,
index: usize,
input: &[f32],
output: &mut [f32],
) -> Result<(usize, usize), Error>;
fn skip_zeros(&mut self);
fn reset(&mut self);
fn get_input_latency(&self) -> usize;
fn get_output_latency(&self) -> usize;
fn set_quality(&mut self, quality: usize) -> Result<(), Error>;
fn get_quality(&self) -> usize;
}
Required Methods§
fn new( channels: usize, in_rate: usize, out_rate: usize, quality: usize, ) -> Result<Self, Error>
fn set_rate(&mut self, in_rate: usize, out_rate: usize) -> Result<(), Error>
fn get_rate(&self) -> (usize, usize)
fn get_ratio(&self) -> (usize, usize)
fn process_float( &mut self, index: usize, input: &[f32], output: &mut [f32], ) -> Result<(usize, usize), Error>
fn skip_zeros(&mut self)
fn reset(&mut self)
fn get_input_latency(&self) -> usize
fn get_output_latency(&self) -> usize
fn set_quality(&mut self, quality: usize) -> Result<(), Error>
fn get_quality(&self) -> usize
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.