diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 285963286..b6d63e334 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1861,10 +1861,17 @@ func (p *ParticipantImpl) mediaTrackReceived(track *webrtc.TrackRemote, rtpRecei if mt.AddReceiver(rtpReceiver, track, p.twcc, mid) { p.removeMutedTrackNotFired(mt) - if newTrack { - p.pubLogger.Debugw("track published", "trackID", mt.ID(), "track", logger.Proto(mt.ToProto())) - go p.handleTrackPublished(mt) - } + } + + if newTrack { + go func() { + p.pubLogger.Debugw( + "track published", + "trackID", mt.ID(), + "track", logger.Proto(mt.ToProto()), + ) + p.handleTrackPublished(mt) + }() } return mt, newTrack