pub struct DspChain { /* private fields */ }Expand description
The metered float chain. Build with stage, hand to the
existing mic_processor(..) seam — it implements InputAudioProcessor.
Implementations§
Source§impl DspChain
impl DspChain
Sourcepub fn new(sample_rate: u32) -> Self
pub fn new(sample_rate: u32) -> Self
An empty chain at sample_rate (an empty chain is bit-transparent).
Sourcepub fn stage(self, stage: impl DspStage + 'static) -> Self
pub fn stage(self, stage: impl DspStage + 'static) -> Self
Append a stage (chain order is processing order).
Sourcepub fn metrics(&mut self) -> ChainMetrics
pub fn metrics(&mut self) -> ChainMetrics
Shared live-metrics handle for this chain.
Sourcepub fn total_latency_samples(&self) -> usize
pub fn total_latency_samples(&self) -> usize
Total declared group delay across all stages, in samples.
Trait Implementations§
Source§impl InputAudioProcessor for DspChain
impl InputAudioProcessor for DspChain
Source§fn process_frame(&mut self, frame: &mut Vec<i16>)
fn process_frame(&mut self, frame: &mut Vec<i16>)
Process one PCM16 frame in place (the frame may change length).
Auto Trait Implementations§
impl Freeze for DspChain
impl !RefUnwindSafe for DspChain
impl Send for DspChain
impl !Sync for DspChain
impl Unpin for DspChain
impl !UnwindSafe for DspChain
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
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].