On Wed, May 2, 2018 at 5:11 AM, Robert O'Callahan <rob...@ocallahan.org> wrote:
> 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.

Hey Rob,

It's not difficult to force a GC in javascript, so I'm curious why
making the duration of a GC observable is a problem?  Do you think you
could unpack it for me?

-tom
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to