<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AudioContext.currentTime speeds up (and audio won't play) when Bluetooth speaker connected"
   href="https://bugs.webkit.org/show_bug.cgi?id=232728">232728</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>AudioContext.currentTime speeds up (and audio won't play) when Bluetooth speaker connected
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>Safari 15
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Major
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Web Audio
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned@lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>luke@playingbyear.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>cdumez@apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>When certain Bluetooth speakers are connected to certain Apple devices, AudioContext stops behaving properly. The most obvious thing is that my app's audio cuts out after a couple seconds, and will not return until the page is reloaded. Upon further inspection, I discovered that there is actually some *time dilation* going on inside the AudioContext – serious Einstein business!

Minimal reproduction steps, which can be executed on any webpage in Safari after connecting an affected speaker:

  ctx = new AudioContext();
  window.addEventListener('click', () => ctx.resume());
  setInterval(() => console.log(ctx.currentTime), 1000);

After tapping to start the AudioContext, the console should show the current time as increasing by one second every second. When it's acting up, I saw it increasing by 1.84 every second.

Many users have reported this issue to me, who are using various speakers, including expensive Sony and Bose speakers. At least one user has this issue on a Mac, although I have so far only reproduced it on my iPhone with my Tribit XSound Go. I ordered another affected speaker, the OontZ Angle 3 Ultra, and will be testing on that in a few days. The issue is intermittent; it was happening for a solid 30 reloads, and then it fixed itself just now, but I'm sure it'll stop working again. Users have reported that it persists even after multiple device reboots.

This issue first appeared in Safari 15. It also affects Cordova apps in iOS 15.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>