From 7fab9e57494f60125e27e3fbdcb5e55872b08848 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Mon, 5 Apr 2021 19:16:07 +0200 Subject: [PATCH] RTMP client: do not print errors in case of fragmented AAC frames --- internal/clientrtmp/client.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/clientrtmp/client.go b/internal/clientrtmp/client.go index 58162c16..eff3d6c3 100644 --- a/internal/clientrtmp/client.go +++ b/internal/clientrtmp/client.go @@ -325,8 +325,6 @@ func (c *Client) runRead() { // send them together. marker := (pair.buf[1] >> 7 & 0x1) > 0 if marker { - c.conn.NetConn().SetWriteDeadline(time.Now().Add(c.writeTimeout)) - dts := time.Since(videoStartDTS) // avoid duplicate DTS @@ -336,6 +334,7 @@ func (c *Client) runRead() { } videoLastDTS = dts + c.conn.NetConn().SetWriteDeadline(time.Now().Add(c.writeTimeout)) err := c.conn.WriteH264(videoBuf, dts) if err != nil { return err @@ -346,7 +345,9 @@ func (c *Client) runRead() { } else if audioTrack != nil && pair.trackID == audioTrack.ID { aus, pts, err := aacDecoder.Decode(pair.buf) if err != nil { - c.log(logger.Warn, "unable to decode audio track: %v", err) + if err != rtpaac.ErrMorePacketsNeeded { + c.log(logger.Warn, "unable to decode audio track: %v", err) + } continue }