pub struct PartialWindowPolicy {
pub min_partial_samples: usize,
pub window_samples: usize,
pub interval_nanos: u64,
pub min_rms_bits: u32,
}Expand description
Policy aligned with common hold-to-talk UX.
Fields§
§min_partial_samples: usizeMinimum samples before a partial is worth running (~1 s default).
window_samples: usizeMax samples included in a partial slice (~15 s default).
interval_nanos: u64Suggested spacing between partial attempts (nanoseconds).
min_rms_bits: u32RMS below this → skip partial (near-silence).
Implementations§
Source§impl PartialWindowPolicy
impl PartialWindowPolicy
pub fn min_rms(&self) -> f32
pub fn with_min_rms(self, rms: f32) -> Self
pub fn min_partial_secs(&self) -> f64
pub fn window_secs(&self) -> f64
Sourcepub fn can_run_partial(&self, sample_count: usize) -> bool
pub fn can_run_partial(&self, sample_count: usize) -> bool
Enough audio accumulated for a partial attempt?
Sourcepub fn slice_for_partial<'a>(&self, samples: &'a [f32]) -> &'a [f32]
pub fn slice_for_partial<'a>(&self, samples: &'a [f32]) -> &'a [f32]
Most recent window_samples (or all if shorter).
Sourcepub fn passes_energy_gate(&self, samples: &[f32]) -> bool
pub fn passes_energy_gate(&self, samples: &[f32]) -> bool
Energy gate: skip near-silent buffers.
Sourcepub fn should_run_partial(&self, samples: &[f32]) -> bool
pub fn should_run_partial(&self, samples: &[f32]) -> bool
Combined: enough samples + energy.
Trait Implementations§
Source§impl Clone for PartialWindowPolicy
impl Clone for PartialWindowPolicy
Source§fn clone(&self) -> PartialWindowPolicy
fn clone(&self) -> PartialWindowPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PartialWindowPolicy
Source§impl Debug for PartialWindowPolicy
impl Debug for PartialWindowPolicy
impl Eq for PartialWindowPolicy
Source§impl PartialEq for PartialWindowPolicy
impl PartialEq for PartialWindowPolicy
impl StructuralPartialEq for PartialWindowPolicy
Auto Trait Implementations§
impl Freeze for PartialWindowPolicy
impl RefUnwindSafe for PartialWindowPolicy
impl Send for PartialWindowPolicy
impl Sync for PartialWindowPolicy
impl Unpin for PartialWindowPolicy
impl UnsafeUnpin for PartialWindowPolicy
impl UnwindSafe for PartialWindowPolicy
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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