-
Notifications
You must be signed in to change notification settings - Fork 166
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reuse transceivers in subscribe path (#51)
* Reuse transceivers in subscribe path LK-22 (https://linear.app/livekit/issue/LK-22/feature-pooled-transceivers-to-avoid-re-negotiation) Do not stop remote tracks. That would change `readyState` of track to `ended` and the corresponding transceiver cannot be reused. Instead use the `enabled` attribute of track to enable/disable remote tracks. Bumping up the protocol version that informs the server that client is capable of reusing transceivers. Testing: -------- Connect from Chrome. For remote side, connect/disconnect from Firefox several times and ensure the following - SDP does not grow (it has 4 sections as reported by chrome://webrtc-internals (version, data, audio, video) each time the remote side connects. - Media flows from remote side on every connection. Oddities: --------- - Chrome callback `ontrack` sends a track. When the remote side reconnects and the same transceiver is used, the callback does not contain the new track id. It retains what was returned in the first callback. Don't think it is an issue as we do not use that track id anywhere. * Apply suggestions from code review Co-authored-by: David Zhao <[email protected]> Co-authored-by: David Zhao <[email protected]>
- Loading branch information
Showing
5 changed files
with
27 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
export const version = '0.12.2'; | ||
export const protocolVersion = 3; | ||
export const protocolVersion = 4; |