Add option to force simuclast codec. (#4226)

This commit is contained in:
Raja Subramanian
2026-01-08 02:13:03 +05:30
committed by GitHub
parent 0a7dd40b35
commit dafdc36e3e
2 changed files with 7 additions and 0 deletions

View File

@@ -97,6 +97,7 @@ type MediaTrackParams struct {
PreferVideoSizeFromMedia bool
EnableRTPStreamRestartDetection bool
UpdateTrackInfoByVideoSizeChange bool
ForceBackupCodecPolicySimulcast bool
}
func NewMediaTrack(params MediaTrackParams, ti *livekit.TrackInfo) *MediaTrack {
@@ -105,6 +106,10 @@ func NewMediaTrack(params MediaTrackParams, ti *livekit.TrackInfo) *MediaTrack {
backupCodecPolicy: ti.BackupCodecPolicy,
}
if t.params.ForceBackupCodecPolicySimulcast {
t.backupCodecPolicy = livekit.BackupCodecPolicy_SIMULCAST
}
if t.backupCodecPolicy != livekit.BackupCodecPolicy_SIMULCAST && len(ti.Codecs) > 1 {
t.regressionTargetCodec = mime.NormalizeMimeType(ti.Codecs[1].MimeType)
t.params.Logger.Debugw("track enabled codec regression", "regressionCodec", t.regressionTargetCodec)

View File

@@ -222,6 +222,7 @@ type ParticipantParams struct {
UseSinglePeerConnection bool
EnableDataTracks bool
EnableRTPStreamRestartDetection bool
ForceBackupCodecPolicySimulcast bool
}
type ParticipantImpl struct {
@@ -3287,6 +3288,7 @@ func (p *ParticipantImpl) addMediaTrack(signalCid string, ti *livekit.TrackInfo)
PreferVideoSizeFromMedia: p.params.PreferVideoSizeFromMedia,
EnableRTPStreamRestartDetection: p.params.EnableRTPStreamRestartDetection,
UpdateTrackInfoByVideoSizeChange: p.params.UseOneShotSignallingMode,
ForceBackupCodecPolicySimulcast: p.params.ForceBackupCodecPolicySimulcast,
}, ti)
mt.OnSubscribedMaxQualityChange(p.onSubscribedMaxQualityChange)