diff --git a/src/plugins/opensles/qopenslesaudioinput.cpp b/src/plugins/opensles/qopenslesaudioinput.cpp index c3f5ed4220f9de187f6a964ef33b4219fc5e2a45..ad87cb057d391874131d9990bf4dfe0c88deff2f 100644 --- a/src/plugins/opensles/qopenslesaudioinput.cpp +++ b/src/plugins/opensles/qopenslesaudioinput.cpp @@ -475,8 +475,11 @@ void QOpenSLESAudioInput::flushBuffers() qint64 delta = recorderPos * 1000 - devicePos; - if (delta > 0) - writeDataToDevice(m_buffers[m_currentBuffer].constData(), m_format.bytesForDuration(delta)); + if (delta > 0) { + const int writeSize = std::min(m_buffers[m_currentBuffer].size(), + m_format.bytesForDuration(delta)); + writeDataToDevice(m_buffers[m_currentBuffer].constData(), writeSize); + } } int QOpenSLESAudioInput::bytesReady() const