diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1d27d00451..39e0166145 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5971,7 +5971,7 @@ Type F32 Value - 0.2 + 0.125 MediaRollOffMin @@ -5982,7 +5982,7 @@ Type F32 Value - 7.0 + 5.0 MediaRollOffMax diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 7429a49ccf..e5c5a607dd 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1937,7 +1937,7 @@ void LLViewerMediaImpl::updateVolume() // attenuated_volume = 1 / (roll_off_rate * (d - min))^2 // the +1 is there so that for distance 0 the volume stays the same F64 adjusted_distance = mProximityCamera - gSavedSettings.getF32("MediaRollOffMin"); - F64 attenuation = gSavedSettings.getF32("MediaRollOffRate") * adjusted_distance; + F64 attenuation = 1.0 + (gSavedSettings.getF32("MediaRollOffRate") * adjusted_distance); attenuation = 1.0 / (attenuation * attenuation); // the attenuation multiplier should never be more than one since that would increase volume volume = volume * llmin(1.0, attenuation);