From 1e247cba929d2e4dee0db5031bcf2226a952974e Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Mon, 14 Nov 2022 17:26:59 +0300 Subject: [PATCH] Igroner app media for WebRTC from Hass --- pkg/webrtc/conn.go | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkg/webrtc/conn.go b/pkg/webrtc/conn.go index 918437e5..5b6cbc2d 100644 --- a/pkg/webrtc/conn.go +++ b/pkg/webrtc/conn.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/AlexxIT/go2rtc/pkg/streamer" "github.com/pion/webrtc/v3" - "sort" ) const ( @@ -100,12 +99,23 @@ func (c *Conn) SetOffer(offer string) (err error) { return } rawSDP := []byte(c.Conn.RemoteDescription().SDP) - c.medias, err = streamer.UnmarshalSDP(rawSDP) + medias, err := streamer.UnmarshalSDP(rawSDP) + if err != nil { + return + } // 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 - }) + // and ignore application media from Hass default lovelace card + for _, media := range medias { + if media.Kind == streamer.KindVideo { + c.medias = append(c.medias, media) + } + } + for _, media := range medias { + if media.Kind == streamer.KindAudio { + c.medias = append(c.medias, media) + } + } return }