containr 0.1.1

MP4, MOV, Matroska and WebM demuxer and muxer for Rust, with integer timestamps and raw edit lists
Documentation
//! Media containers: boxes, EBML elements, sample tables, packets with
//! timestamps, track metadata and raw edit lists.
//!
//! Each container is a Cargo feature. `mp4` reads and writes MP4 and
//! QuickTime MOV. `mkv` reads and writes Matroska and WebM.

#![forbid(unsafe_code)]
#![deny(missing_docs)]

pub mod colour;
pub mod edit;
pub mod error;
pub mod matroska;
pub mod metadata;
pub mod packet;
pub mod track;

mod mac_language;
#[cfg(any(feature = "mp4", feature = "mkv"))]
mod read;

#[cfg(feature = "mkv")]
pub mod mkv;
#[cfg(feature = "mp4")]
pub mod mp4;

pub use colour::ContainerColour;
pub use edit::{EditEntry, EditList};
pub use error::{Container, Error, Result};
pub use metadata::{
    Chapter, ChapterSource, MetadataData, MetadataItem, MetadataKey, MetadataScope, TagScope,
    TagTarget,
};
pub use packet::{Lace, Packet};
pub use track::{
    AudioInfo, CodecConfig, FourCc, Language, PixelAspect, SampleEntry, Timebase, Track, TrackKind,
    TrackReference, VideoInfo,
};

/// Compiles the README examples as doctests.
#[cfg(all(doctest, feature = "mp4", feature = "mkv"))]
#[doc = include_str!("../README.md")]
struct ReadmeDoctests;