[package]
edition = "2021"
rust-version = "1.87"
name = "rodio"
version = "0.22.2"
build = false
exclude = [
"assets/**",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Audio playback and recording library"
documentation = "https://docs.rs/rodio"
readme = "README.md"
keywords = [
"audio",
"playback",
"recording",
"gamedev",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/RustAudio/rodio"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
cargo-args = ["-Zunstable-options"]
[features]
64bit = []
claxon = ["dep:claxon"]
default = [
"playback",
"recording",
"flac",
"mp3",
"mp4",
"vorbis",
"wav",
"dither",
]
dither = ["noise"]
experimental = ["dep:atomic_float"]
flac = ["symphonia-flac"]
hound = ["dep:hound"]
lewton = ["dep:lewton"]
minimp3 = ["dep:minimp3_fixed"]
mp3 = ["symphonia-mp3"]
mp4 = [
"symphonia-isomp4",
"symphonia-aac",
]
noise = [
"rand",
"rand_distr",
]
playback = ["dep:cpal"]
recording = [
"dep:cpal",
"dep:rtrb",
]
symphonia-aac = ["symphonia/aac"]
symphonia-adpcm = ["symphonia/adpcm"]
symphonia-aiff = ["symphonia/aiff"]
symphonia-alac = ["symphonia/alac"]
symphonia-all = [
"symphonia/all-formats",
"symphonia/all-codecs",
]
symphonia-caf = ["symphonia/caf"]
symphonia-flac = ["symphonia/flac"]
symphonia-isomp4 = ["symphonia/isomp4"]
symphonia-mkv = ["symphonia/mkv"]
symphonia-mp1 = ["symphonia/mp1"]
symphonia-mp2 = ["symphonia/mp2"]
symphonia-mp3 = ["symphonia/mp3"]
symphonia-mpa = ["symphonia/mpa"]
symphonia-ogg = ["symphonia/ogg"]
symphonia-pcm = ["symphonia/pcm"]
symphonia-simd = ["symphonia/opt-simd"]
symphonia-vorbis = ["symphonia/vorbis"]
symphonia-wav = ["symphonia/wav"]
tracing = ["dep:tracing"]
vorbis = [
"symphonia-ogg",
"symphonia-vorbis",
]
wasm-bindgen = ["cpal/wasm-bindgen"]
wav = [
"symphonia-wav",
"symphonia-pcm",
]
wav_output = ["dep:hound"]
[lib]
name = "rodio"
path = "src/lib.rs"
[[example]]
name = "automatic_gain_control"
path = "examples/automatic_gain_control.rs"
required-features = [
"playback",
"flac",
]
[[example]]
name = "basic"
path = "examples/basic.rs"
required-features = [
"playback",
"vorbis",
]
[[example]]
name = "callback_on_end"
path = "examples/callback_on_end.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "custom_config"
path = "examples/custom_config.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "distortion"
path = "examples/distortion.rs"
required-features = ["playback"]
[[example]]
name = "distortion_mp3"
path = "examples/distortion_mp3.rs"
required-features = [
"playback",
"mp3",
]
[[example]]
name = "distortion_wav"
path = "examples/distortion_wav.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "distortion_wav_alternate"
path = "examples/distortion_wav_alternate.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "error_callback"
path = "examples/error_callback.rs"
required-features = ["playback"]
[[example]]
name = "into_file"
path = "examples/into_file.rs"
required-features = [
"mp3",
"wav_output",
]
[[example]]
name = "limit_settings"
path = "examples/limit_settings.rs"
[[example]]
name = "limit_wav"
path = "examples/limit_wav.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "low_pass"
path = "examples/low_pass.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "microphone"
path = "examples/microphone.rs"
required-features = [
"playback",
"recording",
"wav_output",
]
[[example]]
name = "mix_multiple_sources"
path = "examples/mix_multiple_sources.rs"
required-features = ["playback"]
[[example]]
name = "music_flac"
path = "examples/music_flac.rs"
required-features = [
"playback",
"flac",
]
[[example]]
name = "music_m4a"
path = "examples/music_m4a.rs"
required-features = [
"playback",
"mp4",
]
[[example]]
name = "music_mp3"
path = "examples/music_mp3.rs"
required-features = [
"playback",
"mp3",
]
[[example]]
name = "music_ogg"
path = "examples/music_ogg.rs"
required-features = [
"playback",
"vorbis",
]
[[example]]
name = "music_wav"
path = "examples/music_wav.rs"
required-features = [
"playback",
"wav",
]
[[example]]
name = "noise_generator"
path = "examples/noise_generator.rs"
required-features = [
"playback",
"noise",
]
[[example]]
name = "reverb"
path = "examples/reverb.rs"
required-features = [
"playback",
"vorbis",
]
[[example]]
name = "seek_mp3"
path = "examples/seek_mp3.rs"
required-features = [
"playback",
"mp3",
]
[[example]]
name = "signal_generator"
path = "examples/signal_generator.rs"
required-features = ["playback"]
[[example]]
name = "spatial"
path = "examples/spatial.rs"
required-features = [
"playback",
"vorbis",
]
[[example]]
name = "stereo"
path = "examples/stereo.rs"
required-features = [
"playback",
"vorbis",
]
[[bench]]
name = "conversions"
path = "benches/conversions.rs"
harness = false
required-features = ["wav"]
[[bench]]
name = "effects"
path = "benches/effects.rs"
harness = false
required-features = ["wav"]
[[bench]]
name = "pipeline"
path = "benches/pipeline.rs"
harness = false
required-features = ["wav"]
[[bench]]
name = "resampler"
path = "benches/resampler.rs"
harness = false
required-features = ["wav"]
[[bench]]
name = "shared"
path = "benches/shared.rs"
[dependencies.atomic_float]
version = "1.1.0"
optional = true
[dependencies.claxon]
version = "0.4"
optional = true
[dependencies.cpal]
version = "0.17"
optional = true
[dependencies.crossbeam-channel]
version = "0.5.15"
optional = true
[dependencies.dasp_sample]
version = "0.11"
[dependencies.hound]
version = "3.5"
optional = true
[dependencies.lewton]
version = "0.10"
optional = true
[dependencies.minimp3_fixed]
version = "0.5.4"
optional = true
[dependencies.num-rational]
version = "0.4.2"
[dependencies.rand]
version = "0.10"
optional = true
[dependencies.rand_distr]
version = "0.6"
optional = true
[dependencies.rtrb]
version = "0.3.2"
optional = true
[dependencies.symphonia]
version = "0.5.5"
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tracing]
version = "0.1.40"
optional = true
[dev-dependencies.approx]
version = "0.5.1"
[dev-dependencies.divan]
version = "0.1.14"
[dev-dependencies.inquire]
version = "0.9.3"
[dev-dependencies.quickcheck]
version = "1"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.rstest_reuse]
version = "0.7"