From 74cef13479d0e5098de20264c7a4069e40b76c01 Mon Sep 17 00:00:00 2001 From: Alexey Khit Date: Thu, 29 Jun 2023 16:09:17 +0300 Subject: [PATCH] Fix panic after RTSP reconnect feature #433 --- pkg/rtsp/client.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/rtsp/client.go b/pkg/rtsp/client.go index a4a3b656..d4deafd0 100644 --- a/pkg/rtsp/client.go +++ b/pkg/rtsp/client.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "github.com/AlexxIT/go2rtc/pkg/tcp/websocket" + "net" "net/http" "net/url" "strconv" @@ -22,10 +23,12 @@ func NewClient(uri string) *Conn { } func (c *Conn) Dial() (err error) { + var conn net.Conn + if c.Transport == "" { - c.conn, err = Dial(c.uri) + conn, err = Dial(c.uri) } else { - c.conn, err = websocket.Dial(c.Transport) + conn, err = websocket.Dial(c.Transport) } if err != nil { @@ -40,8 +43,10 @@ func (c *Conn) Dial() (err error) { c.auth = tcp.NewAuth(c.URL.User) c.URL.User = nil - c.reader = bufio.NewReader(c.conn) + c.conn = conn + c.reader = bufio.NewReader(conn) c.session = "" + c.sequence = 0 c.state = StateConn return nil