From f92e7e3db8e787200d3c422704574dc37f87169f Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Sat, 15 Jun 2024 20:44:50 +0530 Subject: [PATCH] use pending lock, no need for participant lock (#2793) --- pkg/rtc/participant.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 1238fcca1..504b7bc24 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -779,8 +779,9 @@ func (p *ParticipantImpl) AddTrack(req *livekit.AddTrackRequest) { return } - p.lock.Lock() - defer p.lock.Unlock() + p.pendingTracksLock.Lock() + defer p.pendingTracksLock.Unlock() + ti := p.addPendingTrackLocked(req) if ti == nil { return @@ -1767,9 +1768,6 @@ func (p *ParticipantImpl) onSubscribedMaxQualityChange( } func (p *ParticipantImpl) addPendingTrackLocked(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 {