pub struct JitterConfig {
pub sample_rate: u32,
pub min_depth_samples: usize,
pub max_depth_samples: usize,
pub jitter_alpha: f64,
pub target_jitter_multiple: f64,
}Expand description
Configuration for the jitter buffer.
Fields§
§sample_rate: u32Sample rate in Hz (e.g., 24000 for Gemini output).
min_depth_samples: usizeMinimum buffer depth in samples before playback starts.
max_depth_samples: usizeMaximum buffer depth in samples (overflow drops oldest).
jitter_alpha: f64EWMA smoothing factor for jitter estimation (0.0–1.0). Lower = smoother, higher = more responsive.
target_jitter_multiple: f64Multiplier for jitter estimate to compute adaptive min depth.
Implementations§
Source§impl JitterConfig
impl JitterConfig
Sourcepub fn for_sample_rate(sample_rate: u32) -> JitterConfig
pub fn for_sample_rate(sample_rate: u32) -> JitterConfig
Create a config for a given sample rate with sensible defaults.
Trait Implementations§
Source§impl Clone for JitterConfig
impl Clone for JitterConfig
Source§fn clone(&self) -> JitterConfig
fn clone(&self) -> JitterConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JitterConfig
impl Debug for JitterConfig
Source§impl Default for JitterConfig
impl Default for JitterConfig
Source§fn default() -> JitterConfig
fn default() -> JitterConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for JitterConfig
impl RefUnwindSafe for JitterConfig
impl Send for JitterConfig
impl Sync for JitterConfig
impl Unpin for JitterConfig
impl UnwindSafe for JitterConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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].