Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mozilla/mp4parse-rust
Parser for ISO Base Media Format aka video/mp4 written in Rust.
https://github.com/mozilla/mp4parse-rust
Last synced: 6 days ago
JSON representation
Parser for ISO Base Media Format aka video/mp4 written in Rust.
- Host: GitHub
- URL: https://github.com/mozilla/mp4parse-rust
- Owner: mozilla
- License: mpl-2.0
- Created: 2015-10-04T17:19:23.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-10T17:34:41.000Z (8 months ago)
- Last Synced: 2024-10-29T11:06:50.794Z (2 months ago)
- Language: Rust
- Size: 6.85 MB
- Stars: 410
- Watchers: 30
- Forks: 62
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
This is an mp4 track metadata parser.
[![Latest crate version](https://img.shields.io/crates/v/mp4parse.svg)](https://crates.io/crates/mp4parse)
[![Build status](https://github.com/mozilla/mp4parse-rust/actions/workflows/build.yml/badge.svg)](https://github.com/mozilla/mp4parse-rust/actions)Our primary interest is writing a pure-rust replacement for the
track metadata parser needed by Firefox.[API documentation](https://docs.rs/mp4parse/)
# 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
The master branch represents the last version released to crates.io plus any
development since that release. Firefox will ship specific git revisions from
the master branch (refer to the `mp4parse_capi` dependency listed in
[toolkit/library/rust/shared/Cargo.toml](https://searchfox.org/mozilla-central/source/toolkit/library/rust/shared/Cargo.toml#15)
for the currently shipping revision). When sufficient changes to merit a new
crates.io release have occurred, the version in Cargo.toml will be bumped and
tagged, and the new version published to crates.io.