- From: <bugzilla@jessica.w3.org>
- Date: Wed, 21 Aug 2013 17:05:52 +0000
- To: public-audio@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23037
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
UA.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 21 August 2013 17:06:00 UTC