Skip to content

Commit 210a0bb

Browse files
committed
Adds migration guide
1 parent 14c4894 commit 210a0bb

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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

Comments
 (0)