diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/pcm/SoxrResampler.cxx | 3 |
2 files changed, 3 insertions, 1 deletions
@@ -9,6 +9,7 @@ ver 0.19.3 (not yet released) - audiofile: fix crash while playing streams - audiofile: fix bit rate calculation - ffmpeg: support opus +* fix distorted audio with soxr resampler ver 0.19.2 (2014/11/02) * input diff --git a/src/pcm/SoxrResampler.cxx b/src/pcm/SoxrResampler.cxx index 56b9760d5..b9d6fc099 100644 --- a/src/pcm/SoxrResampler.cxx +++ b/src/pcm/SoxrResampler.cxx @@ -147,7 +147,8 @@ SoxrPcmResampler::Resample(ConstBuffer<void> src, Error &error) const size_t n_frames = src.size / frame_size; - const size_t o_frames = size_t(n_frames * ratio + 0.5); + /* always round up: worst case output buffer size */ + const size_t o_frames = size_t(n_frames * ratio) + 1; float *output_buffer = (float *)buffer.Get(o_frames * frame_size); |