From 22e6fe31b363c5d07298e2bfa1da14c9af66a534 Mon Sep 17 00:00:00 2001 From: 409 Date: Wed, 27 Nov 2024 03:56:22 +0100 Subject: [PATCH] fix(queue): tracks not ending sometimes --- src/music/player.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/music/player.rs b/src/music/player.rs index 75a6aea..7a48058 100644 --- a/src/music/player.rs +++ b/src/music/player.rs @@ -49,13 +49,16 @@ impl AudioPlayer { tokio::spawn(async move { loop { if let Some(current_track) = current_track.lock().await.as_mut() { - if current_track.duration as u128 <= sink.lock().await.get_pos().as_millis() + let sink = sink.lock().await; + if sink.empty() + || current_track.duration as u128 <= sink.get_pos().as_millis() { if let Err(_) = tx.send(queue.lock().await.pop_front()).await { break; } } } + tokio::time::sleep(Self::WATCH_SLEEP_TIME).await; } }),