Crate matroska_demuxer[][src]

A demuxer that can demux Matroska and WebM container files.

Example:

let file = File::open("test.mkv").unwrap();
let mkv = MatroskaFile::open(file).unwrap();
let video_track = mkv
    .tracks()
    .iter()
    .find(|t| t.track_type() == TrackType::Video)
    .map(|t| t.track_number().get())
    .unwrap();

let mut frame = Frame::default();
while mkv.next_frame(&mut frame).unwrap() {
    if frame.track == video_track {
        dbg!("video frame found");
    }
}

Structs

Audio

Audio settings.

ChapterAtom

Contains the atom information to use as the chapter atom.

ChapterDisplay

Contains all possible strings to use for the chapter display.

Colour

Settings describing the colour format.

ContentEncAesSettings

Settings describing the encryption algorithm used.

ContentEncoding

Settings for one content encoding like compression or encryption.

ContentEncryption

Settings describing the encryption used.

EbmlHeader

The EBML header of the file.

EditionEntry

Contains all information about a segment edition.

Frame

A data frame inside the Matroska container.

Info

Contains general information about the segment.

MasteringMetadata

SMPTE 2086 mastering data.

MatroskaFile

Demuxer for Matroska files.

SimpleTag

Contains general information about the target.

Tag

A single metadata descriptor.

Targets

Specifies which other elements the metadata represented by the tag applies to.

TrackEntry

Describes a track.

Video

Video settings.

Enums

AesSettingsCipherMode

The AES cipher mode used in the encryption.

AspectRatioType

Specify the possible modifications to the aspect ratio.

ChromaSitingHorz

How chroma is sub sampled horizontally.

ChromaSitingVert

How chroma is sub sampled vertically.

ContentEncAlgo

The encryption algorithm used.

ContentEncodingType

Describing what kind of transformation is applied.

DemuxError

Errors that can occur when demuxing Matroska files.

DisplayUnit

How DisplayWidth & DisplayHeight are interpreted.

ElementId

The IDs of the supported elements.

FieldOrder

Declare the field ordering of the video.

FlagInterlaced

A flag to declare if the video is known to be progressive or interlaced.

MatrixCoefficients

The Matrix Coefficients of the video used to derive luma and chroma values from red, green, and blue color primaries.

Primaries

The colour primaries of the video.

Range

Clipping of the color ranges.

StereoMode

Stereo-3D video mode.

TrackType

Type of the track.

TransferCharacteristics

The transfer characteristics of the video.