From 71c333177fe4e8e4390b54f801091fe0616a3b24 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Mon, 5 Apr 2021 13:23:53 +0200 Subject: [PATCH] RTMP client: fix timeout when publishing --- internal/clientrtmp/client.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/clientrtmp/client.go b/internal/clientrtmp/client.go index eca9956e..1e87405b 100644 --- a/internal/clientrtmp/client.go +++ b/internal/clientrtmp/client.go @@ -169,7 +169,8 @@ func (c *Client) run() { defer onConnectCmd.Close() } - c.conn.NetConn().SetDeadline(time.Now().Add(c.readTimeout)) + c.conn.NetConn().SetReadDeadline(time.Now().Add(c.readTimeout)) + c.conn.NetConn().SetWriteDeadline(time.Now().Add(c.writeTimeout)) err := c.conn.ServerHandshake() if err != nil { c.log(logger.Info, "ERR: %s", err) @@ -303,6 +304,9 @@ func (c *Client) runRead() { return } + // disable read deadline + c.conn.NetConn().SetReadDeadline(time.Time{}) + writerDone := make(chan error) go func() { writerDone <- func() error { @@ -471,6 +475,9 @@ func (c *Client) runPublish() { return } + // disable write deadline + c.conn.NetConn().SetWriteDeadline(time.Time{}) + readerDone := make(chan error) go func() { readerDone <- func() error {