diff options
-rw-r--r-- | src/plugins/windowsaudio/qwindowsaudioinput.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/windowsaudio/qwindowsaudioinput.cpp b/src/plugins/windowsaudio/qwindowsaudioinput.cpp index 00b36cfe4..717baaff0 100644 --- a/src/plugins/windowsaudio/qwindowsaudioinput.cpp +++ b/src/plugins/windowsaudio/qwindowsaudioinput.cpp @@ -74,7 +74,7 @@ QWindowsAudioInput::QWindowsAudioInput(const QByteArray &device) waveBlockOffset = 0; mixerID = 0; - cachedVolume = 1.0f; + cachedVolume = -1.0f; memset(&mixerLineControls, 0, sizeof(mixerLineControls)); } @@ -228,7 +228,7 @@ qreal QWindowsAudioInput::volume() const return detailsUnsigned.dwValue / 65535.0; } - return cachedVolume; + return qFuzzyCompare(cachedVolume, qreal(-1.0f)) ? 1.0f : cachedVolume; } void QWindowsAudioInput::setFormat(const QAudioFormat& fmt) @@ -429,7 +429,7 @@ void QWindowsAudioInput::initMixer() mixerLineControls.pamxctrl = new MIXERCONTROL[mixerLineControls.cControls]; if (mixerGetLineControls(mixerID, &mixerLineControls, MIXER_GETLINECONTROLSF_ALL) != MMSYSERR_NOERROR) closeMixer(); - else + else if (!qFuzzyCompare(cachedVolume, qreal(-1.0f))) setVolume(cachedVolume); } } |