test equalpower panning effect with panner directly above b=907986
authorKarl Tomlinson <karlt+@karlt.net>
Wed, 04 Sep 2013 21:20:59 +1200
changeset 145489 1eaccb673d334e5fcf3c8f62ce86a7ec98a02a1d
parent 145488 86c9a90d8408b9c364bf1eebc9aadfddf0dcb7c9
child 145490 1100a5bc013b541c635bc42bd753531e95c952e4
push id33296
push userktomlinson@mozilla.com
push dateWed, 04 Sep 2013 20:32:35 +0000
treeherdermozilla-inbound@15a71c6cb0d3 [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>