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§
fn format_details(&self, version_ordinal: u64) -> FormatDetails
Sourcefn is_access_units(&self) -> bool
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.
fn stream<'a>(&'a self) -> Box<dyn Iterator<Item = ElementaryStreamChunk> + 'a>
Provided Methods§
Sourcefn capped_chunks<'a>(
&'a self,
max_size: usize,
) -> Box<dyn Iterator<Item = ElementaryStreamChunk> + 'a>
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.