improve tests (#742)

This commit is contained in:
Alessandro Ros
2025-03-27 11:56:51 +01:00
committed by GitHub
parent abef977ad5
commit d59d7c48b4
3 changed files with 76 additions and 3 deletions

View File

@@ -33,7 +33,7 @@ func TestDecode(t *testing.T) {
}
}
func TestDecoderErrorLimit(t *testing.T) {
func TestDecoderErrorOBUCount(t *testing.T) {
d := &Decoder{}
err := d.Init()
require.NoError(t, err)

View File

@@ -222,7 +222,43 @@ func TestDecodeAccessUnit(t *testing.T) {
require.Equal(t, [][]byte{{0x01, 0x02}, {0x01, 0x02}}, nalus)
}
func TestDecoderErrorLimit(t *testing.T) {
func TestDecoderErrorNALUSize(t *testing.T) {
d := &Decoder{}
err := d.Init()
require.NoError(t, err)
size := 0
i := uint16(0)
for size < h264.MaxAccessUnitSize {
flags := byte(0)
if size == 0 {
flags = 0b10000000
}
_, err = d.Decode(&rtp.Packet{
Header: rtp.Header{
Version: 2,
Marker: false,
PayloadType: 96,
SequenceNumber: 17645 + i,
Timestamp: 2289527317,
SSRC: 0x9dbb7812,
},
Payload: append(
[]byte{byte(h264.NALUTypeFUA), flags},
bytes.Repeat([]byte{1, 2, 3, 4}, 1400/4)...,
),
})
size += 1400
i++
}
require.EqualError(t, err, "NALU size (8388801) is too big, maximum is 8388608")
}
func TestDecoderErrorNALUCount(t *testing.T) {
d := &Decoder{}
err := d.Init()
require.NoError(t, err)

View File

@@ -1,6 +1,7 @@
package rtph265
import (
"bytes"
"errors"
"testing"
@@ -39,7 +40,43 @@ func TestDecode(t *testing.T) {
}
}
func TestDecoderErrorLimit(t *testing.T) {
func TestDecoderErrorNALUSize(t *testing.T) {
d := &Decoder{}
err := d.Init()
require.NoError(t, err)
size := 0
i := uint16(0)
for size < h265.MaxAccessUnitSize {
flags := byte(0)
if size == 0 {
flags = 0b10000000
}
_, err = d.Decode(&rtp.Packet{
Header: rtp.Header{
Version: 2,
Marker: false,
PayloadType: 96,
SequenceNumber: 17645 + i,
Timestamp: 2289527317,
SSRC: 0x9dbb7812,
},
Payload: append(
[]byte{byte(h265.NALUType_FragmentationUnit << 1), 0, flags},
bytes.Repeat([]byte{1, 2, 3, 4}, 1400/4)...,
),
})
size += 1400
i++
}
require.EqualError(t, err, "NALU size (8388802) is too big, maximum is 8388608")
}
func TestDecoderErrorNALUCount(t *testing.T) {
d := &Decoder{}
err := d.Init()
require.NoError(t, err)