Bugzilla – Bug 17326
(CircularRouting): Undefined behavior for circular graphs
Last modified: 2013-09-06 14:36:25 UTC
Audio-ISSUE-24 (CircularRouting): Undefined behavior for circular graphs [Web Audio API]
Raised by: Philip Jägenstedt
On product: Web Audio API
The spec does not define whether or not circular connections are allowed. Whichever is the case, the behavior needs to be defined.
Proposed changeset, 25 May 2012
Resolution per http://www.w3.org/2012/05/30-audio-minutes.html#item02
«it is OK to have a circular graph so long as there is a delay. The minimum delay should be 128 samples»
Discussion thread on the list:
The discussion continues on the mailing-list:
And Robert raised a related issue about the lookahead in the DynamicsCompressorNode:
This was discussed at the 12th Sept 2012 teleconference.
Suggested resolution: circular connections are allowed if there is a delay node present. If the delay is too small, the implementation should clamp it to a minimum, on a per-node basis.
There were two suggested resolutions for the minimum delay:
* one to specify the minimum as a block of 128 samples (which would make things sound differently on platforms with different sample sizes, but that was deemed acceptable in the same way as graphics look different on platforms with different frame rates and power).
* The other was to not specify it and let implementations choose (and, I assume, expose?) their minimum delay.
If circular connections (without delay) are allowed it may be worth considering raising an exception when they are detected. Software such as Pure Data and Max/Msp do this as well as zeroing the output.
Without the exception it may make the debugging process longer.
Duping against the most recent bug with the latest developments.
*** This bug has been marked as a duplicate of bug 23037 ***