Bug 102439
| Summary: | Audio graph nodes stuck in "scheduled" state | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ray Bellis <ray> |
| Component: | Web Audio | Assignee: | Chris Rogers <crogers> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | CC: | crogers |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Mac (Intel) | ||
| OS: | OS X 10.8 | ||
| URL: | http://jsfiddle.net/alnitak/pUBLm/13/ | ||
Ray Bellis
In the linked code, an Oscillator used as a source in a side chain used to control a filter's cutoff frequency remains stuck in the "scheduled" state.
The code works correctly in Chrome 25, but doesn't work in Chrome 23 or Safari 6.0.2.
This second oscillator (running as an LFO in this demo) is connected to a GainNode so that the amplitude of the change to the filter cutoff can be controlled. I've verified that the problem persists if I remove that GainNode, although at that point the +/- 1 output from the LFO is insufficient to make the cutoff modulation audible.
If the LFO is also connected to the primary oscillator's frequency AudioParam then it correctly starts up.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ray Bellis
NB: this code is cut down as much as I could to still demonstrate the problem. The real use case in my own code is that I'm trying to use that side chain to emulate a VCF envelope generator, but in the earlier WebKit builds that are in the released versions it appears to be impossible to use an AudioNode to modulate a BiquadFilterNode's cutoff frequency.
Chris Rogers
Ray, thanks for the example. I can't see from your code how the test is "passing" or "failing". In other words how are checking that it's "stuck" or "unstuck". Can you please update your test to explain more fully the problem you're seeing.
Ray Bellis
Look in the console - the value of 1 being printed in the setTimeout callback on Chrome 23 indicates "scheduled" (i.e. it never ran) whereas Chrome 25 shows 2 ("running").
Ray Bellis
jsfiddle updated
Chris Rogers
Ray, thanks for updating the test. It looks like it's simply this bug which was fixed here:
https://bugs.webkit.org/show_bug.cgi?id=97369
Chrome 23 and Safari 6 have not yet picked up this change. But Chrome Canary and WebKit nightly builds will have the fix.
*** This bug has been marked as a duplicate of bug 97369 ***
Ray Bellis
Is there any known workaround?
Chris Rogers
(In reply to comment #6)
> Is there any known workaround?
I don't think so, we just have to wait for the fix to percolate into the stable shipping browsers. Chrome 24 may get this fix.