From ab86c7abd286251238260d61da3249d18a5f9a18 Mon Sep 17 00:00:00 2001 From: Simon Gellis Date: Thu, 5 Feb 2026 23:06:48 -0500 Subject: [PATCH] Fix underflow when playing with speedup --- src/audio.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/audio.rs b/src/audio.rs index b095b77..7f84346 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -81,7 +81,8 @@ impl Audio { pub fn update(&mut self, mut samples: &[f32]) { while self.input_buffer.len() + samples.len() >= self.sampler.input_frames_next() * 2 { - let samples_needed = (self.sampler.input_frames_next() * 2) - self.input_buffer.len(); + let samples_needed = + (self.sampler.input_frames_next() * 2).saturating_sub(self.input_buffer.len()); let (current_samples, future_samples) = samples.split_at(samples_needed); self.input_buffer.extend_from_slice(current_samples); samples = future_samples;