Fix underflow when playing with speedup
This commit is contained in:
+2
-1
@@ -81,7 +81,8 @@ impl Audio {
|
|||||||
|
|
||||||
pub fn update(&mut self, mut samples: &[f32]) {
|
pub fn update(&mut self, mut samples: &[f32]) {
|
||||||
while self.input_buffer.len() + samples.len() >= self.sampler.input_frames_next() * 2 {
|
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);
|
let (current_samples, future_samples) = samples.split_at(samples_needed);
|
||||||
self.input_buffer.extend_from_slice(current_samples);
|
self.input_buffer.extend_from_slice(current_samples);
|
||||||
samples = future_samples;
|
samples = future_samples;
|
||||||
|
|||||||
Reference in New Issue
Block a user