Files
gortsplib/pkg/format/rtplpcm/decoder_test.go
2025-05-04 11:27:28 +02:00

55 lines
973 B
Go

package rtplpcm
import (
"testing"
"github.com/pion/rtp"
"github.com/stretchr/testify/require"
)
func TestDecode(t *testing.T) {
for _, ca := range cases {
t.Run(ca.name, func(t *testing.T) {
d := &Decoder{
BitDepth: 24,
ChannelCount: 2,
}
err := d.Init()
require.NoError(t, err)
var samples []byte
for _, pkt := range ca.pkts {
partial, err := d.Decode(pkt)
require.NoError(t, err)
samples = append(samples, partial...)
}
require.Equal(t, ca.samples, samples)
})
}
}
func FuzzDecoder(f *testing.F) {
f.Fuzz(func(t *testing.T, b []byte) {
d := &Decoder{
BitDepth: 24,
ChannelCount: 2,
}
err := d.Init()
require.NoError(t, err)
d.Decode(&rtp.Packet{ //nolint:errcheck
Header: rtp.Header{
Version: 2,
Marker: false,
PayloadType: 96,
SequenceNumber: 17645,
Timestamp: 2289527317,
SSRC: 0x9dbb7812,
},
Payload: b,
})
})
}