From 898ebd930e0c5bb8b3f092d4c462bc38130adccf Mon Sep 17 00:00:00 2001 From: salmonik Date: Sat, 9 May 2026 17:14:39 +0200 Subject: Fix buffer underrun - pre-decode samples before playback --- src/daemon.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/daemon.rs') diff --git a/src/daemon.rs b/src/daemon.rs index f4a72b7..7488fc2 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -400,8 +400,9 @@ fn process_command( } _ => { let was_empty = q.is_empty(); + let was_playing = audio.is_playing(); q.add_track(path.clone()); - if was_empty && audio.is_playing() { + if was_empty && !was_playing { let track = Track::from_path(path.clone()); audio.play(path); notification::notify_track(&track); @@ -449,13 +450,11 @@ fn process_command( ) } _ => { + let was_playing = audio.is_playing(); for file in &files { q.add_track(file.clone()); } - if was_empty - && audio.is_playing() - && let Some(track) = q.current() - { + if was_empty && !was_playing && let Some(track) = q.current() { audio.play(track.path.clone()); notification::notify_track(track); } -- cgit v1.2.3