pub struct StreamSynchronizer { /* private fields */ }Expand description
Multi-stream synchronizer
Implementations§
Source§impl StreamSynchronizer
impl StreamSynchronizer
Sourcepub fn new(config: SyncConfig) -> Self
pub fn new(config: SyncConfig) -> Self
Create new synchronizer with configuration
Sourcepub fn add_stream(&mut self, stream_id: String)
pub fn add_stream(&mut self, stream_id: String)
Add a stream to synchronize
Sourcepub fn push(&mut self, sample: TimestampedSample) -> IoResult<()>
pub fn push(&mut self, sample: TimestampedSample) -> IoResult<()>
Push sample from a stream
Sourcepub fn try_sync(&mut self) -> IoResult<HashMap<String, Array1<f32>>>
pub fn try_sync(&mut self) -> IoResult<HashMap<String, Array1<f32>>>
Try to get synchronized samples from all streams Returns HashMap of stream_id -> interpolated sample
Sourcepub fn buffer_len(&self, stream_id: &str) -> usize
pub fn buffer_len(&self, stream_id: &str) -> usize
Get number of buffered samples for a stream
Sourcepub fn stream_ids(&self) -> Vec<String>
pub fn stream_ids(&self) -> Vec<String>
Get registered stream IDs
Trait Implementations§
Auto Trait Implementations§
impl Freeze for StreamSynchronizer
impl RefUnwindSafe for StreamSynchronizer
impl Send for StreamSynchronizer
impl Sync for StreamSynchronizer
impl Unpin for StreamSynchronizer
impl UnwindSafe for StreamSynchronizer
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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