- From: Casper Schipper <casper.schipper@monotonestudio.nl>
- Date: Thu, 3 Oct 2013 16:33:49 +0200
- To: public-audio-dev@w3.org
Hello, I was trying to get a feedback loop (gain->delay->gain) connected to a pannernode, but this resulted in an instant crash. The crash occurs in both Safari and Chrome. First I thought web audio perhaps didn't allow feedback, but without the panner, everything works charming. I found a workaround by making my own panner (using a merger) but still I wonder why the panner doesn't like feedback loops. Anybody has an idea ? This is a simplified example to show the crash: window.AudioContext = ( window.AudioContext || window.webkitAudioContext || null ); if (!AudioContext) { throw new Error("AudioContext not supported!"); } // this is a patch to show that panner can crash your browser. var context = new AudioContext(); var sinosc = context.createOscillator(); var gain = context.createGainNode(); var delay = context.createDelayNode(5); var feedbackgain = context.createGainNode(); var panner = context.createPanner(); sinosc.connect(delay); delay.connect(feedbackgain); feedbackgain.connect(delay); delay.connect(panner); panner.connect(context.destination); // this is the line that generates the crash. //note: removing the feedback loop also seems to fix the issue. panner.setPosition(5,0.1,0.1); sinosc.connect(panner); sinosc.frequency.value = 440; sinosc.noteOn(0);
Received on Thursday, 3 October 2013 20:15:04 UTC