diff --git a/app/codec/samplebuffer.cpp b/app/codec/samplebuffer.cpp index 45b410535..fdd25b825 100644 --- a/app/codec/samplebuffer.cpp +++ b/app/codec/samplebuffer.cpp @@ -173,15 +173,15 @@ void SampleBuffer::speed(double speed) return; } - int max_adjusted_nb_samples = qRound(static_cast(sample_count_per_channel_) * speed); + sample_count_per_channel_ = qRound(static_cast(sample_count_per_channel_) / speed); float** input_data = data_; float** output_data; - allocate_sample_buffer(&output_data, audio_params_.channel_count(), max_adjusted_nb_samples); + allocate_sample_buffer(&output_data, audio_params_.channel_count(), sample_count_per_channel_); - for (int i=0;i(i) * speed); + for (int i=0;i(i) * speed); for (int j=0;j(); - if (sample_val.isNull() - || !(samples_from_this_block = sample_val.value())) { + if (!samples_from_this_block) { // If we retrieved no samples from this block, do nothing continue; }