Panner outputs silence if HRTF database hasn't been loaded yet |
|||
Issue descriptionWhen a PannerNode is set to HRTF mode, the HRTF database needs to be loaded, which takes some time. During that time, the panner is processing audio. In the current code, the panner will output silence if the database has not yet been loaded. Perhaps this should be changed so that the panner is a pass-through so audio is heard. However, this has the potential to cause some glitches when the data base is loaded and applied to audio. See test case from issue 602668 for an example where the first sound is not heard.
,
Jul 20 2016
,
Jul 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dec7ebfb35299bc15a0bc222dea7838b04d2c469 commit dec7ebfb35299bc15a0bc222dea7838b04d2c469 Author: rtoy <rtoy@chromium.org> Date: Wed Jul 20 19:29:06 2016 Pass through audio if HRTF database isn't loaded yet. If the HRTF panner isn't loaded yet, instead of zeroing the output, copy the input to the output so that some audio is heard. In either case, there is a potential for a glitch, but it seems better to have some audio output instead of silence. The previous worst case was if loading the database is slow and the sound is short, you won't hear anything. Now you will. If the sound is long enough, you previously would hear silence and suddenly a sound. Now you'll hear the sound which would suddenly change to due spatialization. We deem this to be less troublesome that not hearing the initial sound at all. BUG= 629858 TEST=Run test from 602668 and audio from the first instance should be heard Review-Url: https://codereview.chromium.org/2168653003 Cr-Commit-Position: refs/heads/master@{#406638} [modify] https://crrev.com/dec7ebfb35299bc15a0bc222dea7838b04d2c469/third_party/WebKit/Source/modules/webaudio/PannerNode.cpp
,
Jul 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43 commit d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43 Author: rtoy <rtoy@chromium.org> Date: Thu Jul 21 23:27:33 2016 HRTF panner should handle the case of no loaded HRTF database Currently, the panner node checks to see if the HRTF database is loaded and does the copy of the input if necessary. This is the wrong abstraction; the HRTF panner should copy the input if the database is not ready. In this way, the panner doesn't need to know about this implementation detail, and we also get the correct distance and cone gains applied. BUG= 629858 TEST= Review-Url: https://codereview.chromium.org/2170973002 Cr-Commit-Position: refs/heads/master@{#406988} [modify] https://crrev.com/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43/third_party/WebKit/Source/modules/webaudio/PannerNode.cpp [modify] https://crrev.com/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43/third_party/WebKit/Source/platform/audio/EqualPowerPanner.cpp [modify] https://crrev.com/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43/third_party/WebKit/Source/platform/audio/EqualPowerPanner.h [modify] https://crrev.com/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43/third_party/WebKit/Source/platform/audio/HRTFPanner.cpp [modify] https://crrev.com/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43/third_party/WebKit/Source/platform/audio/HRTFPanner.h [modify] https://crrev.com/d8bfaa0cd8383d9dff73c737fe8ae19fedc40a43/third_party/WebKit/Source/platform/audio/Panner.h
,
Jul 25 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by rtoy@chromium.org
, Jul 20 2016