Frozen Streams not been reconnected - OpenVidu PRO

For some reasons (difficult to reproduce) when a user has a bad connection and loses it for a few milliseconds, OpenVidu tries to reconnect all streams, but sometimes one or two streams are still frozen for some users (not all) . If the user stops publishing (our application allows this) and republishes without refreshing the page, the frozen stream is destroyed and the new stream is 100% functional.

To be clear: a user with such a bad connection, after his silent reconnection by openvidu-browser may have all streams working normally, but his stream may be frozen for users who have a stable connection, because openvidu-browser is not able to detect the frozen and subscribe to the stream again all times.

In my frustrated attempts to reproduce this error in a development environment, I really noticed that it occurs more frequently when we have many users connected in the session (not necessarily many PUBLISHERS).

But what is clear to me is that these problems could be solved in openvidu-browser. For now, I keep looking for alternatives to check frozen streams in my application, to destroy and re-subscribe them.

This issue is happening since version 2.12 and now we have version 2.14 PRO.

Is there any clue about this or how can i manually check if the media is frozen?

Please test with this property enabled:

https://docs.openvidu.io/en/2.14.0/api/openvidu-browser/interfaces/openviduadvancedconfiguration.html#forcemediareconnectionafternetworkdrop

1 Like

Yeap, that property will force the re-establishment of all Media Streams after any kind of network disconnection.

It is false by default because theoretically and in most cases we should be able to 100% know the status of a Media Stream only by looking at the ICE connection in the browser, and only force the renegotiation in case it tells us it is broken or disposed. But in rare occasions the ICE connection will tell nothing even though the media is frozen. So we offer the possibility of always renegotiating all of the Media Streams of a client in case of disconnection. Usually it’ll be like using a hammer to crack a nut, but it will ensure all of the Media Streams always playback in case of a network drop.

1 Like

I think that for my case is better to use this hammer than cause more frustration to our users. I’m testing right now and be back if works or not.