ISSUE-94: (Bugzilla 17405) Dynamic Lifetime


(Bugzilla 17405) Dynamic Lifetime

Web Audio API
Raised by:
Philip J├Ągenstedt
Opened on:

"When the note has finished playing, the context will automatically release the reference to the AudioBufferSourceNode, which in turn will release references to any nodes it is connected to, and so on. The nodes will automatically get disconnected from the graph and will be deleted when they have no more references. Nodes in the graph which are long-lived and shared between dynamic voices can be managed explicitly."

This look like a requirement on the implementation, but it's not normative or detailed enough to test or implement.

The above quoted text appears to not be the wanted behavior, unless "has a reference" means "can produce output". For example, if an AudioBufferSourceNode produces output for n milliseconds and is followed by a DelayNode with delay n milliseconds, certainly the lifetime of the delay node should be 2*n. To collect all of the downstream elements because the AudioBufferSourceNode reaches FINISHED_STATE is not sensible. If circular routing is allowed ( it will be possible to create subgraphs which never stop producing output and can (should) thus never be collected.

For reference, HTMLMediaElement has the concept of "potentially playing" and is not destroyed while it may still produce output. Something similar for the Web Audio API seems logical, as the result would otherwise be sensitive to GC intervals.
Related Actions Items:
No related actions
Related emails:
  1. [web-audio-api] (DynamicLifetime): Dynamic Lifetime (#161) (from on 2013-09-11)
  2. Re: third public Working Draft of the Web Audio API available (from on 2012-08-02)
  3. Re: [Agenda] W3C Audio WG Teleconference, 30th May 2012 (from on 2012-05-30)
  4. Re: Summary of issues (from on 2012-05-22)
  5. Summary of issues (from on 2012-05-22)
  6. Audio-ISSUE-94 (DynamicLifetime): Dynamic Lifetime [Web Audio API] (from on 2012-05-18)

Related notes:

Detailed text added:

Chris Rogers, 4 Jun 2012, 22:51:44


5 Jun 2012, 13:03:09

Display change log ATOM feed

Matthew Paradis <>, Raymond Toy <>, Chairs, Chris Lilley <>, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <>.
$Id: 94.html,v 1.1 2019/11/12 13:32:57 carcone Exp $