Only tune audio buffer sizes on Windows

This commit is contained in:
Bill Somerville 2020-08-11 14:27:46 +01:00
parent 0cf14dfcc9
commit 4f68dfda40
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
2 changed files with 6 additions and 0 deletions

View File

@ -82,7 +82,11 @@ void SoundInput::start(QAudioDeviceInfo const& device, int framesPerBuffer, Audi
//qDebug () << "SoundIn default buffer size (bytes):" << m_stream->bufferSize () << "period size:" << m_stream->periodSize ();
// the Windows MME version of QAudioInput uses 1/5 of the buffer
// size for period size other platforms seem to optimize themselves
#if defined (Q_OS_WIN)
m_stream->setBufferSize (m_stream->format ().bytesForFrames (framesPerBuffer * 5));
#else
Q_UNUSED (framesPerBuffer);
#endif
if (sink->initialize (QIODevice::WriteOnly, channel))
{
m_stream->start (sink);

View File

@ -85,7 +85,9 @@ void SoundOutput::restart (QIODevice * source)
//qDebug () << "SoundOut default buffer size (bytes):" << m_stream->bufferSize () << "period size:" << m_stream->periodSize ();
if (m_framesBuffered)
{
#if defined (Q_OS_WIN)
m_stream->setBufferSize (m_stream->format().bytesForFrames (m_framesBuffered));
#endif
}
m_stream->setCategory ("production");
m_stream->start (source);