testing/web-platform/tests/webaudio/the-audio-api/processing-model/cycle-without-delay.html
author Lando <lando@lando.test>
Thu, 10 Jul 2025 16:11:40 +0000 (3 hours ago)
changeset 795966 8f464d9c468ba1a7c1b0338deaa8bc8023f8ae3d
parent 504634 a9d0fa260f2ca9814568b46ded5dc60096c2a19e
permissions -rw-r--r--
Merge autoland to mozilla-central
<!DOCTYPE html>
<html class="a">
  <head>
    <title>Cycles without DelayNode in audio node graph</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <script>
      function doTest() {
        var off = new OfflineAudioContext(1, 512, 48000);
        var osc = new OscillatorNode(off);
        var fb = new GainNode(off);
        // zero delay feedback loop
        osc.connect(fb).connect(fb).connect(off.destination);
        osc.start(0);
        return off.startRendering().then((b) => {
          return Promise.resolve(b.getChannelData(0));
        });
      }

      promise_test(() => {
        return doTest().then(samples => {
          var silent = true;
          for (var i = 0; i < samples.length; i++) {
            if (samples[i] != 0.0) {
              silent = false;
              break;
            }
          }
          assert_true(silent);
        });
      }, 'Test that cycles that don\'t contain a DelayNode are muted');
    </script>
  </body>
</html>