Failed to execute ‘setLocalDescription’ on ‘RTCPeerConnection

Chrome is up to date: Version 148.0.7778.216 (Official Build) (x86_64)

mediasoup-demo:ERROR:RoomClient enableWebcam() | failed:InvalidAccessError: Failed to execute 'setLocalDescription' on 'RTCPeerConnection': Failed to set local offer sdp: A BUNDLE group contains a codec collision for header extension id=5. The id must be the same across all bundled media descriptions +0ms

Please check mediasoup-client issues in GH, even the closed ones. This is a regression in Chrome that will be fixed soon and in fact it doesn’t fail in Canary which is > 149.

  • Can you test in Canary?
  • Please paste the exact query params you are using in the URL of the demo.

Here the fix on my side

fix(client): drop absCaptureTime header extension to fix Chrome 148+ BUNDLE collision

Setting `headerExtensionOptions.absCaptureTime: true` on producer params
causes mediasoup-client to munge the local SDP and insert the
`abs-capture-time` RTP header extension. Chrome 148+ rejects such SDPs
with:

  Failed to execute 'setLocalDescription' on 'RTCPeerConnection':
  Failed to set local offer sdp: A BUNDLE group contains a codec
  collision for header extension id=5. The id must be the same across
  all bundled media descriptions

Removing the option avoids the SDP munging and restores joining rooms
on the latest Chrome. The extension is non-essential (capture-time
stats only) and has no functional impact on calls.

Refs: `pc.setLocalDescription()` fails in Canary 149 with "Codec collision" error due to "abs-capture-time" extension · Issue #373 · versatica/mediasoup-client · GitHub
Refs: WebRTC

So Chrome bug, thank you!

Yes. mediasoup-demo workaround pushed now: