Skip to content

Commit b5cb7ed

Browse files
ong-yyalradish
authored andcommitted
Expose symphonia features from rodio in bevy_audio and bevy (bevyengine#6388)
# Objective Fix bevyengine#6301 ## Solution Add new features in `bevy_audio` to use `symphonia` sound format from `rodio` Also add in `bevy`
1 parent 34cd9a0 commit b5cb7ed

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@ flac = ["bevy_internal/flac"]
8989
mp3 = ["bevy_internal/mp3"]
9090
vorbis = ["bevy_internal/vorbis"]
9191
wav = ["bevy_internal/wav"]
92+
symphonia-aac = ["bevy_internal/symphonia-aac"]
93+
symphonia-all = ["bevy_internal/symphonia-all"]
94+
symphonia-flac = ["bevy_internal/symphonia-flac"]
95+
symphonia-isomp4 = ["bevy_internal/symphonia-isomp4"]
96+
symphonia-mp3 = ["bevy_internal/symphonia-mp3"]
97+
symphonia-vorbis = ["bevy_internal/symphonia-vorbis"]
98+
symphonia-wav = ["bevy_internal/symphonia-wav"]
9299

93100
# Enable watching file system for asset hot reload
94101
filesystem_watcher = ["bevy_internal/filesystem_watcher"]

crates/bevy_audio/Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,10 @@ mp3 = ["rodio/mp3"]
3030
flac = ["rodio/flac"]
3131
wav = ["rodio/wav"]
3232
vorbis = ["rodio/vorbis"]
33+
symphonia-aac = ["rodio/symphonia-aac"]
34+
symphonia-all = ["rodio/symphonia-all"]
35+
symphonia-flac = ["rodio/symphonia-flac"]
36+
symphonia-isomp4 = ["rodio/symphonia-isomp4"]
37+
symphonia-mp3 = ["rodio/symphonia-mp3"]
38+
symphonia-vorbis = ["rodio/symphonia-vorbis"]
39+
symphonia-wav = ["rodio/symphonia-wav"]

crates/bevy_internal/Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ flac = ["bevy_audio/flac"]
4242
mp3 = ["bevy_audio/mp3"]
4343
vorbis = ["bevy_audio/vorbis"]
4444
wav = ["bevy_audio/wav"]
45+
symphonia-aac = ["bevy_audio/symphonia-aac"]
46+
symphonia-all = ["bevy_audio/symphonia-all"]
47+
symphonia-flac = ["bevy_audio/symphonia-flac"]
48+
symphonia-isomp4 = ["bevy_audio/symphonia-isomp4"]
49+
symphonia-mp3 = ["bevy_audio/symphonia-mp3"]
50+
symphonia-vorbis = ["bevy_audio/symphonia-vorbis"]
51+
symphonia-wav = ["bevy_audio/symphonia-wav"]
4552

4653
# Enable watching file system for asset hot reload
4754
filesystem_watcher = ["bevy_asset/filesystem_watcher"]

docs/cargo_features.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@
3939
|flac|FLAC audio format support. It's included in bevy_audio feature.|
4040
|mp3|MP3 audio format support.|
4141
|wav|WAV audio format support.|
42+
|symphonia-aac|AAC audio format support by Symphonia. For more details, see `symphonia-all`.|
43+
|symphonia-all|AAC, FLAC, MP4, MP3, Vorbis, and WAV support by Symphonia. Add support for parsing multiple file formats using a single crate instead of compiling different crates. The other non-`symphonia` features are disabled when its corresponding `symphonia` feature is enabled. [Link to `symphonia` documentation](https://docs.rs/symphonia/latest/symphonia/). More information about this topic can be found [here](https://github.com/bevyengine/bevy/pull/6388#discussion_r1009622883) |
44+
|symphonia-flac|FLAC audio format support by Symphonia. For more details, see `symphonia-all`.|
45+
|symphonia-isomp4|MP4 audio format support by Symphonia. For more details, see `symphonia-all`.|
46+
|symphonia-mp3|MP3 audio format support by Symphonia. For more details, see `symphonia-all`.|
47+
|symphonia-vorbis|Vorbis audio format support by Symphonia. For more details, see `symphonia-all`.|
48+
|symphonia-wav|WAV audio format support by Symphonia. For more details, see `symphonia-all`.|
4249
|serialize|Enables serialization of `bevy_input` types.|
4350
|wayland|Enable this to use Wayland display server protocol other than X11.|
4451
|subpixel_glyph_atlas|Enable this to cache glyphs using subpixel accuracy. This increases texture memory usage as each position requires a separate sprite in the glyph atlas, but provide more accurate character spacing.|

0 commit comments

Comments
 (0)