diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /dom/media/webaudio/test/test_pannerNode_maxDistance.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/media/webaudio/test/test_pannerNode_maxDistance.html')
-rw-r--r-- | dom/media/webaudio/test/test_pannerNode_maxDistance.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/media/webaudio/test/test_pannerNode_maxDistance.html b/dom/media/webaudio/test/test_pannerNode_maxDistance.html new file mode 100644 index 0000000000..bb70b0a0ec --- /dev/null +++ b/dom/media/webaudio/test/test_pannerNode_maxDistance.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test PannerNode outputs silence when the distance is greater than maxDist</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script src="webaudio.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<pre id="test"> +<script class="testbody" type="text/javascript"> + +// BUF_SIZE must be greater than HRTF delay. +const BUF_SIZE = 1024; +const sampleRate = 44100; +var types = [ + "equalpower", + "HRTF" +] + +async function test(panningModel) { + var ac = new OfflineAudioContext(1, 1024, sampleRate); + var osc = ac.createOscillator(); + var panner = new PannerNode(ac, { + panningModel, + distanceModel: "linear", + maxDistance: 100, + positionY: 200, + }); + + ac.listener.setPosition(0, 0, 0); + + osc.connect(panner); + panner.connect(ac.destination); + + osc.start(); + + const buffer = await ac.startRendering() + + var silence = true; + var array = buffer.getChannelData(0); + for (var i = 0; i < buffer.length; i++) { + if (array[i] != 0) { + ok(false, "Found noise in the buffer."); + silence = false; + } + } + ok(silence, "The buffer is silent."); +} + +add_task(async function() { + await promiseHRTFReady(sampleRate); + for (const panningModel of types) { + await test(panningModel); + } +}); + +</script> +</pre> +</body> +</html> |