Turn off transceiver re-use on Safari. (#4474)

There are issues with insertable streams + Safari which causes tracks to
go missing mid-stream sometimes.
This commit is contained in:
Raja Subramanian
2026-04-23 19:04:10 +05:30
committed by GitHub
parent d84f3d7a4e
commit 3a7f2628b0
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -114,6 +114,10 @@ func (c ClientInfo) SupportsSctpZeroChecksum() bool {
(!c.isGo() || c.compareVersion("2.4.0") >= 0)
}
func (c ClientInfo) SupportsTransceiverReuse() bool {
return !c.isSafari()
}
// compareVersion compares a semver against the current client SDK version
// returning 1 if current version is greater than version
// 0 if they are the same, and -1 if it's an earlier version
+4
View File
@@ -3756,6 +3756,10 @@ func (p *ParticipantImpl) SupportsSyncStreamID() bool {
}
func (p *ParticipantImpl) SupportsTransceiverReuse(mt types.MediaTrack) bool {
if !p.params.ClientInfo.SupportsTransceiverReuse() {
return false
}
if p.params.UseOneShotSignallingMode {
return p.ProtocolVersion().SupportsTransceiverReuse()
}