- Remplacer la crate abandonnée `mdns` (3.0, non-UTF8) par activement maintenue et UTF‑compliant `mdns-sd` (0.19) - Supprimer les dépendances inutiles `async‑std`, `futures-util` (uniquement utilisées dans le thread mDNS) - Refactoriser `control_point.rs` : passer d’un bloc async bloquant à une boucle synchrone avec `ServiceDaemon.browse()` + récepteur blocant - Simplifier drastiquement le parsing dans `chromecast_discovery.rs` via l’API haut‑niveau de mdns-sd (`ServiceInfo`, `get_property_val_str`) → ~80 lignes remplacées par 52 - Ajouter index SQLite `idx_metadata_key_value` pour accélérer les requêtes par origin_url - Nettoyer exports inutiles dans `pmomediaserver::server_ext` - Supprimer filtre de bruit obsolète `mdns=error` dans les logs - Met à jour la version en 0.3.42
50 lines
1.7 KiB
TOML
50 lines
1.7 KiB
TOML
[package]
|
|
name = "pmocontrol"
|
|
version = "0.3.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
pmoupnp = { path = "../pmoupnp" }
|
|
pmodidl = { path = "../pmodidl" }
|
|
pmoutils = { version = "0.1.2", registry = "pmo" }
|
|
quick-xml = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
ureq = "3.1.4"
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = "0.3"
|
|
tracing-log = "0.1"
|
|
anyhow = { workspace = true }
|
|
xmltree = "0.11.0"
|
|
crossbeam-channel = "0.5"
|
|
ratatui = { version = "0.26", default-features = false, features = ["crossterm"] }
|
|
crossterm = "0.27"
|
|
rust_cast = "0.19"
|
|
rustls = { version = "0.23", features = ["aws-lc-rs"] }
|
|
mdns-sd = "0.19"
|
|
smol = "2.0"
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
rand = { workspace = true }
|
|
|
|
# pmoserver extension support (optional)
|
|
pmoserver = { path = "../pmoserver", optional = true }
|
|
pmocovers = { path = "../pmocovers", optional = true }
|
|
utoipa = { version = "5.4.0", optional = true }
|
|
axum = { version = "0.8.4", optional = true }
|
|
tokio = { workspace = true, features = ["sync", "rt"], optional = true }
|
|
tokio-util = { version = "0.7", optional = true }
|
|
async-trait = { version = "0.1", optional = true }
|
|
tokio-stream = { version = "0.1", features = ["sync"], optional = true }
|
|
async-stream = { version = "0.3", optional = true }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
url = { version = "2", optional = true }
|
|
urlencoding = { version = "2", optional = true }
|
|
|
|
[dev-dependencies]
|
|
percent-encoding = "2.3"
|
|
|
|
[features]
|
|
default = []
|
|
# Active l'API REST pmoserver
|
|
pmoserver = ["dep:pmoserver", "dep:pmocovers", "dep:utoipa", "dep:axum", "dep:tokio", "dep:tokio-util", "dep:async-trait", "dep:tokio-stream", "dep:async-stream", "dep:url", "dep:urlencoding"]
|