diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 2c17d0dd9..f510cf5af 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1340,9 +1340,7 @@ func (p *ParticipantImpl) AddTrack(req *livekit.AddTrackRequest) { return } - p.pendingTracksLock.Lock() - ti := p.addPendingTrackLocked(req) - p.pendingTracksLock.Unlock() + ti := p.addPendingTrack(req) if ti == nil { return } @@ -2852,7 +2850,10 @@ func (p *ParticipantImpl) onSubscribedAudioCodecChange( return p.sendSubscribedAudioCodecUpdate(subscribedAudioCodecUpdate) } -func (p *ParticipantImpl) addPendingTrackLocked(req *livekit.AddTrackRequest) *livekit.TrackInfo { +func (p *ParticipantImpl) addPendingTrack(req *livekit.AddTrackRequest) *livekit.TrackInfo { + p.pendingTracksLock.Lock() + defer p.pendingTracksLock.Unlock() + if req.Sid != "" { track := p.GetPublishedTrack(livekit.TrackID(req.Sid)) if track == nil {