mirror of
https://github.com/aler9/gortsplib
synced 2025-10-04 14:52:46 +08:00
improve fuzz tests (#591)
This commit is contained in:
@@ -1123,187 +1123,4 @@ func TestUnmarshalErrors(t *testing.T) {
|
||||
_, err := Unmarshal("video", 96, "", map[string]string{})
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("mpeg-4 audio generic", func(t *testing.T) {
|
||||
_, err := Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"streamtype": "10",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"mode": "asd",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"profile-level-id": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"config": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"config": "0ab2",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"sizelength": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"indexlength": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"indexdeltalength": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"profile-level-id": "1",
|
||||
"sizelength": "13",
|
||||
"indexlength": "3",
|
||||
"indexdeltalength": "3",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MPEG4-generic/48000/2", map[string]string{
|
||||
"profile-level-id": "1",
|
||||
"config": "1190",
|
||||
"indexlength": "3",
|
||||
"indexdeltalength": "3",
|
||||
})
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("mpeg-4 audio latm", func(t *testing.T) {
|
||||
_, err := Unmarshal("audio", 96, "MP4A-LATM/48000/2", map[string]string{
|
||||
"profile-level-id": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MP4A-LATM/48000/2", map[string]string{
|
||||
"bitrate": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MP4A-LATM/48000/2", map[string]string{
|
||||
"cpresent": "0",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MP4A-LATM/48000/2", map[string]string{
|
||||
"config": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("audio", 96, "MP4A-LATM/48000/2", map[string]string{
|
||||
"profile-level-id": "15",
|
||||
"object": "2",
|
||||
"cpresent": "0",
|
||||
"sbr-enabled": "1",
|
||||
})
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("av1", func(t *testing.T) {
|
||||
_, err := Unmarshal("video", 96, "AV1/90000", map[string]string{
|
||||
"level-idx": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("video", 96, "AV1/90000", map[string]string{
|
||||
"profile": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
|
||||
_, err = Unmarshal("video", 96, "AV1/90000", map[string]string{
|
||||
"tier": "aaa",
|
||||
})
|
||||
require.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalH264(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, sps string, pktMode string) {
|
||||
Unmarshal("video", 96, "H264/90000", map[string]string{ //nolint:errcheck
|
||||
"sprop-parameter-sets": sps,
|
||||
"packetization-mode": pktMode,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalH265(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, a, b, c, d string) {
|
||||
Unmarshal("video", 96, "H265/90000", map[string]string{ //nolint:errcheck
|
||||
"sprop-vps": a,
|
||||
"sprop-sps": b,
|
||||
"sprop-pps": c,
|
||||
"sprop-max-don-diff": d,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalLPCM(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, a string) {
|
||||
Unmarshal("audio", 96, "L16/"+a, nil) //nolint:errcheck
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalMPEG4Video(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, a, b string) {
|
||||
Unmarshal("video", 96, "MP4V-ES/90000", map[string]string{ //nolint:errcheck
|
||||
"profile-level-id": a,
|
||||
"config": b,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalOpus(f *testing.F) {
|
||||
f.Add("48000/a")
|
||||
|
||||
f.Fuzz(func(_ *testing.T, a string) {
|
||||
Unmarshal("audio", 96, "Opus/"+a, nil) //nolint:errcheck
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalOpusMulti(f *testing.F) {
|
||||
f.Add("48000/a")
|
||||
|
||||
f.Fuzz(func(_ *testing.T, a string) {
|
||||
Unmarshal("audio", 96, "multiopus/"+a, nil) //nolint:errcheck
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalVorbis(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, a, b string) {
|
||||
Unmarshal("audio", 96, "Vorbis/"+a, map[string]string{ //nolint:errcheck
|
||||
"configuration": b,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalVP8(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, a, b string) {
|
||||
Unmarshal("video", 96, "VP8/90000", map[string]string{ //nolint:errcheck
|
||||
"max-fr": a,
|
||||
"max-fs": b,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func FuzzUnmarshalVP9(f *testing.F) {
|
||||
f.Fuzz(func(_ *testing.T, a, b, c string) {
|
||||
Unmarshal("video", 96, "VP9/90000", map[string]string{ //nolint:errcheck
|
||||
"max-fr": a,
|
||||
"max-fs": b,
|
||||
"profile-id": c,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user