We already have a stable video conferencing application utilizing Expo, with universal platform support [Web, iOS & Android].
After Chrome 111 upgrade, we’re facing a weird issue that has been occurring a lot.
Here’s our package versions:
mediasoup-client:
"mediasoup-client": "^3.6.84",
"expo": "~47.0.8",
"react-native": "0.70.8",
"react-native-webrtc": "^111.0.0",
EDIT: ignore react-native & react-native-webrtc, those are for mobile app, for the web variant the direct webrtc available is utilized.
mediasoup:
"mediasoup": "^3.11.13",
Multiple people can join conference but randomly or when toggling video on/off continuously causes this error, consider Participant A with video off, and Participant B. When Participant A toggles video on or joins with video on; Participant B gets this error:
Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote offer sdp: Failed to add remote stream ssrc: 212544496 to {mid: 32, media_type: video}
Now, following are the SDP exchanges, I’ll give the two scenarios, one normal and one where the error occurs:
Normal:
Person A normal:
Person A turned camera on:
setLocalDescription: Offer: Person A _normal_ - setLocalDescription - Offer - TextBin
setRemoteDescription: answer: Person A _normal_ - setRemoteDescription - answer - TextBin
Person B normal:
Person A turned camera on.
setRemoteDescription: offer: Person B _normal_ - setRemoteDescription - offer - TextBin
setLocalDescription: answer: Person B _normal_ - setLocalDescription - answer - TextBin
Error:
Person A (error):
Person A turns video on:
setLocalDescription: offer: Person A _error_ - setLocalDescription - offer - TextBin
setRemoteDescription: answer: Person A _error_ - setRemoteDescription - answer - TextBin
Person B (error):
Person A turns camera on:
but before: this is the last event:
mediasoup-client:Chrome111 stopReceiving() | calling pc.setLocalDescription: type answer, sdp:
setRemoteDescription: offer:
The error then comes, specifically at this code, for Participant B:
transport.consume(p).then(...)
I’m not exactly sure what this error means, I’m uncertain how or what causes Synchronization Source [ssrc] error, but what I’ve tried is foremost upgrading all the mediasoup versions, then react-native-webrtc version. Lastly, I tried VP8 codec; seeing as whether it was a h264 profile-level-id issue, but the same error occurs.
Any leads or even input would highly be appreciated. Thanks!