mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 01:39:28 +02:00

- Update many dependencies to latest versions across all crates - Switch from `once_cell::OnceCell` to `std::sync::OnceLock` where appropriate - Update OAuth to use stateful `reqwest` for HTTP requests - Fix Rodio backend to honor the requested sample format
80 lines
2.2 KiB
TOML
80 lines
2.2 KiB
TOML
[package]
|
|
name = "librespot-playback"
|
|
version = "0.6.0-dev"
|
|
rust-version.workspace = true
|
|
authors = ["Sasha Hilton <sashahilton00@gmail.com>"]
|
|
description = "The audio playback logic for librespot"
|
|
license = "MIT"
|
|
repository = "https://github.com/librespot-org/librespot"
|
|
edition = "2021"
|
|
|
|
[dependencies.librespot-audio]
|
|
path = "../audio"
|
|
version = "0.6.0-dev"
|
|
|
|
[dependencies.librespot-core]
|
|
path = "../core"
|
|
version = "0.6.0-dev"
|
|
|
|
[dependencies.librespot-metadata]
|
|
path = "../metadata"
|
|
version = "0.6.0-dev"
|
|
|
|
[dependencies]
|
|
portable-atomic = "1"
|
|
futures-util = "0.3"
|
|
log = "0.4"
|
|
parking_lot = { version = "0.12", features = ["deadlock_detection"] }
|
|
shell-words = "1.1"
|
|
thiserror = "2"
|
|
tokio = { version = "1", features = [
|
|
"parking_lot",
|
|
"rt",
|
|
"rt-multi-thread",
|
|
"sync",
|
|
] }
|
|
zerocopy = { version = "0.8", features = ["derive"] }
|
|
|
|
# Backends
|
|
alsa = { version = "0.9", optional = true }
|
|
portaudio-rs = { version = "0.3", optional = true }
|
|
libpulse-binding = { version = "2", optional = true, default-features = false }
|
|
libpulse-simple-binding = { version = "2", optional = true, default-features = false }
|
|
jack = { version = "0.13", optional = true }
|
|
sdl2 = { version = "0.38", optional = true }
|
|
gstreamer = { version = "0.24", optional = true }
|
|
gstreamer-app = { version = "0.24", optional = true }
|
|
gstreamer-audio = { version = "0.24", optional = true }
|
|
glib = { version = "0.21", optional = true }
|
|
|
|
# Rodio dependencies
|
|
rodio = { version = "0.21", optional = true, default-features = false, features = [
|
|
"playback",
|
|
] }
|
|
cpal = { version = "0.16", optional = true }
|
|
|
|
# Container and audio decoder
|
|
symphonia = { version = "0.5", default-features = false, features = [
|
|
"mp3",
|
|
"ogg",
|
|
"vorbis",
|
|
] }
|
|
|
|
# Legacy Ogg container decoder for the passthrough decoder
|
|
ogg = { version = "0.9", optional = true }
|
|
|
|
# Dithering
|
|
rand = { version = "0.9", features = ["small_rng"] }
|
|
rand_distr = "0.5"
|
|
|
|
[features]
|
|
alsa-backend = ["alsa"]
|
|
portaudio-backend = ["portaudio-rs"]
|
|
pulseaudio-backend = ["libpulse-binding", "libpulse-simple-binding"]
|
|
jackaudio-backend = ["jack"]
|
|
rodio-backend = ["rodio", "cpal"]
|
|
rodiojack-backend = ["rodio", "cpal/jack"]
|
|
sdl-backend = ["sdl2"]
|
|
gstreamer-backend = ["gstreamer", "gstreamer-app", "gstreamer-audio"]
|
|
|
|
passthrough-decoder = ["ogg"]
|