mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
b=933304 use AudioChunk::mVolume to optimize distance and cone gain r=padenot
--HG-- extra : transplant_source : %B6%97%20%08%AD%1E%D5N%A8q%5DMZ%5C%DB%10%89%F9%00%29
This commit is contained in:
parent
a3d1456e4e
commit
4245ee6562
@ -172,7 +172,6 @@ public:
|
||||
}
|
||||
|
||||
void ComputeAzimuthAndElevation(float& aAzimuth, float& aElevation);
|
||||
void DistanceAndConeGain(AudioChunk* aChunk, float aGain);
|
||||
float ComputeConeGain();
|
||||
// Compute how much the distance contributes to the gain reduction.
|
||||
float ComputeDistanceGain();
|
||||
@ -363,7 +362,7 @@ PannerNodeEngine::EqualPowerPanningFunction(const AudioChunk& aInput,
|
||||
GainStereoToStereo(aInput, aOutput, gainL, gainR, azimuth);
|
||||
}
|
||||
|
||||
DistanceAndConeGain(aOutput, distanceGain * coneGain * aInput.mVolume);
|
||||
aOutput->mVolume = aInput.mVolume * distanceGain * coneGain;
|
||||
}
|
||||
|
||||
void
|
||||
@ -389,15 +388,6 @@ PannerNodeEngine::GainStereoToStereo(const AudioChunk& aInput, AudioChunk* aOutp
|
||||
AudioBlockPanStereoToStereo(inputL, inputR, aGainL, aGainR, aAzimuth <= 0, outputL, outputR);
|
||||
}
|
||||
|
||||
void
|
||||
PannerNodeEngine::DistanceAndConeGain(AudioChunk* aChunk, float aGain)
|
||||
{
|
||||
float* samples = static_cast<float*>(const_cast<void*>(*aChunk->mChannelData.Elements()));
|
||||
uint32_t channelCount = aChunk->mChannelData.Length();
|
||||
|
||||
AudioBlockInPlaceScale(samples, channelCount, aGain);
|
||||
}
|
||||
|
||||
// This algorithm is specified in the webaudio spec.
|
||||
void
|
||||
PannerNodeEngine::ComputeAzimuthAndElevation(float& aAzimuth, float& aElevation)
|
||||
|
Loading…
Reference in New Issue
Block a user