⬆️ migration mdns →mddns-sd

- 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
This commit is contained in:
2026-04-09 15:49:07 +02:00
parent 35e2e037f0
commit 934bbaf4b8
12 changed files with 580 additions and 495 deletions

View File

@@ -83,7 +83,7 @@ pub mod paradise_streaming;
pub use content_handler::ContentHandler;
pub use device::MEDIA_SERVER;
pub use device_ext::MediaServerDeviceExt;
pub use server_ext::{MediaServerExt, MusicSourceExt, get_source_registry};
pub use server_ext::{MediaServerExt, MusicSourceExt};
pub use source_registry::SourceRegistry;
pub use sources::{SourceInitError, SourcesExt};

View File

@@ -14,23 +14,6 @@ use std::sync::Arc;
// Réexporter le trait de base de pmosource
pub use pmosource::MusicSourceExt;
/// Récupère le registre global de sources (délègue à pmosource)
///
/// # Examples
///
/// ```ignore
/// use pmomediaserver::server_ext::get_source_registry;
///
/// let sources = pmosource::api::list_all_sources().await;
/// ```
#[deprecated(
since = "0.2.0",
note = "Use pmosource::api::list_all_sources() directly"
)]
pub async fn get_source_registry() -> Vec<Arc<dyn MusicSource>> {
pmosource::api::list_all_sources().await
}
/// Trait d'extension pour le serveur MediaServer UPnP
///
/// Ce trait ajoute des méthodes spécifiques au MediaServer UPnP.