From f388aade3f0bfb7469631d4e296a6619c84ae961 Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
Date: Tue, 20 Aug 2013 16:34:25 -0400
Subject: [PATCH] * #28679: audio: use correctly sized buffer for resampling

---
 daemon/src/audio/samplerateconverter.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/daemon/src/audio/samplerateconverter.cpp b/daemon/src/audio/samplerateconverter.cpp
index 337e0df4f6..2f6c3d0e03 100644
--- a/daemon/src/audio/samplerateconverter.cpp
+++ b/daemon/src/audio/samplerateconverter.cpp
@@ -101,9 +101,8 @@ void SamplerateConverter::resample(const AudioBuffer &dataIn, AudioBuffer &dataO
 
     /*
     TODO: one-shot deinterleave and float-to-short conversion
-    currently using floatBufferIn_ as scratch
     */
-    SFLAudioSample *scratch_buff = reinterpret_cast<SFLAudioSample *>(floatBufferIn_.data());
-    src_float_to_short_array(floatBufferOut_.data(), scratch_buff, outSamples);
-    dataOut.deinterleave(scratch_buff, src_data.output_frames, nbChans);
+    std::vector<SFLAudioSample> scratch_buff(outSamples);
+    src_float_to_short_array(floatBufferOut_.data(), scratch_buff.data(), outSamples);
+    dataOut.deinterleave(scratch_buff.data(), src_data.output_frames, nbChans);
 }
-- 
GitLab