From 8f984c770a4e3ba0557a4a33725f2f432f41ee33 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Tue, 17 Mar 2026 15:06:57 +0530 Subject: [PATCH] Fix repair stream ID reporting for RTX pairing. (#4369) If RTX stream got a packet before primary stream, the pairing was not getting set up properly. --- pkg/sfu/interceptor/rtx.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/sfu/interceptor/rtx.go b/pkg/sfu/interceptor/rtx.go index 47bf5989d..fc2f0cf33 100644 --- a/pkg/sfu/interceptor/rtx.go +++ b/pkg/sfu/interceptor/rtx.go @@ -92,7 +92,7 @@ func (f *RTXInfoExtractorFactory) SetStreamInfo(ssrc uint32, mid, rid, rsid stri if info.mid == mid && info.rsid == rid { repairSsrc = repair baseSsrc = ssrc - repairSid = info.rid + repairSid = rid delete(f.streams, repair) break } @@ -115,6 +115,8 @@ func (f *RTXInfoExtractorFactory) SetStreamInfo(ssrc uint32, mid, rid, rsid stri } } +// ------------------------------------------ + type RTXInfoExtractor struct { interceptor.NoOp @@ -143,6 +145,8 @@ func (u *RTXInfoExtractor) BindRemoteStream(info *interceptor.StreamInfo, reader } } +// ------------------------------------------ + type rtxInfoReader struct { tryTimes int reader interceptor.RTPReader