RTCMultiConnection
RTCMultiConnection copied to clipboard
Scalable broadcast reconnect nested connection issue
Hi,
I was trying your app demo https://rtcmulticonnection.herokuapp.com/demos/Scalable-Broadcast.html and I am having some problems about reconnect other nested peers like for example
User1(src) -> User2 -> User3 -> User4...->UserX
When I cut User2,
User1(src) X User2 X User3 -> User4---->UserX
And try to reconnect User3 to User1 to maintain connection,
User1(src) -> User3 -> User4...->UserX
I am having an issue that nested users will just buffer forever instead of reconnecting. What would be the recommended way to handle this? Thank you.
Best Regards, Kydo
What kind of browser is used to connect the server?
I am using variety of browsers like Chrome, Edge, Firefox and Brave. Note, I am running this at my localhost
Thanks, Actually User-Agent, is what I want to know. Some of the issues reported here related to mobile, "if/else" for width, height belonging to user-agent can solve mobile situation problems. And... I've used my own built browser that is branched out from the chromium-project. I suspected the h.264 profile is not fully ported rather than the desktop version on mobile cases. The reason why I mention this is because of lots of mobile issues in here.
Thanks for reply and here is my userAgent as per checking: -Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 -Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Edg/85.0.564.51
And this issue is much more noticeable on localhost. But when this is deployed to a server, it seems things are smoother in rejoin handling. Could it be some sort of timing issue or something with reconnect?
Is there any progress?I ran into the same problem (reconnecting the buffer interface with a black screen all the time) and the test environment was Windows 10 and localhost.
I tried replacing PC Chrome with 'replaceTrack' as well and it worked. E.g.
connection.getSocket(function(socket) {
socket.emit('can-relay-broadcast');
connection.getAllParticipants().forEach(function(p) {
if (p + '' != event.userid + '') {
connection.replaceTrack(event.stream, p);
}
});
});