diff options
author | Aimee Linden <aimee@lindenlab.com> | 2010-02-02 14:10:38 +0000 |
---|---|---|
committer | Aimee Linden <aimee@lindenlab.com> | 2010-02-02 14:10:38 +0000 |
commit | 6ea944b38f1e619df2c52283f6b33bbcc1cbbc40 (patch) | |
tree | 8102080be0b9142bfe6a8b2fea35f893e5195948 /indra | |
parent | 4ad357ec70e15afdfe78816990cb23c7ba17619c (diff) |
Supplementary fix EXT-4770 : Voice muting not working properly due to a change in the Vivox API
The master voice mute in preferences wasn't working either, due to the minimum scaled volume now being 30 instead of 0.
Reviewed by Lynx.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llvoiceclient.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index c062dd1732..3914064d72 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -1258,7 +1258,6 @@ LLVoiceClient::LLVoiceClient() : mEarLocation(0), mSpeakerVolumeDirty(true), mSpeakerMuteDirty(true), - mSpeakerVolume(0), mMicVolume(0), mMicVolumeDirty(true), @@ -1271,6 +1270,8 @@ LLVoiceClient::LLVoiceClient() : mAPIVersion = LLTrans::getString("NotConnected"); + mSpeakerVolume = scale_speaker_volume(0); + #if LL_DARWIN || LL_LINUX || LL_SOLARIS // HACK: THIS DOES NOT BELONG HERE // When the vivox daemon dies, the next write attempt on our socket generates a SIGPIPE, which kills us. @@ -3525,7 +3526,7 @@ void LLVoiceClient::buildLocalAudioUpdates(std::ostringstream &stream) if(mSpeakerMuteDirty) { - const char *muteval = ((mSpeakerVolume == 0)?"true":"false"); + const char *muteval = ((mSpeakerVolume <= scale_speaker_volume(0))?"true":"false"); mSpeakerMuteDirty = false; @@ -6062,7 +6063,8 @@ void LLVoiceClient::setVoiceVolume(F32 volume) if(scaled_volume != mSpeakerVolume) { - if((scaled_volume == 0) || (mSpeakerVolume == 0)) + int min_volume = scale_speaker_volume(0); + if((scaled_volume == min_volume) || (mSpeakerVolume == min_volume)) { mSpeakerMuteDirty = true; } |