summaryrefslogtreecommitdiffstats
path: root/src/multimedia/windows
diff options
context:
space:
mode:
authorPavel Dubsky <pavel.dubsky@qt.io>2023-10-03 11:49:05 +0200
committerPavel Dubsky <pavel.dubsky@qt.io>2023-10-04 21:51:31 +0200
commit194b1b22dcd49df3949a6c8ed5d54585970798cf (patch)
tree0fd8bd425ae2ce3b04fa39232084dceff118e295 /src/multimedia/windows
parent119aaa2aa8f8e6a0c3b9ada5397f6e9c00fdfab9 (diff)
Add audio warm-up opt out option
Current workaround to fix audio cutting out in the beginning of the audio on Windows introduced some weird side effects which are hard to reproduce, such as: blocking sleep mode, stucking CPU core at the minimum frequency. So far, there's no any other solution to the cutting sound issue, so an environment variable that provides the ability to opt out is introduced. Task-number: QTBUG-117528 Task-number: QTBUG-117612 Pick-to: 6.6 6.5 Change-Id: I8b6ecab5cb3ae9136fd29adf5186d15c9128707f Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Diffstat (limited to 'src/multimedia/windows')
-rw-r--r--src/multimedia/windows/qwindowsmediadevices.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/multimedia/windows/qwindowsmediadevices.cpp b/src/multimedia/windows/qwindowsmediadevices.cpp
index 9669496d6..1b1ad194c 100644
--- a/src/multimedia/windows/qwindowsmediadevices.cpp
+++ b/src/multimedia/windows/qwindowsmediadevices.cpp
@@ -291,8 +291,20 @@ QPlatformAudioSink *QWindowsMediaDevices::createAudioSink(const QAudioDevice &de
return new QWindowsAudioSink(devInfo->immDev(), parent);
}
+static bool isPrepareAudioEnabled()
+{
+ static bool isDisableAudioPrepareSet = false;
+ static const int disableAudioPrepare =
+ qEnvironmentVariableIntValue("QT_DISABLE_AUDIO_PREPARE", &isDisableAudioPrepareSet);
+
+ return !isDisableAudioPrepareSet || disableAudioPrepare == 0;
+}
+
void QWindowsMediaDevices::prepareAudio()
{
+ if (!isPrepareAudioEnabled())
+ return;
+
if (m_isAudioClientWarmedUp.exchange(true))
return;