content/media/webaudio/test/test_offlineDestinationChannelCountMore.html

Fri, 16 Jan 2015 04:50:19 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 04:50:19 +0100
branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
permissions
-rw-r--r--

Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4   <title>Test OfflineAudioContext with a channel count less than the specified number</title>
     5   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     6   <script type="text/javascript" src="webaudio.js"></script>
     7   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     8 </head>
     9 <body>
    10 <pre id="test">
    11 <script class="testbody" type="text/javascript">
    13 SimpleTest.waitForExplicitFinish();
    14 addLoadEvent(function() {
    15   var ctx = new OfflineAudioContext(6, 100, 22050);
    17   var buf = ctx.createBuffer(2, 100, ctx.sampleRate);
    18   for (var i = 0; i < 2; ++i) {
    19     for (var j = 0; j < 100; ++j) {
    20       buf.getChannelData(i)[j] = Math.sin(2 * Math.PI * 200 * j / ctx.sampleRate);
    21     }
    22   }
    23   var emptyBuffer = ctx.createBuffer(1, 100, ctx.sampleRate);
    25   var src = ctx.createBufferSource();
    26   src.buffer = buf;
    27   src.start(0);
    28   src.connect(ctx.destination);
    29   ctx.destination.channelCountMode = "max";
    30   ctx.startRendering();
    31   ctx.oncomplete = function(e) {
    32     is(e.renderedBuffer.numberOfChannels, 6, "Correct expected number of buffers");
    33     compareChannels(e.renderedBuffer.getChannelData(0), buf.getChannelData(0));
    34     compareChannels(e.renderedBuffer.getChannelData(1), buf.getChannelData(1));
    35     for (var i = 2; i < 6; ++i) {
    36       compareChannels(e.renderedBuffer.getChannelData(i), emptyBuffer.getChannelData(0));
    37     }
    39     SimpleTest.finish();
    40   };
    41 });
    43 </script>
    44 </pre>
    45 </body>
    46 </html>

mercurial