pub struct AviStreamingDemuxer { /* private fields */ }Expand description
Streaming AVI demuxer. Owns the input bytes and walks the movi
LIST(s) one chunk at a time. Two backends:
- Legacy single-movi cursor walk (
Backend::Cursor): a stack of (pos, end) frames over a singleLIST movi.recsub-LISTs push a new frame; we pop on EOF to resume the parent. - OpenDML index walk (
Backend::OpenDml): a precomputed list of(absolute byte offset, size)sample chunks assembled from the stream’sindxsuperindex + eachix##sub-index.next_video_sampleadvancescursorand readsdata[offset..offset+size]. The streaming impl never holds more than the current sample’s bytes regardless of backend.
Trait Implementations§
Source§impl StreamingDemuxer for AviStreamingDemuxer
impl StreamingDemuxer for AviStreamingDemuxer
Source§fn header(&self) -> &DemuxHeader
fn header(&self) -> &DemuxHeader
Header info parsed from the container header. Cheap to call —
returns a borrow of the cached
DemuxHeader populated at
construction time.Source§fn next_video_sample(&mut self) -> Result<Option<Sample>>
fn next_video_sample(&mut self) -> Result<Option<Sample>>
Pull the next video sample. Returns
Ok(None) at EOF.
Allocates a fresh Vec per sample; nothing is retained
internally beyond the reader’s per-format cursor state.Source§fn audio(&self) -> Option<&AudioTrack>
fn audio(&self) -> Option<&AudioTrack>
Audio is a single buffered slab populated at construction time
(Squad-18/23/27 passthrough pattern). Streaming audio is out of
scope for this sprint per the pinned design.
Auto Trait Implementations§
impl Freeze for AviStreamingDemuxer
impl RefUnwindSafe for AviStreamingDemuxer
impl Send for AviStreamingDemuxer
impl Sync for AviStreamingDemuxer
impl Unpin for AviStreamingDemuxer
impl UnsafeUnpin for AviStreamingDemuxer
impl UnwindSafe for AviStreamingDemuxer
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