pub struct MkvStreamingDemuxer { /* private fields */ }Expand description
MKV / WebM streaming demuxer. Wraps MatroskaFile whose next_frame
API is already pull-shaped, so the streaming impl is a thin wrapper:
pull next frame, filter to the video track, AVCC→Annex-B convert if
AVC/HEVC, surface as a Sample.
Trait Implementations§
Source§impl StreamingDemuxer for MkvStreamingDemuxer
impl StreamingDemuxer for MkvStreamingDemuxer
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 MkvStreamingDemuxer
impl RefUnwindSafe for MkvStreamingDemuxer
impl Send for MkvStreamingDemuxer
impl Sync for MkvStreamingDemuxer
impl Unpin for MkvStreamingDemuxer
impl UnsafeUnpin for MkvStreamingDemuxer
impl UnwindSafe for MkvStreamingDemuxer
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