From ce2898ac3ad6e22910804587d0229ac072a480f2 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Fri, 10 Mar 2023 17:41:18 +0300 Subject: [PATCH] Fix remote track processing for WebRTC passive producer --- pkg/webrtc/conn.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/webrtc/conn.go b/pkg/webrtc/conn.go index 377586e2..07866420 100644 --- a/pkg/webrtc/conn.go +++ b/pkg/webrtc/conn.go @@ -139,6 +139,16 @@ func (c *Conn) getRecvTrack(remote *webrtc.TrackRemote) *streamer.Track { case streamer.ModePassiveProducer: // remote track from WebRTC passive producer (incoming WebRTC WHIP) for i, media := range c.medias { + // check only tracks with same kind + if media.Kind != remote.Kind().String() { + continue + } + + // check only incoming tracks (remote media "sendonly") + if media.Direction != streamer.DirectionSendonly { + continue + } + for _, codec := range media.Codecs { if codec.PayloadType != payloadType { continue