From 53e8fed0b0e9cc1dd4bdeb9023d143080d18082b Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Fri, 10 Mar 2023 10:26:03 +0300 Subject: [PATCH] Update medias for WebRTC passive producer --- pkg/webrtc/conn.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkg/webrtc/conn.go b/pkg/webrtc/conn.go index 61440c1c..406486a0 100644 --- a/pkg/webrtc/conn.go +++ b/pkg/webrtc/conn.go @@ -125,13 +125,20 @@ func (c *Conn) getRecvTrack(remote *webrtc.TrackRemote) *streamer.Track { case streamer.ModePassiveProducer: // remote track from WebRTC passive producer (incoming WebRTC WHIP) - for _, media := range c.medias { + for i, media := range c.medias { for _, codec := range media.Codecs { - if codec.PayloadType == payloadType { - track := streamer.NewTrack(media, codec) - c.tracks = append(c.tracks, track) - return track + if codec.PayloadType != payloadType { + continue } + + // leave only one codec in supported media list + if len(media.Codecs) > 1 { + c.medias[i].Codecs = []*streamer.Codec{codec} + } + + track := streamer.NewTrack(media, codec) + c.tracks = append(c.tracks, track) + return track } }