[Webkit-unassigned] [Bug 222098] Regression: Raw AudioBufferSourceNode playback causes repeated crackling sound

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 28 10:47:46 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=222098

--- Comment #21 from Chris Dumez <cdumez at apple.com> ---
(In reply to Chris Dumez from comment #20)
> (In reply to Chris Dumez from comment #19)
> > (In reply to kris from comment #14)
> > > And to clarify, the crackling only happens when using PannerNodes.
> > 
> > Actually, you can actually replace the PannerNode in your demo with a
> > DelayNode and the same issue will happen. I think it is about the
> > AudioBufferSourceNode not being connected directly to the listenerGain
> > somehow.
> 
> Ok, some progress, if I make PannerNode::requiresTailProcessing() return
> false then the issue no longer reproduces. So the issue likely only
> reproduces if the AudioBufferSource is connected to a node that requires
> tail processing (Both Delay and Panner nodes) require tail processing.
> 
> I think it is related to this code in AudioNode::disableOutputsIfNecessary():
> ```
>     if (m_connectionRefCount <= 1 && !m_isDisabled) {
>         if (!requiresTailProcessing())
>             disableOutputs();
>     }
> ```
> 
> disableOutputs() is not getting called because requiresTailProcessing()
> returns true.
> disableOutputsIfNecessary() gets called when the AudioNode loses its last
> connection.

Seems to indicate we need to keep track of the nodes doing tail processing and disable their outputs once they're done processing their tail. I am working on a patch.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210528/3b3dd0ef/attachment.htm>


More information about the webkit-unassigned mailing list