nextcloud / nextcloud/spreed

Make simulcast work with screen shares too

Open
#5,920 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug feature: call 📹 feature: frontend 🖌️
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

Extracted from #5535

Simulcast was not working for screenshares neither in Firefox nor in Chromium and, moreover, if a screen was shared in Chromium and simulcast was enabled for the peer connection of the screen Janus logs were spammed with [WARN] Incoming RTCP SR SSRC (XXXXXXXXX) does not match the expected one (YYYYYYYYYY) video=1 messages. Due to this simulcast was disabled for screen shares in #5535.

The only difference in the SDPs for a normal video and a screen share, besides the IDs, is in the data channel related fields (because the screen sharing peer has no data channels). But if data channels are disabled in the normal video peer the only differences in the SDP of a normal video and a screen share are the IDs, yet in that case the simulcast still works only for normal videos and not for screen shares.

There might be issues in the browser implementations with screensharing streams. A quick search found https://bugs.chromium.org/p/webrtc/issues/detail?id=11310

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository files or tests are named. Start by reproducing screen sharing with simulcast in Firefox and Chromium, compare the normal and screen-share SDP, and inspect Janus logs for SSRC warnings. Done means simulcast works for screen shares without the reported warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
audio-video-rtc
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.