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;