From b45d2000a637bb7b03dd20e7960439b82fd4f85b Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Mon, 17 Aug 2020 18:49:25 +0200 Subject: [PATCH] ConnClient: fix i/o timeout --- conn-client.go | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/conn-client.go b/conn-client.go index 4de2dc4a..df854599 100644 --- a/conn-client.go +++ b/conn-client.go @@ -577,26 +577,10 @@ func (c *ConnClient) Play(u *url.URL) (*Response, error) { // the TCP connection open through keepalives, and returns when the TCP // connection closes. func (c *ConnClient) LoopUdp(u *url.URL) error { - // send a first keepalive before starting reading - _, err := c.Do(&Request{ - Method: OPTIONS, - Url: &url.URL{ - Scheme: "rtsp", - Host: u.Host, - User: u.User, - Path: "/", - }, - SkipResponse: true, - }) - if err != nil { - c.nconn.Close() - return err - } - readDone := make(chan error) go func() { for { - c.nconn.SetReadDeadline(time.Now().Add(clientUdpKeepalivePeriod)) + c.nconn.SetReadDeadline(time.Now().Add(clientUdpKeepalivePeriod + c.conf.ReadTimeout)) _, err := ReadResponse(c.br) if err != nil { readDone <- err