This is a port of minimp3 to The Rust Programming Language, inspired by rinimp3.
The bulk of the port was done by auto-generating rust code using c2rust, which was later rewritten incrementally to be more idiomatic.
The scripts used for integration tests in the original were replaced with rust-style integration tests, and can be run with cargo test
.
The project contains a subcrate which is used to fuzz the main crate using honggfuzz-rs. To fuzz the crate, do the following:
cargo install honggfuzz
cd mp3fuzz
cargo hfuzz run mp3fuzz
The example "play-music" subcrate uses pulseaudio, so to try the example make sure you have that on your system. Then you can do the following:
cargo run -p play-music -- path/to/file.mp3
The project supports no_std
and uses no runtime dependencies.
the project is not actively maintained, please do not use in production.