Bug 17326 - (CircularRouting): Undefined behavior for circular graphs
Summary: (CircularRouting): Undefined behavior for circular graphs
Status: CLOSED WONTFIX
Alias: None
Product: AudioWG - OBSOLETE - Moved to Github
Classification: Unclassified
Component: Web Audio API - OBSOLETE - See Github (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: TBD
Assignee: Chris Rogers
QA Contact: This bug has no owner yet - up for the taking
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-05 11:18 UTC by Philip Jägenstedt
Modified: 2014-10-28 17:17 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Jägenstedt 2012-06-05 11:18:29 UTC
Audio-ISSUE-24 (CircularRouting): Undefined behavior for circular graphs [Web Audio API]

http://www.w3.org/2011/audio/track/issues/24

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.
Comment 1 Olivier Thereaux 2012-06-07 16:07:25 UTC
Proposed changeset, 25 May 2012
https://dvcs.w3.org/hg/audio/rev/74bd0f9f2fb6

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:
http://lists.w3.org/Archives/Public/public-audio/2012AprJun/thread.html#msg461
Comment 2 Olivier Thereaux 2012-07-09 13:31:03 UTC
The discussion continues on the mailing-list:
http://lists.w3.org/Archives/Public/public-audio/2012JulSep/thread.html#msg1

And Robert raised a related issue about the lookahead in the DynamicsCompressorNode:
http://lists.w3.org/Archives/Public/public-audio/2012JulSep/0019.html
Comment 3 Olivier Thereaux 2012-09-13 09:48:49 UTC
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.
Comment 4 Matthew Paradis 2012-09-18 11:07:38 UTC
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.
Comment 5 paul@paul.cx 2013-09-06 14:36:25 UTC
Duping against the most recent bug with the latest developments.

*** This bug has been marked as a duplicate of bug 23037 ***
Comment 6 Olivier Thereaux 2014-10-28 17:14:56 UTC
Web Audio API issues have been migrated to Github. 
See https://github.com/WebAudio/web-audio-api/issues
Comment 7 Olivier Thereaux 2014-10-28 17:17:56 UTC
Closing. See https://github.com/WebAudio/web-audio-api/issues for up to date list of issues for the Web Audio API.