pub trait AudioProcessor {
// Required methods
fn prepare(&mut self, spec: AudioSpec) -> Result<(), EngineError>;
fn process(&mut self, block: &mut AudioBlock<'_>) -> Result<(), EngineError>;
fn reset(&mut self);
// Provided methods
fn latency_samples(&self) -> usize { ... }
fn flush(
&mut self,
_block: &mut AudioBlock<'_>,
) -> Result<usize, EngineError> { ... }
}Expand description
Kontrak processor tanpa I/O atau alokasi di jalur pemrosesan.
Required Methods§
fn prepare(&mut self, spec: AudioSpec) -> Result<(), EngineError>
fn process(&mut self, block: &mut AudioBlock<'_>) -> Result<(), EngineError>
fn reset(&mut self)
Provided Methods§
fn latency_samples(&self) -> usize
Sourcefn flush(&mut self, _block: &mut AudioBlock<'_>) -> Result<usize, EngineError>
fn flush(&mut self, _block: &mut AudioBlock<'_>) -> Result<usize, EngineError>
Mengeluarkan sisa sampel internal (misal tail lookahead limiter) setelah input habis.
Mengembalikan jumlah frame valid yang ditulis ke dalam block.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".