From d4784367587511049c5640b37df686ebb48db16e Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Fri, 11 Nov 2022 16:33:08 +0300 Subject: [PATCH] Set video track for WebRTC always first --- pkg/webrtc/conn.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/webrtc/conn.go b/pkg/webrtc/conn.go index 5cc50a51..918437e5 100644 --- a/pkg/webrtc/conn.go +++ b/pkg/webrtc/conn.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/AlexxIT/go2rtc/pkg/streamer" "github.com/pion/webrtc/v3" + "sort" ) const ( @@ -100,6 +101,12 @@ func (c *Conn) SetOffer(offer string) (err error) { } rawSDP := []byte(c.Conn.RemoteDescription().SDP) c.medias, err = streamer.UnmarshalSDP(rawSDP) + + // sort medias, so video will always be before audio + sort.Slice(c.medias, func(i, j int) bool { + return c.medias[i].Kind == streamer.KindVideo + }) + return }