pub struct Output<M, D> { /* private fields */ }Expand description
Active output driver. Any send failure or unwind makes further sends fail.
finish consumes the driver; dropping it never retries effects.
Implementations§
Source§impl<M: Muxer, D: Destination> Output<M, D>
impl<M: Muxer, D: Destination> Output<M, D>
Sourcepub fn with_container_timing(
mux: M,
destination: D,
tracks: &[TrackInfo],
pulse: Option<&dyn Pulse>,
) -> Result<Self, Failure>
pub fn with_container_timing( mux: M, destination: D, tracks: &[TrackInfo], pulse: Option<&dyn Pulse>, ) -> Result<Self, Failure>
Explicitly allow the muxer’s ordinary timing behavior, then publish.
This does not guarantee exact packet durations. Prefer Output::new.
Sourcepub fn new(
mux: M,
destination: D,
tracks: &[TrackInfo],
pulse: Option<&dyn Pulse>,
) -> Result<Self, Failure>
pub fn new( mux: M, destination: D, tracks: &[TrackInfo], pulse: Option<&dyn Pulse>, ) -> Result<Self, Failure>
Require exact packet timing from the actual muxer, or fail before writing.
Sourcepub fn facts(&self) -> DestinationFacts
pub fn facts(&self) -> DestinationFacts
Facts of the retained container/writer, unchanged by publication. Progress and partial effects are reported separately through stats/errors.
Sourcepub const fn stats(&self) -> &Stats
pub const fn stats(&self) -> &Stats
Confirmed progress so far, including before a terminal failure.
Auto Trait Implementations§
impl<M, D> Freeze for Output<M, D>
impl<M, D> RefUnwindSafe for Output<M, D>where
D: RefUnwindSafe,
M: RefUnwindSafe,
impl<M, D> Send for Output<M, D>
impl<M, D> Sync for Output<M, D>
impl<M, D> Unpin for Output<M, D>
impl<M, D> UnsafeUnpin for Output<M, D>where
D: UnsafeUnpin,
M: UnsafeUnpin,
impl<M, D> UnwindSafe for Output<M, D>where
D: UnwindSafe,
M: UnwindSafe,
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