1
0
Fork 0
mirror of https://github.com/librespot-org/librespot.git synced 2025-10-03 01:39:28 +02:00
librespot/playback/Cargo.toml
Roderick van Domburg 78ce118d32
fix: rustls-tls features to support certificate stores (#1542)
Add separate features for native system roots and Mozilla webpki roots.
Update documentation and build configs to reflect new options.
2025-08-20 11:31:13 +02:00

101 lines
2.8 KiB
TOML

[package]
name = "librespot-playback"
version.workspace = true
rust-version.workspace = true
authors = ["Sasha Hilton <sashahilton00@gmail.com>"]
license.workspace = true
description = "The audio playback logic for librespot"
repository.workspace = true
edition.workspace = true
[features]
# Refer to the workspace Cargo.toml for the list of features
default = ["rodio-backend", "native-tls"]
# Audio backends
alsa-backend = ["dep:alsa"]
gstreamer-backend = [
"dep:gstreamer",
"dep:gstreamer-app",
"dep:gstreamer-audio",
]
jackaudio-backend = ["dep:jack"]
portaudio-backend = ["dep:portaudio-rs"]
pulseaudio-backend = ["dep:libpulse-binding", "dep:libpulse-simple-binding"]
rodio-backend = ["dep:cpal", "dep:rodio"]
rodiojack-backend = ["dep:rodio", "cpal/jack"]
sdl-backend = ["dep:sdl2"]
# Audio processing features
passthrough-decoder = ["dep:ogg"]
# TLS backend propagation
native-tls = [
"librespot-core/native-tls",
"librespot-audio/native-tls",
"librespot-metadata/native-tls",
]
rustls-tls-native-roots = [
"librespot-core/rustls-tls-native-roots",
"librespot-audio/rustls-tls-native-roots",
"librespot-metadata/rustls-tls-native-roots",
]
rustls-tls-webpki-roots = [
"librespot-core/rustls-tls-webpki-roots",
"librespot-audio/rustls-tls-webpki-roots",
"librespot-metadata/rustls-tls-webpki-roots",
]
[dependencies]
librespot-audio.workspace = true
librespot-core.workspace = true
librespot-metadata.workspace = true
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 }
jack = { version = "0.13", optional = true }
portaudio-rs = { version = "0.3", optional = true }
sdl2 = { version = "0.38", optional = true }
# GStreamer dependencies
gstreamer = { version = "0.24", optional = true }
gstreamer-app = { version = "0.24", optional = true }
gstreamer-audio = { version = "0.24", optional = true }
# PulseAudio dependencies
libpulse-binding = { version = "2", optional = true, default-features = false }
libpulse-simple-binding = { version = "2", optional = true, default-features = false }
# Rodio dependencies
cpal = { version = "0.16", optional = true }
rodio = { version = "0.21", optional = true, default-features = false, features = [
"playback",
] }
# 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"