No description
Find a file
Stephen Sherratt 806ecaa60a
Implement Drop for FrameData (#285)
The types `Frame` and `FrameData` are mutually recursive, and the
incidental linked lists that can be formed as a result can be long (at
least in the order of thousands of elements). As a result, when a frame
is deallocated, rust appears to recursively call `drop_in_place` down
the list, causing stack overflows for long lists.
2022-01-12 16:34:00 +01:00
.github/workflows Add optional Symphonia backend (#376) 2021-06-29 09:12:28 +02:00
examples Add optional Symphonia backend (#376) 2021-06-29 09:12:28 +02:00
src Implement Drop for FrameData (#285) 2022-01-12 16:34:00 +01:00
tests Reduced 32-bit integer test file size. 2021-10-01 04:20:25 +02:00
.gitignore Initial commit 2015-07-22 12:14:11 +02:00
.rustfmt.toml Migrate to edition 2018 2020-05-02 13:33:57 +01:00
Cargo.toml Add optional Symphonia backend (#376) 2021-06-29 09:12:28 +02:00
CHANGELOG.md Release 0.14.0 (#368) 2021-05-21 22:15:25 +02:00
LICENSE-APACHE Require all new contributions to be MIT/Apache2 (#175) 2018-08-17 13:59:55 +02:00
LICENSE-MIT Require all new contributions to be MIT/Apache2 (#175) 2018-08-17 13:59:55 +02:00
README.md Add optional Symphonia backend (#376) 2021-06-29 09:12:28 +02:00

Audio playback library

Crates.io Version Crates.io Downloads Build Status

Rust playback library.

  • Playback is handled by cpal.
  • MP3 decoding is handled by minimp3.
  • WAV decoding is handled by hound.
  • Vorbis decoding is handled by lewton.
  • Flac decoding is handled by claxon.
  • MP4 and AAC (both disabled by default) are handled by Symphonia.

Alternatively, Symphonia can be used to decode any of the other codecs above with the exception of Vorbis. See the docs for more details on backends.

Documentation

The documentation contains an introduction to the library.

License

Licensed under either of

at your option.

License of your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.