I have a web conference app where each client has a single peerConnection to a central server. The peer connection SDP has SSRCs for multiple streams corresponding to the current set of people speaking.
The Session Description for the peer connection is regularly updated, as users start and stop speaking. The onstreamadded and onstreamremoved callbacks fire as expected. Care is taken to make sure that every receiver's session description is properly updated before a new sender begins transmitting on a new SSRC so that there is no worry of missing the keyframe when a new stream begins.
With one active stream on the peer connection it works pretty reliably, at least for the first several add/remove cycles. Different users can take turns speaking, and things are pretty good. However, with more than one active stream, or after some number of add/removes I start to see freezes of video (audio works fine) on a subset of the clients.
At a guess, I would say that the problems happen most often when stream A is being received successfully, then the session description is updated to add stream b, so that 2 streams are being processed concurrently on the same peer connection.
The problems may be completely in my own application, and that would be my best case scenario, so I could find and fix them. The purpose of this post is to see if there are any known issues related to what I am describing, or test cases involving multiple streams on a single peer connection, with many streams added/removed over time?
I could try to build repro case apart from my application, but I have a feeling that would be somewhat complex and time consuming, so I hesitate to go there unless it is needed. The behavior I'm seeing happens on Canary 22.0.1206.0 (the latest as of this post) and also on the 21.x beta channel.
Thanks for any insights / advice / help