Skip to main content

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;