summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorten Minde Neergaard <mneergaa@cisco.com>2015-11-13 19:21:35 +0100
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-11-19 11:56:04 +0000
commit4a2c597a0666452a39939339ebd6f87040952cd3 (patch)
tree3716f7ae5ee8447442e88b6652181c5713d3b746
parentc106041bd6bfa15fa7646aafd848da3f930055ff (diff)
downloadqtmultimedia-4a2c597a0666452a39939339ebd6f87040952cd3.tar.gz
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.cpp5
-rw-r--r--src/plugins/pulseaudio/qaudioinput_pulse.h1
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: