We are reaching out to inform you of a known bug affecting many of our Google Chrome on Mac users.


Currently, Mac users using a Chrome browser are especially prone to this bug which causes audio stack to reach a state whereby even with microphone access, callbacks to audio data are not received by the browser.


For our customers, this results in a session where participants receive no audio from Chrome clients with no errors noted in the logs.


A check on chrome://webrtc-internals reveals:


ssrc_sent

bytesSent=0 and audioInputLevel=0


Google is aware of this bug and their team is prioritizing the resolution of the same as can be noted in comment #67 from Principal Engineer (Director) at Google, Justin Uberti:

“This is a top priority issue for us....... it is in the top 3 issues we are focusing on for desktop.”


More recently, on Oct 5, they reported:

"We have analysed the data we have collected so far (thanks everyone!) and been able to repro, also with a minimal application. It points to being a bug in CoreAudio and a bug has been filed with Apple. We're looking into working around this short-term...."


While this is being addressed by Google and Apple, the current reportedly preferred workaround is to simply restart the browser.

We suggest using skylink.getConnectionStatus() to detect audio.sending or audio.receiving being returned as 0 and, as shown below, issue a message to the end user to refresh the browser to ensure the microphone stream loads.


skylink.on("iceConnectionState", function (state, peerId) {
  if ([skylink.ICE_CONNECTION_STATE.CONNECTED, skylink.ICE_CONNECTION_STATE.COMPLETED].indexOf(state) === -1) return;
  var localAudioMuted = skylink.getPeerInfo().mediaStatus.audioMuted;
  skylink.getConnectionStatus(function (error, success) {
    if (success.connectionStats[peerId].audio.sending.bytes === 0 && !localAudioMuted) {
      // Alert popup
   }
  });
});


Alternatively, you can kill CoreAudio via the Terminal using the following command

sudo killall coreaudiod


We will continue to provide updates on this matter as and when progress is made. Thank you for your patience.


In case of any further queries, please do contact us at dev.support@temasys.io. We'd be glad to assist.