diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth.html | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth.html')
-rw-r--r-- | testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth.html b/testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth.html new file mode 100644 index 0000000000..d09f2ec352 --- /dev/null +++ b/testing/web-platform/tests/webaudio/the-audio-api/the-pannernode-interface/panner-azimuth.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> + <head> + <title>Test Panner Azimuth Calculation</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../../resources/audit.js"></script> + </head> + + <body> + <script> + const audit = Audit.createTaskRunner(); + + // Fairly arbitrary sample rate + const sampleRate = 16000; + + audit.define('Azimuth calculation', (task, should) => { + // Two channels for the context so we can see each channel of the + // panner node. + let context = new OfflineAudioContext(2, sampleRate, sampleRate); + + let src = new ConstantSourceNode(context); + let panner = new PannerNode(context); + + src.connect(panner).connect(context.destination); + + // The source is still pointed directly at the listener, but is now + // directly above. The audio should be the same in both the left and + // right channels. + panner.positionY.value = 1; + + src.start(); + + context.startRendering() + .then(audioBuffer => { + // The left and right channels should contain the same signal. + let c0 = audioBuffer.getChannelData(0); + let c1 = audioBuffer.getChannelData(1); + + let expected = Math.fround(Math.SQRT1_2); + + should(c0, 'Left channel').beConstantValueOf(expected); + should(c1, 'Righteft channel').beConstantValueOf(expected); + }) + .then(() => task.done()); + }); + + audit.run(); + </script> + </body> +</html> |