blob: 1342986745befc21ff8e8cd6be0c06309146fe1d [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script>
async function capture()
{
try {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false });
internals.setMockAudioTrackChannelNumber(stream.getAudioTracks()[0], 2);
var audioContext = new webkitAudioContext();
var analyzer = audioContext.createAnalyser();
analyzer.fftSize = 256;
let source = audioContext.createMediaStreamSource(stream);
source.connect(analyzer);
analyzer.connect(audioContext.destination);
for (let cptr = 0; cptr < 1000; cptr++) {
internals.setMockAudioTrackChannelNumber(stream.getAudioTracks()[0], (cptr % 2) ? 1 : 2);
await new Promise(resolve => setTimeout(resolve, 20));
}
source.disconnect(analyzer);
analyzer.disconnect(audioContext.destination);
window.webkit.messageHandlers.gum.postMessage("PASS");
} catch (e) {
window.webkit.messageHandlers.gum.postMessage("FAIL: " + e);
}
}
</script>
<head>
<body onload="capture()">
</body>
</html>