From c7d228daff3442f9b7f6ae4145a9cb6fa4453069 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Mon, 1 May 2023 14:33:03 +0300 Subject: [PATCH] Remove mp4 pkg dependency from rtsp pkg --- internal/rtsp/rtsp.go | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/internal/rtsp/rtsp.go b/internal/rtsp/rtsp.go index a2c90e51..f50337f4 100644 --- a/internal/rtsp/rtsp.go +++ b/internal/rtsp/rtsp.go @@ -9,7 +9,6 @@ import ( "github.com/AlexxIT/go2rtc/internal/app" "github.com/AlexxIT/go2rtc/internal/streams" "github.com/AlexxIT/go2rtc/pkg/core" - "github.com/AlexxIT/go2rtc/pkg/mp4" "github.com/AlexxIT/go2rtc/pkg/rtsp" "github.com/AlexxIT/go2rtc/pkg/tcp" "github.com/rs/zerolog" @@ -57,7 +56,7 @@ func Init() { log.Info().Str("addr", address).Msg("[rtsp] listen") if query, err := url.ParseQuery(conf.Mod.DefaultQuery); err == nil { - defaultMedias = mp4.ParseQuery(query) + defaultMedias = ParseQuery(query) } go func() { @@ -177,7 +176,7 @@ func tcpHandler(conn *rtsp.Conn) { conn.SessionName = app.UserAgent query := conn.URL.Query() - conn.Medias = mp4.ParseQuery(query) + conn.Medias = ParseQuery(query) if conn.Medias == nil { for _, media := range defaultMedias { conn.Medias = append(conn.Medias, media.Clone()) @@ -249,3 +248,27 @@ func tcpHandler(conn *rtsp.Conn) { _ = conn.Close() } + +func ParseQuery(query map[string][]string) []*core.Media { + if v := query["mp4"]; v != nil { + return []*core.Media{ + { + Kind: core.KindVideo, + Direction: core.DirectionSendonly, + Codecs: []*core.Codec{ + {Name: core.CodecH264}, + {Name: core.CodecH265}, + }, + }, + { + Kind: core.KindAudio, + Direction: core.DirectionSendonly, + Codecs: []*core.Codec{ + {Name: core.CodecAAC}, + }, + }, + } + } + + return core.ParseQuery(query) +}