diff --git a/pkg/rtc/mediatrack.go b/pkg/rtc/mediatrack.go index fe82cf010..1cd7afe70 100644 --- a/pkg/rtc/mediatrack.go +++ b/pkg/rtc/mediatrack.go @@ -239,8 +239,7 @@ func (t *MediaTrack) AddReceiver(receiver *webrtc.RTPReceiver, track *webrtc.Tra defer t.lock.Unlock() if t.receiver == nil { // pack ID to identify all publishedTracks - packedId := PackTrackId(t.participantId, t.ID()) - t.receiver = NewWrappedReceiver(sfu.NewWebRTCReceiver(receiver, track, t.participantId), packedId) + t.receiver = NewWrappedReceiver(sfu.NewWebRTCReceiver(receiver, track, t.participantId), t.ID(), t.participantId) t.receiver.SetRTCPCh(t.rtcpCh) t.receiver.OnCloseHandler(func() { t.lock.Lock() diff --git a/pkg/rtc/wrappedreceiver.go b/pkg/rtc/wrappedreceiver.go index ed924c550..2fddcf6b7 100644 --- a/pkg/rtc/wrappedreceiver.go +++ b/pkg/rtc/wrappedreceiver.go @@ -8,16 +8,22 @@ import ( type WrappedReceiver struct { sfu.Receiver - trackId string + trackId string + streamId string } -func NewWrappedReceiver(receiver sfu.Receiver, trackId string) WrappedReceiver { +func NewWrappedReceiver(receiver sfu.Receiver, trackId string, streamId string) WrappedReceiver { return WrappedReceiver{ Receiver: receiver, trackId: trackId, + streamId: streamId, } } func (r WrappedReceiver) TrackID() string { return r.trackId } + +func (r WrappedReceiver) StreamID() string { + return r.streamId +}