Freezes and black screen troubles with simulcast RTP producer and WebRTC clients

Hello,

First of all, thank you for all the great work on this cutting-edge software.

We have updated to latest Mediasoup (3.9.9, client 3.6.51) recently and have started observing weird behaviors on what clients see.

We have an RTP Producer (Gstreamer) sending 3 x H264 streams of 1800 Kbps, 1000 Kbps and 500 Kbps video simulcast, plus 1 x 128 Kbps stereo Opus to Mediasoup SFU.

With viewers on latest Chrome and on fiber connections (100+ Mbps, latency < 80ms), the stream they receive sometimes collapses to LOW (500 Kbps video) with occasional freezes, and sometimes turns to a black screen for minutes. Audio remains good meanwhile, and they can run iperf3 tests with the SFU server that give perfect bandwidth results.

I have run the following individual tests on my 1Gbps fiber, with initialAvailableOutgoingBitrate set to 2500 Kbps:

1/ the stream starts, oscillate between MID and HIGH, and after 5s, sets to HIGH and remains there → good (ideally, would not oscillate at start, but good enough!)

2/ using Network Link Conditioner on Mac, I restrict the download bandwidth to 800 Kbps, and log trace ‘bwe’ on Mediasoup: I see availableBitrate vary widely between 250 Kbps and 800 Kbps.
As soon as bwe drops, the stream freezes.
It remains on LOW but sometimes tries to switch to MID (which is 1000 Kbps, it should not).

3/ With exactly the same 800 Kbps limiter on the same Mac, I run an iperf3 test with the same server of a 700 Kbps UDP stream: no packets are lost and iperf3 reports steady bandwidth of 694-708 Kbps over several minutes (so connection is good and reliable).

What could I do to troubleshoot the case better? Have you experienced similar situations?

Thank you for any help!

PS: we were using Mediasoup 3.7.12 before, had some freezes sometimes, but never as extreme.