-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Firefox case when screen and camera offer together #2107
Commits on Jan 31, 2022
-
Firefox case when screen and camera offer together
Firefox camera tracks do not fire onTrack when screen share and camera is negotiated in the same offer. There were two issues 1. When updateRemoteDescription runs, only the first media description of a specific kind was considered. So, when screen was before camera, screen did not $ave RID in extmap. It is in the camera section as video is using simulcast. All the extra ones in the camera section were ignored. Parse all descriptions and collect extensions to fix it. 2. This one sounds like a Firefox issue. When sending answer back, if the screen share section has the RID, Firefox seems to get stuck. It does not send screen or camera media and after 15 seconds, the peer connection fails. To address that, store extensions from SDP in transceiver and while constructing answer SDP, cross check against transceiver's negotiated extensions before adding it to the answer SDP. The reason I think this is a Firefox issue is because how it behaves before this change when camera is negotiated first and screen later in a separate offer. When screen is negotiated later, answer does send back RID and it works. Looks like Firefox has an issue seeing RID before it expects it. Testing -------- Used LiveKit JS SDK sample to negotiate screen and camera together. This was not an issue with Chrome as I could not get Chrome to negotiate screen and camera in the same offer with screen ahead of camera.
Configuration menu - View commit details
-
Copy full SHA for e5c9056 - Browse repository at this point
Copy the full SHA e5c9056View commit details -
Merge remote-tracking branch 'origin/master' into raja_firefox_screen…
…share_and_camera
Configuration menu - View commit details
-
Copy full SHA for 9498a64 - Browse repository at this point
Copy the full SHA 9498a64View commit details
Commits on Feb 9, 2022
-
Ignore explicit SSRCes in RID Simulcast processing
If the SRTP Stream hasn't been opened yet we would attempt to process (and fail) RTP traffic. This change causes us to not even attempt to read. No behavior change from this, but will cause less useless logging.
Configuration menu - View commit details
-
Copy full SHA for 55de02b - Browse repository at this point
Copy the full SHA 55de02bView commit details -
Don't close the SRTP Stream in handleIncomingSSRC
`AcceptStream` will then be fired again for this SSRC. We depend on the behavior of AcceptStream only returning once for each SSRC.
Configuration menu - View commit details
-
Copy full SHA for ad48d0d - Browse repository at this point
Copy the full SHA ad48d0dView commit details -
Update golang.org/x/net commit hash to cd36cc0
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for f400e1a - Browse repository at this point
Copy the full SHA f400e1aView commit details -
Assert that Simulcast probe thread doesn't close the Tracks that have been emitted to the user.
Configuration menu - View commit details
-
Copy full SHA for 687d924 - Browse repository at this point
Copy the full SHA 687d924View commit details -
Use ICE role to set DTLS role in answer
When creating answer, check ICE role while determining DTLS role. ORTC thread on how roles are set w3c/ortc#167 (comment) When remote is ice-lite and there is no answering role set, the answer uses the default which is DTLS client. So 'setup' is set as 'active' and answer sent. But, when DTLS transport is started, it checks the ICE role and sets itself as DTLS server (because remote is lite and hence local agent becomes controlling ICE agent). So, both sides end up being DTLS server and nobody sends client hello.
Configuration menu - View commit details
-
Copy full SHA for de26dbf - Browse repository at this point
Copy the full SHA de26dbfView commit details -
Remove ICETransportStateNew check in DTLS Start
DTLS should be able to be negotiated over an already established ICETransport Resolves #2113
Configuration menu - View commit details
-
Copy full SHA for 5e99129 - Browse repository at this point
Copy the full SHA 5e99129View commit details -
DTLS v2.1.2 fixes a bug with long delay connections. https://github.com/pion/dtls/releases/tag/v2.1.2
Configuration menu - View commit details
-
Copy full SHA for 9757a0e - Browse repository at this point
Copy the full SHA 9757a0eView commit details -
Update all examples with copySessionDescription
copySessionDescription adds a button to all examples that copies the local Session Description. This makes it easier for users to copy the values. Resolves #2092
Configuration menu - View commit details
-
Copy full SHA for 0049913 - Browse repository at this point
Copy the full SHA 0049913View commit details -
Been running these locally only.
Configuration menu - View commit details
-
Copy full SHA for 1d3ab0f - Browse repository at this point
Copy the full SHA 1d3ab0fView commit details -
Update actions/setup-node action to v2
Generated by renovateBot
Configuration menu - View commit details
-
Copy full SHA for 420fc85 - Browse repository at this point
Copy the full SHA 420fc85View commit details -
DTLS retransmission interval setting
Add SetDTLSRetranmissionInterval setting to SettingEngine. Add test for SetDTLSRetransmissionInterval
Configuration menu - View commit details
-
Copy full SHA for e0baf30 - Browse repository at this point
Copy the full SHA e0baf30View commit details -
Update lint scripts and CI configs.
Configuration menu - View commit details
-
Copy full SHA for 6a63f16 - Browse repository at this point
Copy the full SHA 6a63f16View commit details -
Add DTLS, ICE and SCTP Transport to WASM
Only available in the browser, not in wrtc yet. Resolves #2099
Configuration menu - View commit details
-
Copy full SHA for 5a5c1ce - Browse repository at this point
Copy the full SHA 5a5c1ceView commit details -
Merge remote-tracking branch 'origin/master' into raja_firefox_screen…
…share_and_camera
Configuration menu - View commit details
-
Copy full SHA for 395cb28 - Browse repository at this point
Copy the full SHA 395cb28View commit details