[package] name = "librespot-playback" version = "0.3.1" authors = ["Sasha Hilton "] description = "The audio playback logic for librespot" license = "MIT" repository = "https://github.com/librespot-org/librespot" edition = "2018" [dependencies.librespot-audio] path = "../audio" version = "0.3.1" [dependencies.librespot-core] path = "../core" version = "0.3.1" [dependencies.librespot-metadata] path = "../metadata" version = "0.3.1" [dependencies] byteorder = "1.4" futures-util = "0.3" log = "0.4" parking_lot = { version = "0.11", features = ["deadlock_detection"] } shell-words = "1.0.0" thiserror = "1.0" tokio = { version = "1", features = ["parking_lot", "rt", "rt-multi-thread", "sync"] } zerocopy = { version = "0.3" } # Backends alsa = { version = "0.5", 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.7", optional = true } sdl2 = { version = "0.34.3", optional = true } gstreamer = { version = "0.16", optional = true } gstreamer-app = { version = "0.16", optional = true } glib = { version = "0.10", optional = true } # Rodio dependencies rodio = { version = "0.14", optional = true, default-features = false } cpal = { version = "0.13", optional = true } # Container and audio decoder symphonia = { version = "0.4", default-features = false, features = ["mp3", "ogg", "vorbis"] } # Legacy Ogg container decoder for the passthrough decoder ogg = "0.8" # 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", "glib"]