Index: Source/platform/audio/HRTFPanner.cpp |
diff --git a/Source/platform/audio/HRTFPanner.cpp b/Source/platform/audio/HRTFPanner.cpp |
index 851410a61a04a0459d6627280bdf565679a45b5d..bef6ed00290673d2b83e557a6755fd9a87b7c362 100644 |
--- a/Source/platform/audio/HRTFPanner.cpp |
+++ b/Source/platform/audio/HRTFPanner.cpp |
@@ -54,10 +54,10 @@ HRTFPanner::HRTFPanner(float sampleRate, HRTFDatabaseLoader* databaseLoader) |
, m_elevation2(0) |
, m_crossfadeX(0) |
, m_crossfadeIncr(0) |
- , m_convolverL1(fftSizeForSampleRate(sampleRate)) |
- , m_convolverR1(fftSizeForSampleRate(sampleRate)) |
- , m_convolverL2(fftSizeForSampleRate(sampleRate)) |
- , m_convolverR2(fftSizeForSampleRate(sampleRate)) |
+ , m_convolverL1(AudioUtilities::fftSizeForSampleRate(sampleRate)) |
+ , m_convolverR1(AudioUtilities::fftSizeForSampleRate(sampleRate)) |
+ , m_convolverL2(AudioUtilities::fftSizeForSampleRate(sampleRate)) |
+ , m_convolverR2(AudioUtilities::fftSizeForSampleRate(sampleRate)) |
, m_delayLineL(MaxDelayTimeSeconds, sampleRate) |
, m_delayLineR(MaxDelayTimeSeconds, sampleRate) |
, m_tempL1(RenderingQuantum) |
@@ -72,25 +72,6 @@ HRTFPanner::~HRTFPanner() |
{ |
} |
-size_t HRTFPanner::fftSizeForSampleRate(float sampleRate) |
-{ |
- // The HRTF impulse responses (loaded as audio resources) are 512 sample-frames @44.1KHz. |
- // Currently, we truncate the impulse responses to half this size, |
- // but an FFT-size of twice impulse response size is needed (for convolution). |
- // So for sample rates around 44.1KHz an FFT size of 512 is good. |
- // For different sample rates, the truncated response is resampled. |
- // The resampled length is used to compute the FFT size by choosing a power of two that is |
- // greater than or equal the resampled length. This power of two is doubled to get the actual FFT size. |
- |
- ASSERT(sampleRate >= 3000 && sampleRate <= 192000); |
- |
- int truncatedImpulseLength = 256; |
- double sampleRateRatio = sampleRate / 44100; |
- double resampledLength = truncatedImpulseLength * sampleRateRatio; |
- |
- return 2 * (1 << static_cast<unsigned>(log2(resampledLength))); |
-} |
- |
void HRTFPanner::reset() |
{ |
m_convolverL1.reset(); |