From 7f3057ac0def63c1a69e3062de60a7f339d404c0 Mon Sep 17 00:00:00 2001 From: Austin Schey Date: Sat, 21 Feb 2026 14:11:48 -0800 Subject: [PATCH] docs: fix inaccurate information about default decoder features --- src/lib.rs | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 0e1c308d..16853dda 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -111,16 +111,27 @@ //! let source = source.take_duration(Duration::from_secs(5)).repeat_infinite(); //! ``` //! -//! ## Alternative Decoder Backends +//! ## Decoder Backends //! -//! [Symphonia](https://github.com/pdeljanov/Symphonia) is an alternative decoder library that can be used in place -//! of many of the default backends. -//! Currently, the main benefit is that Symphonia is the only backend that supports M4A and AAC, -//! but it may be used to implement additional optional functionality in the future. +//! [Symphonia](https://github.com/pdeljanov/Symphonia) is the default decoder library. +//! Rodio supports enabling all of Symphonia's codecs using the `symphonia-all` feature +//! or enabling specific codecs using one of the `symphonia-{codec name}` features. +//! By default, decoders for the most common file types (flac, mp3, mp4, vorbis, wav) are enabled. //! -//! To use, enable either the `symphonia-all` feature to enable all Symphonia codecs -//! or enable specific codecs using one of the `symphonia-{codec name}` features. -//! If you enable one or more of the Symphonia codecs, you may want to set `default-features = false` in order +//! ### Alternative Decoders +//! +//! Alternative decoder libraries are available for some filetypes: +//! +//! - claxon (flac) +//! - hound (wav) +//! - lewton (vorbis) +//! - minimp3 (mp3) +//! +//! Symphonia is recommended for most usage. However, the alternative decoders are all licensed +//! under either MIT or Apache 2.0 while Symphonia is licensed under MPL-2.0, so +//! this may be a factor if you have strict licensing requirements. +//! +//! If you enable one of these, you may want to set `default-features = false` //! to avoid adding extra crates to your binary. //! See the [available feature flags](https://docs.rs/crate/rodio/latest/features) for all options. //!