pub trait ElementaryStream {
    // Required methods
    fn format_details(&self, version_ordinal: u64) -> FormatDetails;
    fn is_access_units(&self) -> bool;
    fn stream<'a>(
        &'a self
    ) -> Box<dyn Iterator<Item = ElementaryStreamChunk> + 'a>;

    // Provided methods
    fn capped_chunks<'a>(
        &'a self,
        max_size: usize
    ) -> Box<dyn Iterator<Item = ElementaryStreamChunk> + 'a> { ... }
    fn video_frame_count(&self) -> usize { ... }
}

Required Methods§

source

fn format_details(&self, version_ordinal: u64) -> FormatDetails

source

fn is_access_units(&self) -> bool

Whether all chunks in the elementary stream will be marked with access unit boundaries. These are units for stream processors (e.g. for H264 decoder, NALs). When input is not in access units, the server must parse and/or buffer the bitstream.

source

fn stream<'a>(&'a self) -> Box<dyn Iterator<Item = ElementaryStreamChunk> + 'a>

Provided Methods§

source

fn capped_chunks<'a>( &'a self, max_size: usize ) -> Box<dyn Iterator<Item = ElementaryStreamChunk> + 'a>

Returns the elementary stream with chunks capped at a given size. Chunks bigger than the cap will be divided into multiple chunks. Order is retained. Timestamps are not extrapolated. Access unit boundaries are corrected.

source

fn video_frame_count(&self) -> usize

Implementors§

source§

impl<S, I> ElementaryStream for TimestampedStream<S, I>
where S: ElementaryStream, I: Iterator<Item = u64> + Clone,