From d49a1e54d66241e3e3de4e7010c47cdbf32722d7 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Sun, 26 Oct 2025 18:13:29 +0100 Subject: [PATCH] Debug du stream --- pmoconfig/src/pmomusic.yaml | 33 +---------------------------- pmoparadise/src/paradise/channel.rs | 6 ++++++ pmoparadise/src/paradise/worker.rs | 12 +++++++++++ 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/pmoconfig/src/pmomusic.yaml b/pmoconfig/src/pmomusic.yaml index f4cd163b..6423ad4e 100644 --- a/pmoconfig/src/pmomusic.yaml +++ b/pmoconfig/src/pmomusic.yaml @@ -10,35 +10,4 @@ host: buffer_capacity: 200 enable_console: true min_level: "INFO" - -mediarenderer: - -mediaserver: - sources: - radio_paradise: - enabled: true - cache: - max_blocks_remembered: 5 - track_id_hash_bytes: 512 - history: - max_tracks: 100 - persistence_backend: sqlite - database_path: /var/lib/pmo/paradise_history.db - activity: - cooling_timeout_seconds: 180 - polling: - interval_high_buffer: 120 - interval_medium_buffer: 60 - interval_low_buffer: 20 - backoff_on_error: - initial: 20 - max: 300 - multiplier: 2.0 - stream: - metadata_format: icy - enable_gapless: true - buffer_size_bytes: 65536 - api: - base_url: https://api.radioparadise.com - timeout_seconds: 30 - user_agent: "PMO-RadioParadise/1.0" + \ No newline at end of file diff --git a/pmoparadise/src/paradise/channel.rs b/pmoparadise/src/paradise/channel.rs index a76edb56..4e5a49f5 100644 --- a/pmoparadise/src/paradise/channel.rs +++ b/pmoparadise/src/paradise/channel.rs @@ -333,7 +333,13 @@ impl ParadiseClientStream { pub fn into_byte_stream(self) -> BoxStream<'static, Result> { let channel = self.channel.clone(); + let client_id = self.client_id.clone(); let stream = try_stream! { + tracing::info!( + channel = channel.descriptor().slug, + client_id = %client_id, + "🎧 Client connecting to stream" + ); channel.ensure_started().await?; let mut index = 0usize; loop { diff --git a/pmoparadise/src/paradise/worker.rs b/pmoparadise/src/paradise/worker.rs index 8476d6ce..fbf7ab2d 100644 --- a/pmoparadise/src/paradise/worker.rs +++ b/pmoparadise/src/paradise/worker.rs @@ -600,6 +600,12 @@ impl WorkerState { .await .map_err(|e| anyhow!("Cache audio error: {e}"))?; + // Wait for the file to be completely written before continuing + self.cache_manager + .wait_audio_ready(&audio_pk) + .await + .map_err(|e| anyhow!("Wait audio ready error: {e}"))?; + metadata.cached_audio_pk = Some(audio_pk.clone()); self.cache_manager .update_metadata(track_id.clone(), metadata) @@ -680,6 +686,12 @@ impl WorkerState { .await .map_err(|e| anyhow!("Cache audio error: {e}"))?; + // Wait for the file to be completely written before continuing + self.cache_manager + .wait_audio_ready(&audio_pk) + .await + .map_err(|e| anyhow!("Wait audio ready error: {e}"))?; + metadata.cached_audio_pk = Some(audio_pk.clone()); self.cache_manager .update_metadata(track_id.clone(), metadata.clone())