From 859e7f869639bcb9d52170779be9acfe35121fdf Mon Sep 17 00:00:00 2001 From: langhuihui <178529795@qq.com> Date: Thu, 7 Sep 2023 13:05:04 +0800 Subject: [PATCH] fix: TCPRTP --- tcp-rtp.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcp-rtp.go b/tcp-rtp.go index e476cab..6b2a0d1 100644 --- a/tcp-rtp.go +++ b/tcp-rtp.go @@ -29,9 +29,10 @@ func (t *TCPRTP) Start(onRTP func(util.Buffer) error) (err error) { continue } rtpLen = int(binary.BigEndian.Uint16(buffer[i-2 : i])) // rtp 头前面两个字节是长度 - if buffer.Len()-i < rtpLen { // 缓存中的数据不够一个 rtp 包,继续读取 + if remain := buffer.Len() - i; remain < rtpLen { // 缓存中的数据不够一个 rtp 包,继续读取 copy(buffer, buffer[i:]) - if _, err = io.ReadFull(reader, buffer[buffer.Len():]); err != nil { + buffer.Relloc(rtpLen) + if _, err = io.ReadFull(reader, buffer[remain:]); err != nil { return } err = onRTP(buffer)