Skip to content

feat: change default decoder to Symphonia and update feature flags #753

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ jobs:

- run: cargo test --all-targets
- run: cargo test --lib --bins --tests --benches --features=experimental
- run: cargo test --all-targets --features=symphonia-all
- run: cargo test --all-targets --features=symphonia-all,wav_output
# `cargo test` does not check benchmarks and `cargo test --all-targets` excludes
# documentation tests. Therefore, we need an additional docs test command here.
- run: cargo test --doc
# Check minimal build.
- run: cargo check --tests --lib --no-default-features
# Check alternative decoders.
- run: cargo check --tests --lib --no-default-features --features minimp3
- run: cargo check --tests --lib --no-default-features --features claxon,hound,minimp3,lewton
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added `Source::amplify_decibel()` method to control volume by decibels.
- Added `Source::amplify_normalized()` method to perceptually modify volume.
- Adds a function to write a `Source` to a `wav` file, see `output_to_wav`.
- Adds a function to write a `Source` to a `wav` file, enable the `wav_output` feature and see
`output_to_wav`.
- Output audio stream buffer size can now be adjusted.
- Sources for directly generating square waves, triangle waves, square waves, and
sawtooths have been added.
Expand Down Expand Up @@ -48,6 +49,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
functions from `dasp_sample` crate. For example `DaspSample::from_sample(sample)`.
- `OutputStreamConfig` is now public.
- Update `cpal` to [0.16](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md#version-0160-2025-06-07).
- The default decoders have changed to Symphonia. The previous decoders are still available as
optional features: use `claxon` for FLAC, `lewton` for Vorbis, and `hound` for WAV.
- Support for decoding MP4 containers with AAC audio is now enabled by default.
- Breaking: As optional features are now available: CAF and MKV containers, MP1/MP2 and ADPCM
decoders. Previously, the ADPCM decoder was enabled when `symphonia-wav` was.

### Fixed
- `ChannelVolume` no longer clips/overflows when converting from many channels to
Expand Down
Loading