-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Update Rodio to 0.22 #20323
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
alice-i-cecile
merged 35 commits into
bevyengine:main
from
mnmaita:mnmaita/dependabot/cargo/cpal-0.16
Mar 25, 2026
Merged
Update Rodio to 0.22 #20323
Changes from all commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
74c03f5
Update cpal requirement from 0.15 to 0.16
dependabot[bot] 3808b5c
Bumps rodio to 0.21
mnmaita 1d57e31
Removes coreaudio-sys patch requirement
mnmaita eb5d399
Updates Android docs
mnmaita e8eb10d
Updates doc comment pointing to older version
mnmaita df34ab2
Bumps referenced bevy version in examples doc template
mnmaita 3ee25dc
Reworks audio feature flags
mnmaita a3b770e
Migrates code for rodio 0.21 compatibility
mnmaita 3241026
Reworks features to make symphonia the default
mnmaita ddb4654
Fixes internal feature flags
mnmaita 4591533
Fixes feature gated extensions
mnmaita b2cae1e
Updates AudioLoader docs
mnmaita 7f556de
Temporarily makes lewton the default ogg backend
mnmaita 4c00de2
Fixes disable-audio.patch
mnmaita 298d57b
Fixes licence exceptions for symphonia
mnmaita 52f543c
Removes minimp3 usage and fixes fallback features
mnmaita 2071696
Updates cargo_features.md
mnmaita ac8758b
Removes obsolete android_shared_stdcxx feature
mnmaita d8f259e
TEMPORARY: cpal patch to fix Send + Sync issue
mnmaita 9e56f59
Reexports rodio's ChannelCount and SampleRate aliases
mnmaita b87a126
TEMPORARY: rodio patch for latest cpal compatibility
mnmaita e4f3850
Fixes decodable example
mnmaita eb30f93
Enables lewton when using audio-all feature
mnmaita 057e21b
Adds migration guide
mnmaita bd03421
Fix markdown lints
mnmaita 2da6feb
Updates cpal to 0.17
mnmaita 0180221
Reverts symphonia as default feature
mnmaita e39cc3f
TEMPORARY: Updates rodio patch revision
mnmaita d795275
Turns audio-all into a collection + fix feature docs
mnmaita 290a606
Updates renamed rodio types
mnmaita 1239596
Updates disable-audio.patch
mnmaita 20bff64
Updates rodio to 0.22
mnmaita cfc1577
Apply suggestions from code review
mnmaita 0b1d5ad
Sets minimum Android API version to 26 in validation-jobs.yml
mnmaita 0edc1b1
Updates EXAMPLE_README template
mnmaita File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| --- | ||
| title: "Rodio 0.22 Update" | ||
| pull_requests: [20323] | ||
| --- | ||
|
|
||
| `rodio` was updated to `0.22` and `cpal` to `0.17`. The following sections will guide you through the necessary changes to ensure compatibility. | ||
|
|
||
| ## Audio Feature Flags | ||
|
|
||
| Audio format related features were reworked with this update. | ||
|
|
||
| By default, Bevy will enable the `vorbis` feature, which supports OGG/VORBIS files through `lewton`. | ||
|
|
||
| If you are not using Bevy's default features, here's a list you can use for reference: | ||
|
|
||
| - `vorbis`: OGG/VORBIS audio format support (through `lewton`). | ||
| - `wav`: WAV audio format support (through `hound`). | ||
| - `mp3`: MP3 audio format support (through `symphonia`). | ||
| - `mp4`: MP4 audio format support (through `symphonia`). It also enables AAC support. | ||
| - `flac`: FLAC audio format support (through `claxon`). | ||
| - `aac`: AAC audio format support (through `symphonia`). | ||
|
|
||
| There are also specific `symphonia` backend flags you can use for certain formats instead of the default flags: | ||
|
|
||
| - `symphonia-flac` | ||
| - `symphonia-vorbis` | ||
| - `symphonia-wav` | ||
|
|
||
| Notice that OGG/VORBIS support through `symphonia` is currently subject to issues with buffering, reverb, looping and spatial audio. Check the following issues/PRs for additional context: | ||
|
|
||
| - <https://github.com/RustAudio/rodio/issues/775> | ||
| - <https://github.com/RustAudio/rodio/pull/786> | ||
|
|
||
| The `audio-all-formats` feature collection was added for convenience. It will enable `bevy_audio` and all the available audio formats through their default backends. | ||
|
|
||
| ## Audio Traits | ||
|
|
||
| `type DecoderItem` was removed from the `Decodable` trait. Now `rodio::Sample` is an alias for `f32`. | ||
|
|
||
| ## Android Related Features | ||
|
|
||
| The `android_shared_stdcxx` feature was removed, as `cpal`'s `oboe-shared-stdcxx` feature was also removed in favor of Android NDK audio APIs. | ||
|
|
||
| Keep in mind that if you are using `bevy_audio` the minimum supported Android API version is now 26 (Android 8/Oreo). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rodio::SourcehasIterator<Item = rodio::Sample>as a bound as far as I can see, should we drop this redundant bound or should we keep it?