Issue #2741 - Part 3 - Clamp rolloff factor appropriately in PannerNodeEngine

This commit is contained in:
trav90 2025-05-15 07:47:48 -05:00 committed by roytam1
commit 96cc879fab

View file

@ -373,7 +373,9 @@ void PannerNode::DestroyMediaStream()
float
PannerNodeEngine::LinearGainFunction(double aDistance)
{
return 1 - mRolloffFactor * (std::max(std::min(aDistance, mMaxDistance), mRefDistance) - mRefDistance) / (mMaxDistance - mRefDistance);
double clampedRollof = std::clamp(mRolloffFactor, 0.0, 1.0);
return AssertedCast<float>(
1.0 - clampedRollof * (std::max(std::min(aDistance, mMaxDistance), mRefDistance) - mRefDistance) / (mMaxDistance - mRefDistance));
}
float