Skip to content
/ rinimp3 Public
forked from icefoxen/rinimp3

An attempt to make a port of minimp3 to Rust

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Frommi/rinimp3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rinimp3

An attempt to make a port of lieff's minimp3 to Rust. The goal is basically to make the minimp3-rs crate, bindings to the C library, unnecessary.

<<<<<<< HEAD There is a write-up of the translation process here.

First step is to just duplicate it as closely as possible, including passing its tests and fuzzing. Next step would be to smooth its API out and make it more Rusty; https://github.com/germangb/minimp3-rs might be useful for inspiration.

First step is to just duplicate it as closely as possible, including passing its tests and fuzzing. https://wiki.alopex.li/PortingCToRust comments on the conversion. Next step would be to smooth its API out and make it more Rusty; https://github.com/germangb/minimp3-rs might be useful for inspiration.

e2500fd001aaf5ba07ed0acad3e3d41144a65ff1

Current status: about 90% translated, but there's still some panics lurking in the test cases. I need to find a nice few days and just finish it off.

Differences from minimp3:

  • i16 output only
  • No SIMD
  • No conditional compilation -- basically should operate as if the following flags are defined:
  • #define MINIMP3_NO_SIMD
  • #define MINIMP3_NONSTANDARD_BUT_LOGICAL???

About

An attempt to make a port of minimp3 to Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.9%
  • Shell 0.1%