automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize

This commit is contained in:
aler9
2022-04-09 12:11:38 +02:00
committed by Alessandro Ros
parent b1a4b52090
commit bfe4e8cdaa
21 changed files with 390 additions and 376 deletions

View File

@@ -37,8 +37,7 @@ func TestInterleavedFrameRead(t *testing.T) {
for _, ca := range casesInterleavedFrame {
t.Run(ca.name, func(t *testing.T) {
f.Payload = make([]byte, 1024)
err := f.Read(bufio.NewReader(bytes.NewBuffer(ca.enc)))
err := f.Read(1024, bufio.NewReader(bytes.NewBuffer(ca.enc)))
require.NoError(t, err)
require.Equal(t, ca.dec, f)
})
@@ -64,7 +63,7 @@ func TestInterleavedFrameReadErrors(t *testing.T) {
{
"payload size too big",
[]byte{0x24, 0x00, 0x00, 0x08},
"payload size greater than maximum allowed (8 vs 5)",
"payload size (8) greater than maximum allowed (5)",
},
{
"payload invalid",
@@ -74,8 +73,7 @@ func TestInterleavedFrameReadErrors(t *testing.T) {
} {
t.Run(ca.name, func(t *testing.T) {
var f InterleavedFrame
f.Payload = make([]byte, 5)
err := f.Read(bufio.NewReader(bytes.NewBuffer(ca.byts)))
err := f.Read(5, bufio.NewReader(bytes.NewBuffer(ca.byts)))
require.EqualError(t, err, ca.err)
})
}
@@ -99,15 +97,14 @@ func TestReadInterleavedFrameOrRequest(t *testing.T) {
byts = append(byts, []byte{0x24, 0x6, 0x0, 0x4, 0x1, 0x2, 0x3, 0x4}...)
var f InterleavedFrame
f.Payload = make([]byte, 10)
var req Request
br := bufio.NewReader(bytes.NewBuffer(byts))
out, err := ReadInterleavedFrameOrRequest(&f, &req, br)
out, err := ReadInterleavedFrameOrRequest(&f, 10, &req, br)
require.NoError(t, err)
require.Equal(t, &req, out)
out, err = ReadInterleavedFrameOrRequest(&f, &req, br)
out, err = ReadInterleavedFrameOrRequest(&f, 10, &req, br)
require.NoError(t, err)
require.Equal(t, &f, out)
}
@@ -136,11 +133,9 @@ func TestReadInterleavedFrameOrRequestErrors(t *testing.T) {
} {
t.Run(ca.name, func(t *testing.T) {
var f InterleavedFrame
f.Payload = make([]byte, 10)
var req Request
br := bufio.NewReader(bytes.NewBuffer(ca.byts))
_, err := ReadInterleavedFrameOrRequest(&f, &req, br)
_, err := ReadInterleavedFrameOrRequest(&f, 10, &req, br)
require.EqualError(t, err, ca.err)
})
}
@@ -154,15 +149,13 @@ func TestReadInterleavedFrameOrResponse(t *testing.T) {
byts = append(byts, []byte{0x24, 0x6, 0x0, 0x4, 0x1, 0x2, 0x3, 0x4}...)
var f InterleavedFrame
f.Payload = make([]byte, 10)
var res Response
br := bufio.NewReader(bytes.NewBuffer(byts))
out, err := ReadInterleavedFrameOrResponse(&f, &res, br)
out, err := ReadInterleavedFrameOrResponse(&f, 10, &res, br)
require.NoError(t, err)
require.Equal(t, &res, out)
out, err = ReadInterleavedFrameOrResponse(&f, &res, br)
out, err = ReadInterleavedFrameOrResponse(&f, 10, &res, br)
require.NoError(t, err)
require.Equal(t, &f, out)
}
@@ -191,11 +184,9 @@ func TestReadInterleavedFrameOrResponseErrors(t *testing.T) {
} {
t.Run(ca.name, func(t *testing.T) {
var f InterleavedFrame
f.Payload = make([]byte, 10)
var res Response
br := bufio.NewReader(bytes.NewBuffer(ca.byts))
_, err := ReadInterleavedFrameOrResponse(&f, &res, br)
_, err := ReadInterleavedFrameOrResponse(&f, 10, &res, br)
require.EqualError(t, err, ca.err)
})
}