mp4_track/lib.rs
1#![forbid(unsafe_code)]
2#![warn(missing_docs)]
3#![deny(
4 clippy::arithmetic_side_effects,
5 clippy::expect_used,
6 clippy::indexing_slicing,
7 clippy::panic,
8 clippy::unreachable,
9 clippy::unwrap_used
10)]
11
12//! Track and sample access for MP4 and ISO base media files.
13//!
14//! [`Mp4Reader`] parses progressive and fragmented input. [`Mp4Writer`] writes
15//! progressive files from caller-supplied tracks and samples.
16//!
17//! ```
18//! use mp4_track::Mp4Reader;
19//!
20//! let file = std::fs::File::open("tests/fixtures/v02_h264_aac_faststart.mp4")?;
21//! let reader = Mp4Reader::open(file)?;
22//! assert_eq!(reader.tracks().len(), 2);
23//! # Ok::<(), Box<dyn std::error::Error>>(())
24//! ```
25
26mod error;
27mod parse;
28mod reader;
29mod types;
30mod writer;
31
32pub use error::Error;
33pub use reader::{Mp4Reader, SampleIter};
34pub use types::*;
35pub use writer::Mp4Writer;