Parser for ISO Base Media Format aka video/mp4 written in Rust.
Перейти к файлу
Matthew Gregan 845694a7d1 Fix fuzzer build and add more coverage for AVIF. 2023-01-18 17:10:14 +13:00
.github/workflows Identify and report on unsupported features and related improvements 2021-12-11 13:26:44 -08:00
mp4parse Fix cargo doc warning. 2023-01-13 13:42:18 +13:00
mp4parse_capi Fix fuzzer build and add more coverage for AVIF. 2023-01-18 17:10:14 +13:00
.gitignore
.gitmodules Identify and report on unsupported features and related improvements 2021-12-11 13:26:44 -08:00
CODE_OF_CONDUCT.md
Cargo.toml Remove test_ffi and don't build mp4parse_capi as a dynamic library 2020-05-07 20:16:12 -07:00
LICENSE
README.md Add Versioning section to README.md 2021-12-11 13:21:06 -08:00

README.md

This is an mp4 track metadata parser.

Latest crate version Build status

Our primary interest is writing a pure-rust replacement for the track metadata parser needed by Firefox.

API documentation

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 and mp4parse_capi/src/lib.rs as well as under mp4parse/tests and mp4parse_capi/tests. These tests can be run via cargo 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 by cargo 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.