Your analysis was quite on point. Actually the issue was somewhat iOS-related but not really. Most official WebRTC example use the onunmute
event listener inside the ontrack
event to only update the video stream when data is actually available. It turns out that onunmute
event was never triggered on iOS devices. So adding the stream directly ontrack
seemed to have solved that issue.
I didn’t thought of sending logs to the server, that could have helped indeed. However I’ve added logs to the interface in addition to errors. That helped too and was basically how I realized that the onunmute
event was never triggered so here again, quite on spot!
This could be interesting indeed, I’ve added an issue about this.