fix wrong size being reported in error messages (#740)

This commit is contained in:
Alessandro Ros
2025-03-27 11:34:23 +01:00
committed by GitHub
parent 20b6d71e58
commit 4b0fe4f7d2
9 changed files with 32 additions and 13 deletions

View File

@@ -130,8 +130,10 @@ func (d *Decoder) decodeNALUs(pkt *rtp.Packet) ([][]byte, error) {
d.fragmentsSize += len(pkt.Payload[2:])
if d.fragmentsSize > h264.MaxAccessUnitSize {
errSize := d.fragmentsSize
d.resetFragments()
return nil, fmt.Errorf("NALU size (%d) is too big, maximum is %d", d.fragmentsSize, h264.MaxAccessUnitSize)
return nil, fmt.Errorf("NALU size (%d) is too big, maximum is %d",
errSize, h264.MaxAccessUnitSize)
}
d.fragments = append(d.fragments, pkt.Payload[2:])
@@ -227,11 +229,12 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([][]byte, error) {
}
if (d.frameBufferSize + addSize) > h264.MaxAccessUnitSize {
errSize := d.frameBufferSize + addSize
d.frameBuffer = nil
d.frameBufferLen = 0
d.frameBufferSize = 0
return nil, fmt.Errorf("access unit size (%d) is too big, maximum is %d",
d.frameBufferSize+addSize, h264.MaxAccessUnitSize)
errSize, h264.MaxAccessUnitSize)
}
d.frameBuffer = append(d.frameBuffer, nalus...)