RTCMultiConnection: Is this a bug? Why are "one-way"-participants not receive the media stream after reloading the "two-way" participants?
Describe the bug
C-participant stops resive the media stream (video/audio) from B-participant when B-participant rejoin to the room. The same happens if B-participant entered the room later than the C-participant.
Scenario
A - initiator who opens the room (connection.open)
B1, B2, … - is "two-way" participants who communicate with the initiator and with each other in the room (connection.join)
C1, C2, … - observers is "one-way" participatnts who see and breathe all that is happening in the room (connection.join)
- A and B participant session is:
{"audio": true, "video": true, "data": true} - C-participant session is:
{"audio": true, "video": true, "data": true, "oneway": true}
A-initiator opens the room. B-participants are connected to the room. A and B see and hear each other. The latter are connected to the room C - “one-way” participants. C-participants could only see and hear that happens in the room, but other participants (A and B) do not hear or see them.
Testing
But C and B participant get connection.peers from each other.
C-participant went to room the last and receive video/audio streem from B-participant. The parameters from the B-participant:
console.log (connection.peers['fs4zz2m7b4']);
PeerInitiator {extra: {…}, userid: "qwerty", streams: Array(1), channels: Array(1), connectionDescription: {…}, …}
If the B-participant reloads the page and rejoin (or enters the room after the C-participant). There is no media stream. Parameters from B-participant:
console.log (connection.peers['bvfj8f4cqen']);
PeerInitiator {extra: {...}, userid: "fs4zz2m7b4", streams: Array (0), channels: Array (1), connectionDescription: {...}, ...}
Turns out that, if B-participant rejoin then field streams: Array (0). Therefore, there is no media stream.
If C-participants reload the page, the Array (1) will contain data stream again
I note that the A-initiator has no such problems.
How to fix the problem?
What should be done so that after the reconnection of the B-participant (two-way) they are seen and heard by the C-participants (“one-way”) automatically?
About this issue
- Original URL
- State: open
- Created 6 years ago
- Reactions: 1
- Comments: 19 (4 by maintainers)
In this example, the initiator of the room (and the viewers) see all the broadcasters. But broadcasters don’t see each other.
Question to you, Muaz. How to make B-participants (broadcasters) communicate with each other, and not just with the initiator of the room?