845694a7d1 | ||
---|---|---|
.github/workflows | ||
mp4parse | ||
mp4parse_capi | ||
.gitignore | ||
.gitmodules | ||
CODE_OF_CONDUCT.md | ||
Cargo.toml | ||
LICENSE | ||
README.md |
README.md
This is an mp4 track metadata parser.
Our primary interest is writing a pure-rust replacement for the track metadata parser needed by Firefox.
Project structure
mp4parse
is a parser for ISO base media file format (mp4) written in rust.
mp4parse-capi
is a C API that exposes the functionality of mp4parse
. The C
API is intended to wrap the rust parser. As such, features should primarily
be implemented in the rust parser and exposed via the C API, rather than the C
API implementing features on its own.
Tests
Test coverage comes from several sources:
- Conventional tests exist in
mp4parse/src/lib.rs
andmp4parse_capi/src/lib.rs
as well as undermp4parse/tests
andmp4parse_capi/tests
. These tests can be run viacargo test
. - Examples are included under
mp4parse_capi/examples
. These programs should continue to build and run after changes are made. Note, these programs are not typically run bycargo test
, so manual verification is required.
Versioning
Prior to Firefox 95, versions of this library have been updated sporadically, and uploaded to crates.io even less frequently. Going forward, there will be a new release on github and crates.io whenever the version of the code used in Firefox (see toolkit/library/rust/shared/Cargo.toml) is updated. For convenience, tags will be added to indicate what version of the mp4parse is used in what version of Firefox.