From 4a2c597a0666452a39939339ebd6f87040952cd3 Mon Sep 17 00:00:00 2001 From: Morten Minde Neergaard Date: Fri, 13 Nov 2015 19:21:35 +0100 Subject: [PATCH] Don't initialize volume on pulse audio input by default. Task-number: QTBUG-49461 Change-Id: I32b707e19091ab8344175b2dc0cdd1747f1186b3 Reviewed-by: Yoann Lopes --- src/plugins/pulseaudio/qaudioinput_pulse.cpp | 5 ++++- src/plugins/pulseaudio/qaudioinput_pulse.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/pulseaudio/qaudioinput_pulse.cpp b/src/plugins/pulseaudio/qaudioinput_pulse.cpp index 1a34d594..77b438ff 100644 --- a/src/plugins/pulseaudio/qaudioinput_pulse.cpp +++ b/src/plugins/pulseaudio/qaudioinput_pulse.cpp @@ -150,6 +150,7 @@ QPulseAudioInput::QPulseAudioInput(const QByteArray &device) , m_errorState(QAudio::NoError) , m_deviceState(QAudio::StoppedState) , m_volume(qreal(1.0f)) + , m_customVolumeRequired(false) , m_pullMode(true) , m_opened(false) , m_bytesAvailable(0) @@ -355,7 +356,8 @@ bool QPulseAudioInput::open() if (actualBufferAttr->tlength != (uint32_t)-1) m_bufferSize = actualBufferAttr->tlength; - setPulseVolume(); + if (m_customVolumeRequired) + setPulseVolume(); pulseEngine->unlock(); @@ -568,6 +570,7 @@ void QPulseAudioInput::setVolume(qreal vol) if (vol >= 0.0 && vol <= 1.0) { QPulseAudioEngine *pulseEngine = QPulseAudioEngine::instance(); pulseEngine->lock(); + m_customVolumeRequired = true; if (!qFuzzyCompare(m_volume, vol)) { m_volume = vol; if (m_opened) { diff --git a/src/plugins/pulseaudio/qaudioinput_pulse.h b/src/plugins/pulseaudio/qaudioinput_pulse.h index b7f7e7f1..971c8d74 100644 --- a/src/plugins/pulseaudio/qaudioinput_pulse.h +++ b/src/plugins/pulseaudio/qaudioinput_pulse.h @@ -100,6 +100,7 @@ public: QAudio::Error m_errorState; QAudio::State m_deviceState; qreal m_volume; + bool m_customVolumeRequired; pa_cvolume m_chVolume; private slots: