summaryrefslogtreecommitdiffstats
path: root/src/plugins/alsa/qalsaaudiooutput.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-12-12 09:48:13 +0100
committerLiang Qi <liang.qi@qt.io>2016-12-12 10:27:59 +0100
commit533759ef333e4db8625cd02f763994788da01199 (patch)
treedcb4b4ec8882b42ce8213f4e309534dd8d234843 /src/plugins/alsa/qalsaaudiooutput.cpp
parent31ed506ea2c7a8be439d77e02ca0d67b6f9ce675 (diff)
parent7bc230386e0d8d6f3c4ad5a0a6a22a625c9a8327 (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts: src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp Change-Id: I7c30c2d13fdd07ee07e4449d5d3e256e988d3793
Diffstat (limited to 'src/plugins/alsa/qalsaaudiooutput.cpp')
-rw-r--r--src/plugins/alsa/qalsaaudiooutput.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/alsa/qalsaaudiooutput.cpp b/src/plugins/alsa/qalsaaudiooutput.cpp
index 5e444a0a9..cd97ae85b 100644
--- a/src/plugins/alsa/qalsaaudiooutput.cpp
+++ b/src/plugins/alsa/qalsaaudiooutput.cpp
@@ -49,6 +49,7 @@
//
#include <QtCore/qcoreapplication.h>
+#include <QtCore/qvarlengtharray.h>
#include <QtMultimedia/private/qaudiohelpers_p.h>
#include "qalsaaudiooutput.h"
#include "qalsaaudiodeviceinfo.h"
@@ -567,9 +568,9 @@ qint64 QAlsaAudioOutput::write( const char *data, qint64 len )
frames = snd_pcm_bytes_to_frames(handle, space);
if (m_volume < 1.0f) {
- char out[space];
- QAudioHelperInternal::qMultiplySamples(m_volume, settings, data, out, space);
- err = snd_pcm_writei(handle, out, frames);
+ QVarLengthArray<char, 4096> out(space);
+ QAudioHelperInternal::qMultiplySamples(m_volume, settings, data, out.data(), space);
+ err = snd_pcm_writei(handle, out.constData(), frames);
} else {
err = snd_pcm_writei(handle, data, frames);
}