66 lines
2.3 KiB
HTML
66 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>
|
|
Test Setting of channelCountMode and channelInterpretation
|
|
</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/webaudio/resources/audit-util.js"></script>
|
|
<script src="/webaudio/resources/audit.js"></script>
|
|
</head>
|
|
<body>
|
|
<script id="layout-test-code">
|
|
// Fairly arbitrary sample rate and number of frames, except the number of
|
|
// frames should be more than a few render quantums.
|
|
let sampleRate = 16000;
|
|
let renderFrames = 10 * 128;
|
|
|
|
let audit = Audit.createTaskRunner();
|
|
|
|
audit.define('interp', (task, should) => {
|
|
let context = new OfflineAudioContext(1, renderFrames, sampleRate);
|
|
let node = context.createGain();
|
|
|
|
// Set a new interpretation and verify that it changed.
|
|
node.channelInterpretation = 'discrete';
|
|
let value = node.channelInterpretation;
|
|
should(value, 'node.channelInterpretation').beEqualTo('discrete');
|
|
node.connect(context.destination);
|
|
|
|
context.startRendering()
|
|
.then(function(buffer) {
|
|
// After rendering, the value should have been changed.
|
|
should(
|
|
node.channelInterpretation,
|
|
'After rendering node.channelInterpretation')
|
|
.beEqualTo('discrete');
|
|
})
|
|
.then(() => task.done());
|
|
});
|
|
|
|
audit.define('mode', (task, should) => {
|
|
let context = new OfflineAudioContext(1, renderFrames, sampleRate);
|
|
let node = context.createGain();
|
|
|
|
// Set a new mode and verify that it changed.
|
|
node.channelCountMode = 'explicit';
|
|
let value = node.channelCountMode;
|
|
should(value, 'node.channelCountMode').beEqualTo('explicit');
|
|
node.connect(context.destination);
|
|
|
|
context.startRendering()
|
|
.then(function(buffer) {
|
|
// After rendering, the value should have been changed.
|
|
should(
|
|
node.channelCountMode,
|
|
'After rendering node.channelCountMode')
|
|
.beEqualTo('explicit');
|
|
})
|
|
.then(() => task.done());
|
|
});
|
|
|
|
audit.run();
|
|
</script>
|
|
</body>
|
|
</html>
|