diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index ed610fe1a..351016b52 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1892,6 +1892,8 @@ func (p *ParticipantImpl) onPublisherInitialConnected() { } if p.params.UseOneShotSignallingMode { + go p.subscriberRTCPWorker() + p.setDownTracksConnected() } diff --git a/pkg/rtc/transportmanager.go b/pkg/rtc/transportmanager.go index ca34d3a1a..fc525b49b 100644 --- a/pkg/rtc/transportmanager.go +++ b/pkg/rtc/transportmanager.go @@ -265,7 +265,11 @@ func (t *TransportManager) RemoveTrackLocal(sender *webrtc.RTPSender) error { } func (t *TransportManager) WriteSubscriberRTCP(pkts []rtcp.Packet) error { - return t.subscriber.WriteRTCP(pkts) + if t.params.UseOneShotSignallingMode { + return t.publisher.WriteRTCP(pkts) + } else { + return t.subscriber.WriteRTCP(pkts) + } } func (t *TransportManager) GetSubscriberPacer() pacer.Pacer {