| Index: Source/modules/webaudio/PannerNode.cpp
|
| diff --git a/Source/modules/webaudio/PannerNode.cpp b/Source/modules/webaudio/PannerNode.cpp
|
| index 6504526cb60f67632f53553ec54cb4a2989f1bf8..66115a88d87dd0330769f20a336a730312ae7343 100644
|
| --- a/Source/modules/webaudio/PannerNode.cpp
|
| +++ b/Source/modules/webaudio/PannerNode.cpp
|
| @@ -107,14 +107,15 @@ void PannerHandler::process(size_t framesToProcess)
|
| MutexTryLocker tryListenerLocker(listener()->listenerLock());
|
|
|
| if (tryLocker.locked() && tryListenerLocker.locked()) {
|
| - // HRTFDatabase should be loaded before proceeding for offline audio context when the panning model is HRTF.
|
| + // HRTFDatabase should be loaded before proceeding when the panning model is HRTF.
|
| if (m_panningModel == Panner::PanningModelHRTF && !listener()->isHRTFDatabaseLoaded()) {
|
| - if (context()->isOfflineContext()) {
|
| - listener()->waitForHRTFDatabaseLoaderThreadCompletion();
|
| - } else {
|
| + if (context()->hasRealtimeConstraint()) {
|
| + // Some AudioContexts cannot block on the HRTFDatabase loader.
|
| destination->zero();
|
| return;
|
| }
|
| +
|
| + listener()->waitForHRTFDatabaseLoaderThreadCompletion();
|
| }
|
|
|
| // Apply the panning effect.
|
|
|