From 69172d7abe17d56b68a97465344467d8c34482b6 Mon Sep 17 00:00:00 2001 From: salmonik Date: Sun, 10 May 2026 00:29:01 +0200 Subject: Fix queue display returning nothing - removed daemon pager, return full output instead. Increase pre-buffer to 100 packets. --- src/audio.rs | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) (limited to 'src/audio.rs') diff --git a/src/audio.rs b/src/audio.rs index 386c041..62afd93 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -199,30 +199,29 @@ fn audio_thread( // Pre-decode some samples before starting playback to prevent buffer underrun let channels = data.channels as usize; - for _ in 0..50 { + for _ in 0..100 { match data.format.next_packet() { - Ok(packet) => { - match data.decoder.decode(&packet) { - Ok(decoded) => { - let spec = *decoded.spec(); - let mut sample_buf = - symphonia::core::audio::SampleBuffer::::new( - decoded.capacity() as u64, spec - ); - sample_buf.copy_interleaved_ref(decoded); - let samples = sample_buf.samples(); - - let resampled = if let Some(ratio) = data.resample_ratio { - resample_linear(samples, ratio, channels) - } else { - samples.to_vec() - }; - - data.sample_buffer.extend(resampled); - } - Err(_) => break, + Ok(packet) => match data.decoder.decode(&packet) { + Ok(decoded) => { + let spec = *decoded.spec(); + let mut sample_buf = symphonia::core::audio::SampleBuffer::< + f32, + >::new( + decoded.capacity() as u64, spec + ); + sample_buf.copy_interleaved_ref(decoded); + let samples = sample_buf.samples(); + + let resampled = if let Some(ratio) = data.resample_ratio { + resample_linear(samples, ratio, channels) + } else { + samples.to_vec() + }; + + data.sample_buffer.extend(resampled); } - } + Err(_) => break, + }, Err(_) => break, } } -- cgit v1.2.3