On Wed, May 2, 2018 at 9:21 PM, Karl Tomlinson <mozn...@karlt.net> wrote:

> It seems that Chrome works around this by choosing to garbage
> collect input nodes even when their presence is specified to
> require (observable) AudioWorkletProcessor.process() calls.
> This garbage collection is performed in a way that causes the
> process() calls to be halted (which stops sound production), and
> so the AudioWorkletProcessor can subsequently also be garbage
> collected if there are no rooted references, as usual.
>
> Having the behavior of AudioWorkletProcess depend on whether or
> not the client maintains references to input nodes is not
> something I'd like to implement.  It would be comparable to an
> audio element stopping playback at a time when an implementation
> chooses to perform garbage collection after the client has removed
> its last reference.  It is contrary to [[TAG design principles]].
> The Chrome approach seems to be based on a different understanding
> of [[AudioNode Lifetime]].
>

Making GC timing observable is a big, big problem. I hope you escalate this
aggressively with the Chrome team.

Rob
-- 
Su ot deraeppa sah dna Rehtaf eht htiw saw hcihw, efil lanrete eht uoy ot
mialcorp ew dna, ti ot yfitset dna ti nees evah ew; deraeppa efil eht. Efil
fo Drow eht gninrecnoc mialcorp ew siht - dehcuot evah sdnah ruo dna ta
dekool evah ew hcihw, seye ruo htiw nees evah ew hcihw, draeh evah ew
hcihw, gninnigeb eht morf saw hcihw taht.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to