matrix-org / matrix-org/waterfall
Screenshare transceiver reused for incoming screenshare without renegotiation
@EnricoSchw is already working on this.
Since Feb 6, 2023.
- Dominant language
- Go
- Stars
- 105
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
If you start screensharing in EC and then someone else starts swcreensharing too, you won't see their screenshare. This is because waterfall tries to re-use the transceiver created by the client for the screenshare publish to the SFU for the new screenshare down to the client. Waterfall calls AddTrack and the transceiver is in the recvonly state (from the SFU's PoV) so it's not unreasonable for pion to re-use it, but we'd expect a renegotiation from the SFU to change the direction to sendrecv (the client doesn't get one).
Options to fix:
* Fix whatever bug in pion that means the renegotiation doesn't happen
* Use addTransceiver (presumably pion has this?) to manually add a new transceiver rather than re-use the existing one.
The spec probably isn't super explicit on this, but the second option seems like it would keep things simpler.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.