Ajout de la fonctionnalité WebRenderer permettant à chaque navigateur connecté de devenir un MediaRenderer UPnP privé. - Création du crate pmowebrenderer avec l'architecture complète - Implémentation des handlers SOAP → WebSocket pour les services AVTransport, RenderingControl et ConnectionManager - Intégration avec le ControlPoint pour l'enregistrement dynamique des renderers - Gestion des sessions avec timeout et cleanup automatique - Support des commandes de transport (play, pause, stop, seek) et du contrôle du volume - Mise à jour des dépendances dans Cargo.toml et Cargo.lock - Documentation de l'architecture dans Blackboard/Architecture/webrenderer.md
61 lines
1.2 KiB
TOML
61 lines
1.2 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = [
|
|
"PMOMusic",
|
|
"pmoupnp",
|
|
"pmomediarenderer",
|
|
"pmowebrenderer",
|
|
"pmomediaserver",
|
|
"pmoconfig",
|
|
"pmoutils",
|
|
"pmodidl",
|
|
"pmoserver",
|
|
"pmoapp",
|
|
"pmocache",
|
|
"pmocovers",
|
|
"pmoaudiocache",
|
|
"pmoaudio",
|
|
"pmoqobuz",
|
|
"pmoparadise",
|
|
"pmoradiofrance",
|
|
"pmosource",
|
|
"pmoplaylist",
|
|
"pmoflac",
|
|
"pmometadata",
|
|
"pmocontrol",
|
|
]
|
|
|
|
[workspace.dependencies]
|
|
# Core
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
serde_yaml = "0.9"
|
|
|
|
# Async runtime
|
|
tokio = { version = "1.35", features = ["full"] }
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
async-trait = "0.1"
|
|
|
|
# Error handling
|
|
anyhow = "1.0"
|
|
thiserror = "2.0"
|
|
|
|
# Logging
|
|
tracing = "0.1.41"
|
|
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
|
|
|
# HTTP/XML
|
|
reqwest = { version = "0.12", default-features = false }
|
|
ureq = "3.1"
|
|
quick-xml = { version = "0.38", features = ["serialize"] }
|
|
axum = "0.8.4"
|
|
futures = "0.3"
|
|
|
|
# Utilities
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1.18", features = ["v4"] }
|
|
crossbeam-channel = "0.5"
|
|
rand = "0.9"
|
|
|
|
# Testing
|
|
tokio-test = "0.4" |