diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 004a4fa79..fe514ce84 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -502,9 +502,6 @@ func (p *ParticipantImpl) HandleOffer(sdp webrtc.SessionDescription) (answer web } } - if p.State() == livekit.ParticipantInfo_JOINING { - p.updateState(livekit.ParticipantInfo_JOINED) - } prometheus.ServiceOperationCounter.WithLabelValues("answer", "success", "").Add(1) return diff --git a/pkg/rtc/participant_signal.go b/pkg/rtc/participant_signal.go index a15227067..9a2d7242d 100644 --- a/pkg/rtc/participant_signal.go +++ b/pkg/rtc/participant_signal.go @@ -37,6 +37,10 @@ func (p *ParticipantImpl) SendJoinResponse( iceServers []*livekit.ICEServer, region string, ) error { + if p.State() == livekit.ParticipantInfo_JOINING { + p.updateState(livekit.ParticipantInfo_JOINED) + } + // send Join response return p.writeMessage(&livekit.SignalResponse{ Message: &livekit.SignalResponse_Join{ diff --git a/pkg/sfu/streamtrackermanager.go b/pkg/sfu/streamtrackermanager.go index 51f2bcb08..995133895 100644 --- a/pkg/sfu/streamtrackermanager.go +++ b/pkg/sfu/streamtrackermanager.go @@ -290,7 +290,7 @@ func (s *StreamTrackerManager) addAvailableLayer(layer int32) { layers := s.availableLayers s.lock.Unlock() - s.logger.Debugw("available layers changed - layer seen", "layers", layers) + s.logger.Debugw("available layers changed - layer seen", "added", layer, "layers", layers) if s.onAvailableLayersChanged != nil { s.onAvailableLayersChanged(layers) @@ -309,7 +309,7 @@ func (s *StreamTrackerManager) removeAvailableLayer(layer int32) { s.availableLayers = newLayers s.lock.Unlock() - s.logger.Debugw("available layers changed - layer gone", "layers", newLayers) + s.logger.Debugw("available layers changed - layer gone", "removed", layer, "layers", newLayers) // need to immediately switch off unavailable layers if s.onAvailableLayersChanged != nil {