W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2013

[Bug 23037] New: What should happen in case of cycles containing a delay node is under-defined

From: <bugzilla@jessica.w3.org>
Date: Wed, 21 Aug 2013 17:05:52 +0000
To: public-audio@w3.org
Message-ID: <bug-23037-5429@http.www.w3.org/Bugs/Public/>

            Bug ID: 23037
           Summary: What should happen in case of cycles containing a
                    delay node is under-defined
    Classification: Unclassified
           Product: AudioWG
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Web Audio API
          Assignee: crogers@google.com
          Reporter: padenot@mozilla.com
        QA Contact: public-audio@w3.org

Consider the following code:

>  var ctx = new AudioContext();
>  var source = ctx.createBufferSource();
>  // some_loaded_buffer is a valid AudioBuffer
>  source.buffer = some_loaded_buffer;
>  var gain = ctx.createGain();
>  var delay = ctx.createDelay();
>  // defaults to zero anyways, just there to be explicit 
>  delay.delayTime = 0.0;

>  source.connect(gain);
>  gain.connect(delay);
>  delay.connect(ctx.destination);
>  // cycle
>  delay.connect(gain);
>  source.start(0);

The spec does not describe the case where the |delayTime| parameter of the
|delay| node is zero. In fact, problems would arise if the |delayTime| is lower
than |128/ctx.sampleRate|.

While it is fairly easy to detect something like |delay.delayTime.value = 0.0|
where |delay| is in a cycle (and we could throw), there are be some cases where
we can't easily predict the value of the AudioParam.

I propose that in such hard-to-detect cases, the subgraph containing the cycle
is treated as a silent input, no error being thrown. It could also be of
interest in such case to warn the author in the eventual error console of the

You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 21 August 2013 17:06:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:03:23 UTC