From 1c88a0336674725c660b62d2b2caba2d094a3994 Mon Sep 17 00:00:00 2001 From: cnderrauber Date: Wed, 17 May 2023 18:48:54 +0800 Subject: [PATCH] Don't add nack if it is already present in track codec (#1714) --- pkg/rtc/transport.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/rtc/transport.go b/pkg/rtc/transport.go index 0b438f4f3..a2e88f9f2 100644 --- a/pkg/rtc/transport.go +++ b/pkg/rtc/transport.go @@ -1958,7 +1958,16 @@ func configureAudioTransceiver(tr *webrtc.RTPTransceiver, stereo bool, nack bool c.SDPFmtpLine += ";sprop-stereo=1" } if nack { - c.RTCPFeedback = append(c.RTCPFeedback, webrtc.RTCPFeedback{Type: webrtc.TypeRTCPFBNACK}) + var nackFound bool + for _, fb := range c.RTCPFeedback { + if fb.Type == webrtc.TypeRTCPFBNACK { + nackFound = true + break + } + } + if !nackFound { + c.RTCPFeedback = append(c.RTCPFeedback, webrtc.RTCPFeedback{Type: webrtc.TypeRTCPFBNACK}) + } } } configCodecs = append(configCodecs, c)