[package] name = "librespot-playback" version = "0.6.0-dev" rust-version.workspace = true authors = ["Sasha Hilton "] 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] futures-util = "0.3" log = "0.4" parking_lot = { version = "0.12", features = ["deadlock_detection"] } shell-words = "1.1" thiserror = "2.0" tokio = { version = "1", features = ["parking_lot", "rt", "rt-multi-thread", "sync"] } zerocopy = { version = "0.8.13", features = ["derive"] } # Backends alsa = { version = "0.9.0", 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.11", optional = true } # jack >0.11 requires a MSRV of 1.80 sdl2 = { version = "0.37", optional = true } gstreamer = { version = "0.23.1", optional = true } gstreamer-app = { version = "0.23.0", optional = true } gstreamer-audio = { version = "0.23.0", optional = true } glib = { version = "0.20.3", optional = true } # Rodio dependencies rodio = { version = "0.20.1", optional = true, default-features = false } cpal = { version = "0.15.1", 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.8", features = ["small_rng"] } rand_distr = "0.4" [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"]