| Index: third_party/WebKit/LayoutTests/webaudio/ChannelSplitter/audiochannelsplitter.html
|
| diff --git a/third_party/WebKit/LayoutTests/webaudio/ChannelSplitter/audiochannelsplitter.html b/third_party/WebKit/LayoutTests/webaudio/ChannelSplitter/audiochannelsplitter.html
|
| index 77ee8a34aa6c05b299a7e7f0b02703a881168259..0e1512a033ab2efee2aa9bfffc763d7469166d6f 100644
|
| --- a/third_party/WebKit/LayoutTests/webaudio/ChannelSplitter/audiochannelsplitter.html
|
| +++ b/third_party/WebKit/LayoutTests/webaudio/ChannelSplitter/audiochannelsplitter.html
|
| @@ -1,143 +1,141 @@
|
| <!DOCTYPE html>
|
| -
|
| <!--
|
| Tests that AudioChannelSplitter works correctly.
|
| -->
|
| -
|
| <html>
|
| -<head>
|
| -<script src="../../resources/testharness.js"></script>
|
| -<script src="../../resources/testharnessreport.js"></script>
|
| -<script src="../resources/audit-util.js"></script>
|
| -<script src="../resources/audit.js"></script>
|
| -</head>
|
| -
|
| -<body>
|
| -
|
| -<script>
|
| -var audit = Audit.createTaskRunner();
|
| -
|
| -var sampleRate = 44100.0;
|
| -var lengthInSampleFrames = 512;
|
| -
|
| -var context = 0;
|
| -var sourceBuffer;
|
| -var sourceNode;
|
| -var channelSplitter;
|
| -var channelMerger;
|
| -
|
| -function createStereoBufferWithDCOffset(length, sampleRate, offset) {
|
| - var buffer = context.createBuffer(2, length, sampleRate);
|
| - var n = buffer.length;
|
| - var channelL = buffer.getChannelData(0);
|
| - var channelR = buffer.getChannelData(1);
|
| -
|
| - for (var i = 0; i < n; ++i) {
|
| - channelL[i] = offset;
|
| - channelR[i] = -1.0 * offset;
|
| - }
|
| -
|
| - return buffer;
|
| -}
|
| -
|
| -// checkResult() checks that the rendered buffer is stereo and that the left channel is all -1 and right channel all +1.
|
| -// In other words, we've reversed the order of the two channels.
|
| -function checkResult(buffer, should) {
|
| -
|
| - var success = true;
|
| -
|
| - if (buffer.numberOfChannels == 2) {
|
| - var bufferDataL = buffer.getChannelData(0);
|
| - var bufferDataR = buffer.getChannelData(1);
|
| -
|
| - success = should(bufferDataL, "Left channel")
|
| - .beConstantValueOf(-1) && success;
|
| - success = should(bufferDataR, "Right channel")
|
| - .beConstantValueOf(1) && success;
|
| - } else {
|
| - success = false;
|
| - }
|
| -
|
| - should(success, "Left and right channels were exchanged")
|
| - .message("correctly", "incorrectly");
|
| -}
|
| -
|
| -audit.define({
|
| - label: "construction",
|
| - description: "Construction of ChannelSplitterNode"
|
| -}, function (task, should) {
|
| -
|
| - // Create stereo offline audio context.
|
| - context = new OfflineAudioContext(2, lengthInSampleFrames, sampleRate);
|
| -
|
| - var splitternode;
|
| - should(() => {
|
| - var splitternode = context.createChannelSplitter(0);
|
| - }, "createChannelSplitter(0)")
|
| - .throw("IndexSizeError");
|
| -
|
| - should(() => {
|
| - splitternode = context.createChannelSplitter(33);
|
| - }, "createChannelSplitter(33)")
|
| - .throw("IndexSizeError");
|
| -
|
| - should(() => {
|
| - splitternode = context.createChannelSplitter(32);
|
| - }, "splitternode = context.createChannelSplitter(32)")
|
| - .notThrow();
|
| -
|
| - should(splitternode.numberOfOutputs,
|
| - "splitternode.numberOfOutputs")
|
| - .beEqualTo(32);
|
| - should(splitternode.numberOfInputs,
|
| - "splitternode.numberOfInputs")
|
| - .beEqualTo(1)
|
| -
|
| - should(() => {
|
| - splitternode = context.createChannelSplitter();
|
| - }, "splitternode = context.createChannelSplitter()")
|
| - .notThrow();
|
| -
|
| - should(splitternode.numberOfOutputs,
|
| - "splitternode.numberOfOutputs")
|
| - .beEqualTo(6);
|
| -
|
| - task.done();
|
| -});
|
| -
|
| -audit.define({
|
| - label: "functionality",
|
| - description: "Functionality of ChannelSplitterNode"
|
| -}, function (task, should) {
|
| -
|
| - // Create a stereo buffer, with all +1 values in left channel, all -1 in right channel.
|
| - sourceBuffer = createStereoBufferWithDCOffset(lengthInSampleFrames, sampleRate, 1);
|
| -
|
| - sourceNode = context.createBufferSource();
|
| - sourceNode.buffer = sourceBuffer;
|
| -
|
| - // Create a channel splitter and connect it so that it split the stereo stream into two mono streams.
|
| - channelSplitter = context.createChannelSplitter(2);
|
| - sourceNode.connect(channelSplitter);
|
| -
|
| - // Create a channel merger to merge the output of channel splitter.
|
| - channelMerger = context.createChannelMerger();
|
| - channelMerger.connect(context.destination);
|
| -
|
| - // When merging, exchange channel layout: left->right, right->left
|
| - channelSplitter.connect(channelMerger, 0, 1);
|
| - channelSplitter.connect(channelMerger, 1, 0);
|
| -
|
| - sourceNode.start(0);
|
| -
|
| - context.startRendering()
|
| - .then(buffer => checkResult(buffer, should))
|
| - .then(task.done.bind(task));
|
| -});
|
| -
|
| -audit.run();
|
| -
|
| -</script>
|
| -
|
| -</body>
|
| + <head>
|
| + <title>
|
| + audiochannelsplitter.html
|
| + </title>
|
| + <script src="../../resources/testharness.js"></script>
|
| + <script src="../../resources/testharnessreport.js"></script>
|
| + <script src="../resources/audit-util.js"></script>
|
| + <script src="../resources/audit.js"></script>
|
| + </head>
|
| + <body>
|
| + <script id="layout-test-code">
|
| + let audit = Audit.createTaskRunner();
|
| +
|
| + let sampleRate = 44100.0;
|
| + let lengthInSampleFrames = 512;
|
| +
|
| + let context = 0;
|
| + let sourceBuffer;
|
| + let sourceNode;
|
| + let channelSplitter;
|
| + let channelMerger;
|
| +
|
| + function createStereoBufferWithDCOffset(length, sampleRate, offset) {
|
| + let buffer = context.createBuffer(2, length, sampleRate);
|
| + let n = buffer.length;
|
| + let channelL = buffer.getChannelData(0);
|
| + let channelR = buffer.getChannelData(1);
|
| +
|
| + for (let i = 0; i < n; ++i) {
|
| + channelL[i] = offset;
|
| + channelR[i] = -1.0 * offset;
|
| + }
|
| +
|
| + return buffer;
|
| + }
|
| +
|
| + // checkResult() checks that the rendered buffer is stereo and that the
|
| + // left channel is all -1 and right channel all +1. In other words, we've
|
| + // reversed the order of the two channels.
|
| + function checkResult(buffer, should) {
|
| + let success = true;
|
| +
|
| + if (buffer.numberOfChannels == 2) {
|
| + let bufferDataL = buffer.getChannelData(0);
|
| + let bufferDataR = buffer.getChannelData(1);
|
| +
|
| + success = should(bufferDataL, 'Left channel').beConstantValueOf(-1) &&
|
| + success;
|
| + success = should(bufferDataR, 'Right channel').beConstantValueOf(1) &&
|
| + success;
|
| + } else {
|
| + success = false;
|
| + }
|
| +
|
| + should(success, 'Left and right channels were exchanged')
|
| + .message('correctly', 'incorrectly');
|
| + }
|
| +
|
| + audit.define(
|
| + {
|
| + label: 'construction',
|
| + description: 'Construction of ChannelSplitterNode'
|
| + },
|
| + function(task, should) {
|
| +
|
| + // Create stereo offline audio context.
|
| + context =
|
| + new OfflineAudioContext(2, lengthInSampleFrames, sampleRate);
|
| +
|
| + let splitternode;
|
| + should(() => {
|
| + let splitternode = context.createChannelSplitter(0);
|
| + }, 'createChannelSplitter(0)').throw('IndexSizeError');
|
| +
|
| + should(() => {
|
| + splitternode = context.createChannelSplitter(33);
|
| + }, 'createChannelSplitter(33)').throw('IndexSizeError');
|
| +
|
| + should(() => {
|
| + splitternode = context.createChannelSplitter(32);
|
| + }, 'splitternode = context.createChannelSplitter(32)').notThrow();
|
| +
|
| + should(splitternode.numberOfOutputs, 'splitternode.numberOfOutputs')
|
| + .beEqualTo(32);
|
| + should(splitternode.numberOfInputs, 'splitternode.numberOfInputs')
|
| + .beEqualTo(1)
|
| +
|
| + should(() => {
|
| + splitternode = context.createChannelSplitter();
|
| + }, 'splitternode = context.createChannelSplitter()').notThrow();
|
| +
|
| + should(splitternode.numberOfOutputs, 'splitternode.numberOfOutputs')
|
| + .beEqualTo(6);
|
| +
|
| + task.done();
|
| + });
|
| +
|
| + audit.define(
|
| + {
|
| + label: 'functionality',
|
| + description: 'Functionality of ChannelSplitterNode'
|
| + },
|
| + function(task, should) {
|
| +
|
| + // Create a stereo buffer, with all +1 values in left channel, all
|
| + // -1 in right channel.
|
| + sourceBuffer = createStereoBufferWithDCOffset(
|
| + lengthInSampleFrames, sampleRate, 1);
|
| +
|
| + sourceNode = context.createBufferSource();
|
| + sourceNode.buffer = sourceBuffer;
|
| +
|
| + // Create a channel splitter and connect it so that it split the
|
| + // stereo stream into two mono streams.
|
| + channelSplitter = context.createChannelSplitter(2);
|
| + sourceNode.connect(channelSplitter);
|
| +
|
| + // Create a channel merger to merge the output of channel splitter.
|
| + channelMerger = context.createChannelMerger();
|
| + channelMerger.connect(context.destination);
|
| +
|
| + // When merging, exchange channel layout: left->right, right->left
|
| + channelSplitter.connect(channelMerger, 0, 1);
|
| + channelSplitter.connect(channelMerger, 1, 0);
|
| +
|
| + sourceNode.start(0);
|
| +
|
| + context.startRendering()
|
| + .then(buffer => checkResult(buffer, should))
|
| + .then(task.done.bind(task));
|
| + });
|
| +
|
| + audit.run();
|
| + </script>
|
| + </body>
|
| </html>
|
|
|