Fix cover URL race condition in RadioParadiseStreamSource
Corrige un bug critique de race condition dans RadioParadiseStreamSource : - Rend song_to_metadata() async et attend que toutes les métadonnées soient configurées - Supprime le tokio::spawn() qui causait un retour prématuré des métadonnées - Garantit que cover_url est disponible quand FlacCacheSink lit les métadonnées - Ajoute des logs de debug pour tracer la configuration des métadonnées - Remplace eprintln! par tracing::warn! pour une meilleure cohérence Corrige également un warning de compilation : - Retire le `mut` inutile sur la variable `writer` dans play_and_cache.rs Le problème : song_to_metadata() retournait les métadonnées avant que la task asynchrone ne finisse de les configurer, ce qui causait un cover_url manquant quand FlacCacheSink essayait de cacher les covers.
This commit is contained in:
@@ -130,7 +130,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
tracing::info!("Creating playlist: {}", playlist_id);
|
||||
|
||||
// Créer une playlist éphémère (non persistante) pour cet exemple
|
||||
let mut writer = playlist_manager.get_write_handle(playlist_id.clone()).await?;
|
||||
let writer = playlist_manager.get_write_handle(playlist_id.clone()).await?;
|
||||
writer.set_title(format!("Radio Paradise - Channel {}", channel_id)).await?;
|
||||
writer.flush().await?; // Vider la playlist si elle existait
|
||||
tracing::debug!("Playlist created and flushed");
|
||||
|
||||
Reference in New Issue
Block a user