Skip to main content

Module packet_iterator

Module packet_iterator 

Source
Expand description

Raw packet-level iteration.

This module provides PacketIterator for iterating over the demuxed packets of a media file without decoding. Each yielded PacketInfo carries the stream index, PTS, DTS, size and keyframe flag of a single packet.

§Example

use unbundle::{MediaFile, UnbundleError};

let mut unbundler = MediaFile::open("input.mp4")?;
let iter = unbundler.packet_iter()?;
for info in iter {
    let pkt = info?;
    if pkt.is_keyframe {
        println!("Keyframe at PTS {:?} in stream {}", pkt.pts, pkt.stream_index);
    }
}

Structs§

PacketInfo
Metadata for a single demuxed packet.
PacketIterator
A lazy iterator over demuxed packets.