diff options
author | Morten Minde Neergaard <mneergaa@cisco.com> | 2015-11-13 19:21:35 +0100 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-11-19 11:56:04 +0000 |
commit | 4a2c597a0666452a39939339ebd6f87040952cd3 (patch) | |
tree | 3716f7ae5ee8447442e88b6652181c5713d3b746 | |
parent | c106041bd6bfa15fa7646aafd848da3f930055ff (diff) |
Don't initialize volume on pulse audio input by default.
Task-number: QTBUG-49461
Change-Id: I32b707e19091ab8344175b2dc0cdd1747f1186b3
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
-rw-r--r-- | src/plugins/pulseaudio/qaudioinput_pulse.cpp | 5 | ||||
-rw-r--r-- | src/plugins/pulseaudio/qaudioinput_pulse.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/pulseaudio/qaudioinput_pulse.cpp b/src/plugins/pulseaudio/qaudioinput_pulse.cpp index 1a34d594d..77b438ff9 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 b7f7e7f10..971c8d74b 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: |