|
| 1 | +--- |
| 2 | +title: "Rodio 0.21 Update" |
| 3 | +pull_requests: [20323] |
| 4 | +--- |
| 5 | + |
| 6 | +### Audio Feature Flags |
| 7 | + |
| 8 | +Audio format related features were reworked and now `symphonia` will be the default backend for most of them. |
| 9 | + |
| 10 | +By default, Bevy will enable the `vorbis` feature, which supports OGG/VORBIS files through `lewton`. |
| 11 | + |
| 12 | +If you are not using Bevy's default features, here's a list you can use for reference: |
| 13 | + |
| 14 | +- `vorbis`: OGG/VORBIS audio format support (through `lewton`). |
| 15 | +- `wav`: WAV audio format support (through `symphonia`). |
| 16 | +- `mp3`: MP3 audio format support (through `symphonia`). |
| 17 | +- `mp4`: MP4 audio format support (through `symphonia`). It also enables AAC support. |
| 18 | +- `flac`: FLAC audio format support (through `symphonia`). |
| 19 | +- `aac`: AAC audio format support (through `symphonia`). |
| 20 | + |
| 21 | +There are also "fallback" backend flags you can use for certain formats: |
| 22 | + |
| 23 | +- `fallback-flac`: FLAC audio format support (through `claxon`). |
| 24 | +- `fallback-vorbis`: OGG/VORBIS audio format support (through `symphonia`). |
| 25 | +- `fallback-wav`: WAV audio format support (through `hound`). |
| 26 | + |
| 27 | +Notice that OGG/VORBIS support through `symphonia` is not the default due to issues with buffering, reverb, looping and spatial audio. Check the following issues/PRs for additional context: |
| 28 | + |
| 29 | +- https://github.com/RustAudio/rodio/issues/775 |
| 30 | +- https://github.com/RustAudio/rodio/pull/786 |
| 31 | + |
| 32 | +The `audio-all` feature was added for convenience. It will enable all the available audio formats. Here's the full list and the corresponding backend for each format: |
| 33 | + |
| 34 | +- AAC, FLAC, MP3, MP4, and WAV: `symphonia`. |
| 35 | +- OGG/VORBIS: `lewton`. |
| 36 | + |
| 37 | +### Audio Traits |
| 38 | + |
| 39 | +`type DecoderItem` was removed from the `Decodable` trait. Now `rodio::Sample` is an alias for `f32`. |
| 40 | + |
| 41 | +### Android Related Features |
| 42 | + |
| 43 | +The `android_shared_stdcxx` feature was removed, as `cpal`'s `oboe-shared-stdcxx` feature was also removed in favor of Android NDK audio APIs. |
| 44 | + |
| 45 | +Keep in mind that if you are using `bevy_audio` the minimum supported Android API version is now 26 (Android 8/Oreo). |
0 commit comments