diff --git a/pkg/rtc/mediatrack.go b/pkg/rtc/mediatrack.go index 39ab47f26..6626fd1c5 100644 --- a/pkg/rtc/mediatrack.go +++ b/pkg/rtc/mediatrack.go @@ -60,6 +60,8 @@ type MediaTrack struct { } type MediaTrackParams struct { + SignalCid string + SdpCid string ParticipantID livekit.ParticipantID ParticipantIdentity livekit.ParticipantIdentity ParticipantVersion uint32 @@ -175,6 +177,10 @@ func (t *MediaTrack) NotifySubscriberNodeMaxQuality(nodeID livekit.NodeID, quali } func (t *MediaTrack) HasSignalCid(cid string) bool { + if t.params.SignalCid == cid { + return true + } + for _, c := range t.MediaTrackReceiver.TrackInfo().Codecs { if c.SignalCid == cid { return true @@ -194,6 +200,10 @@ func (t *MediaTrack) SdpCids() []string { } func (t *MediaTrack) HasSdpCid(cid string) bool { + if t.params.SdpCid == cid { + return true + } + for _, c := range t.MediaTrackReceiver.TrackInfo().Codecs { if c.SdpCid == cid { return true diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index ebf162ca5..6486c3975 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -2607,6 +2607,8 @@ func (p *ParticipantImpl) addMigratedTrack(cid string, ti *livekit.TrackInfo) *M func (p *ParticipantImpl) addMediaTrack(signalCid string, sdpCid string, ti *livekit.TrackInfo) *MediaTrack { mt := NewMediaTrack(MediaTrackParams{ + SignalCid: signalCid, + SdpCid: sdpCid, ParticipantID: p.params.SID, ParticipantIdentity: p.params.Identity, ParticipantVersion: p.version.Load(),