mirror of
https://github.com/aler9/gortsplib
synced 2025-11-02 23:04:05 +08:00
fix wrong size being reported in error messages (#740)
This commit is contained in:
@@ -83,8 +83,10 @@ func (d *Decoder) decodeOBUs(pkt *rtp.Packet) ([][]byte, error) {
|
||||
d.fragmentsSize += len(av1header.OBUElements[0])
|
||||
|
||||
if d.fragmentsSize > av1.MaxTemporalUnitSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("temporal unit size (%d) is too big, maximum is %d", d.fragmentsSize, av1.MaxTemporalUnitSize)
|
||||
return nil, fmt.Errorf("temporal unit size (%d) is too big, maximum is %d",
|
||||
errSize, av1.MaxTemporalUnitSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, av1header.OBUElements[0])
|
||||
@@ -108,9 +110,10 @@ func (d *Decoder) decodeOBUs(pkt *rtp.Packet) ([][]byte, error) {
|
||||
d.fragmentsSize += len(av1header.OBUElements[elementCount-1])
|
||||
|
||||
if d.fragmentsSize > av1.MaxTemporalUnitSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("temporal unit size (%d) is too big, maximum is %d",
|
||||
d.fragmentsSize, av1.MaxTemporalUnitSize)
|
||||
errSize, av1.MaxTemporalUnitSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, av1header.OBUElements[elementCount-1])
|
||||
@@ -154,11 +157,12 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([][]byte, error) {
|
||||
}
|
||||
|
||||
if (d.frameBufferSize + addSize) > av1.MaxTemporalUnitSize {
|
||||
errSize := d.frameBufferSize + addSize
|
||||
d.frameBuffer = nil
|
||||
d.frameBufferLen = 0
|
||||
d.frameBufferSize = 0
|
||||
return nil, fmt.Errorf("temporal unit size (%d) is too big, maximum is %d",
|
||||
d.frameBufferSize+addSize, av1.MaxOBUsPerTemporalUnit)
|
||||
errSize, av1.MaxOBUsPerTemporalUnit)
|
||||
}
|
||||
|
||||
d.frameBuffer = append(d.frameBuffer, obus...)
|
||||
|
||||
@@ -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...)
|
||||
|
||||
@@ -137,8 +137,10 @@ func (d *Decoder) decodeNALUs(pkt *rtp.Packet) ([][]byte, error) {
|
||||
d.fragmentsSize += len(pkt.Payload[3:])
|
||||
|
||||
if d.fragmentsSize > h265.MaxAccessUnitSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("NALU size (%d) is too big, maximum is %d", d.fragmentsSize, h265.MaxAccessUnitSize)
|
||||
return nil, fmt.Errorf("NALU size (%d) is too big, maximum is %d",
|
||||
errSize, h265.MaxAccessUnitSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, pkt.Payload[3:])
|
||||
@@ -186,11 +188,12 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([][]byte, error) {
|
||||
}
|
||||
|
||||
if (d.frameBufferSize + addSize) > h265.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, h265.MaxAccessUnitSize)
|
||||
errSize, h265.MaxAccessUnitSize)
|
||||
}
|
||||
|
||||
d.frameBuffer = append(d.frameBuffer, nalus...)
|
||||
|
||||
@@ -139,10 +139,11 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([]byte, error) {
|
||||
addSize := len(slice)
|
||||
|
||||
if (d.sliceBufferSize + addSize) > maxFrameSize {
|
||||
errSize := d.sliceBufferSize + addSize
|
||||
d.sliceBuffer = nil
|
||||
d.sliceBufferSize = 0
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d",
|
||||
d.sliceBufferSize+addSize, maxFrameSize)
|
||||
errSize, maxFrameSize)
|
||||
}
|
||||
|
||||
d.sliceBuffer = append(d.sliceBuffer, slice)
|
||||
|
||||
@@ -85,9 +85,10 @@ func (d *Decoder) decodeGeneric(pkt *rtp.Packet) ([][]byte, error) {
|
||||
d.fragmentsSize += int(dataLens[0])
|
||||
|
||||
if d.fragmentsSize > mpeg4audio.MaxAccessUnitSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("access unit size (%d) is too big, maximum is %d",
|
||||
d.fragmentsSize, mpeg4audio.MaxAccessUnitSize)
|
||||
errSize, mpeg4audio.MaxAccessUnitSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, payload[:dataLens[0]])
|
||||
|
||||
@@ -25,9 +25,10 @@ func (d *Decoder) decodeLATM(pkt *rtp.Packet) ([][]byte, error) {
|
||||
// there could be other data, due to otherDataPresent. Ignore it.
|
||||
} else {
|
||||
if pl > mpeg4audio.MaxAccessUnitSize {
|
||||
errSize := pl
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("access unit size (%d) is too big, maximum is %d",
|
||||
pl, mpeg4audio.MaxAccessUnitSize)
|
||||
errSize, mpeg4audio.MaxAccessUnitSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, buf)
|
||||
|
||||
@@ -61,8 +61,10 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([]byte, error) {
|
||||
d.fragmentsSize += len(pkt.Payload)
|
||||
|
||||
if d.fragmentsSize > mpeg4video.MaxFrameSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d", d.fragmentsSize, mpeg4video.MaxFrameSize)
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d",
|
||||
errSize, mpeg4video.MaxFrameSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, pkt.Payload)
|
||||
|
||||
@@ -92,8 +92,10 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([]byte, error) {
|
||||
d.fragmentsSize += len(vpkt.Payload)
|
||||
|
||||
if d.fragmentsSize > vp8.MaxFrameSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d", d.fragmentsSize, vp8.MaxFrameSize)
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d",
|
||||
errSize, vp8.MaxFrameSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, vpkt.Payload)
|
||||
|
||||
@@ -87,8 +87,10 @@ func (d *Decoder) Decode(pkt *rtp.Packet) ([]byte, error) {
|
||||
d.fragmentsSize += len(vpkt.Payload)
|
||||
|
||||
if d.fragmentsSize > vp9.MaxFrameSize {
|
||||
errSize := d.fragmentsSize
|
||||
d.resetFragments()
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d", d.fragmentsSize, vp9.MaxFrameSize)
|
||||
return nil, fmt.Errorf("frame size (%d) is too big, maximum is %d",
|
||||
errSize, vp9.MaxFrameSize)
|
||||
}
|
||||
|
||||
d.fragments = append(d.fragments, vpkt.Payload)
|
||||
|
||||
Reference in New Issue
Block a user