test equalpower panning effect with panner directly above b=907986
authorKarl Tomlinson <karlt+@karlt.net>
Wed, 04 Sep 2013 21:20:59 +1200
changeset 158467 1eaccb673d334e5fcf3c8f62ce86a7ec98a02a1d
parent 158466 86c9a90d8408b9c364bf1eebc9aadfddf0dcb7c9
child 158468 1100a5bc013b541c635bc42bd753531e95c952e4
push id2961
push userlsblakk@mozilla.com
push dateMon, 28 Oct 2013 21:59:28 +0000
treeherdermozilla-beta@73ef4f13486f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs907986
milestone26.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
test equalpower panning effect with panner directly above b=907986
content/media/webaudio/test/Makefile.in
content/media/webaudio/test/test_pannerNodeAbove.html
--- a/content/media/webaudio/test/Makefile.in
+++ b/content/media/webaudio/test/Makefile.in
@@ -77,16 +77,17 @@ MOCHITEST_FILES := \
   test_mixingRules.html \
   test_nodeToParamConnection.html \
   test_OfflineAudioContext.html \
   test_offlineDestinationChannelCountLess.html \
   test_offlineDestinationChannelCountMore.html \
   test_oscillatorNode.html \
   test_oscillatorNodeStart.html \
   test_pannerNode.html \
+  test_pannerNodeAbove.html \
   test_pannerNode_equalPower.html \
   test_periodicWave.html \
   test_scriptProcessorNode.html \
   test_scriptProcessorNodeChannelCount.html \
   test_scriptProcessorNodeZeroInputOutput.html \
   test_singleSourceDest.html \
   test_waveShaper.html \
   test_waveShaperNoCurve.html \
new file mode 100644
--- /dev/null
+++ b/content/media/webaudio/test/test_pannerNodeAbove.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <title>Test PannerNode directly above</title>
+  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<pre id="test">
+<script src="webaudio.js" type="text/javascript"></script>
+<script class="testbody" type="text/javascript">
+
+var gTest = {
+  numberOfChannels: 2,
+  createGraph: function(context) {
+    // An up vector will be made perpendicular to the front vector, in the
+    // front-up plane.
+    context.listener.setOrientation(0, 6.311749985202524e+307, 0, 0.1, 1000, 0);
+    // Linearly dependent vectors are ignored.
+    context.listener.setOrientation(0, 0, -6.311749985202524e+307, 0, 0, 6.311749985202524e+307);
+    var panner = context.createPanner();
+    panner.setPosition(2, 0, 0); // directly above
+    panner.rolloffFactor = 0; // no distance gain
+    panner.panningModel = "equalpower"; // no effect when directly above
+
+    var source = context.createBufferSource();
+    source.buffer = this.buffer;
+    source.connect(panner);
+    source.start(0);
+
+    return panner;
+  },
+  createExpectedBuffers: function(context) {
+    var expectedBuffer = context.createBuffer(2, 2048, context.sampleRate);
+    for (var i = 0; i < 2048; ++i) {
+      // Different signals in left and right buffers
+      expectedBuffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate);
+      expectedBuffer.getChannelData(1)[i] = Math.sin(220 * 2 * Math.PI * i / context.sampleRate);
+    }
+    this.buffer = expectedBuffer;
+    return expectedBuffer;
+  },
+};
+
+runTest();
+
+</script>
+</pre>
+</body>
+</html>