rtmp: normalize API

This commit is contained in:
aler9
2022-06-27 17:51:54 +02:00
parent 08ddc9f83d
commit 45c1370145
11 changed files with 23 additions and 27 deletions

View File

@@ -7,5 +7,5 @@ import (
// Chunk is a chunk. // Chunk is a chunk.
type Chunk interface { type Chunk interface {
Read(io.Reader, uint32) error Read(io.Reader, uint32) error
Write() ([]byte, error) Marshal() ([]byte, error)
} }

View File

@@ -41,8 +41,8 @@ func (c *Chunk0) Read(r io.Reader, chunkMaxBodyLen uint32) error {
return err return err
} }
// Write writes the chunk. // Marshal writes the chunk.
func (c Chunk0) Write() ([]byte, error) { func (c Chunk0) Marshal() ([]byte, error) {
buf := make([]byte, 12+len(c.Body)) buf := make([]byte, 12+len(c.Body))
buf[0] = c.ChunkStreamID buf[0] = c.ChunkStreamID
buf[1] = byte(c.Timestamp >> 16) buf[1] = byte(c.Timestamp >> 16)

View File

@@ -28,8 +28,8 @@ func TestChunk0Read(t *testing.T) {
require.Equal(t, chunk0dec, chunk0) require.Equal(t, chunk0dec, chunk0)
} }
func TestChunk0Write(t *testing.T) { func TestChunk0Marshal(t *testing.T) {
buf, err := chunk0dec.Write() buf, err := chunk0dec.Marshal()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, chunk0enc, buf) require.Equal(t, chunk0enc, buf)
} }

View File

@@ -41,8 +41,8 @@ func (c *Chunk1) Read(r io.Reader, chunkMaxBodyLen uint32) error {
return err return err
} }
// Write writes the chunk. // Marshal writes the chunk.
func (c Chunk1) Write() ([]byte, error) { func (c Chunk1) Marshal() ([]byte, error) {
buf := make([]byte, 8+len(c.Body)) buf := make([]byte, 8+len(c.Body))
buf[0] = 1<<6 | c.ChunkStreamID buf[0] = 1<<6 | c.ChunkStreamID
buf[1] = byte(c.TimestampDelta >> 16) buf[1] = byte(c.TimestampDelta >> 16)

View File

@@ -27,8 +27,8 @@ func TestChunk1Read(t *testing.T) {
require.Equal(t, chunk1dec, chunk1) require.Equal(t, chunk1dec, chunk1)
} }
func TestChunk1Write(t *testing.T) { func TestChunk1Marshal(t *testing.T) {
buf, err := chunk1dec.Write() buf, err := chunk1dec.Marshal()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, chunk1enc, buf) require.Equal(t, chunk1enc, buf)
} }

View File

@@ -30,8 +30,8 @@ func (c *Chunk2) Read(r io.Reader, chunkBodyLen uint32) error {
return err return err
} }
// Write writes the chunk. // Marshal writes the chunk.
func (c Chunk2) Write() ([]byte, error) { func (c Chunk2) Marshal() ([]byte, error) {
buf := make([]byte, 4+len(c.Body)) buf := make([]byte, 4+len(c.Body))
buf[0] = 2<<6 | c.ChunkStreamID buf[0] = 2<<6 | c.ChunkStreamID
buf[1] = byte(c.TimestampDelta >> 16) buf[1] = byte(c.TimestampDelta >> 16)

View File

@@ -24,8 +24,8 @@ func TestChunk2Read(t *testing.T) {
require.Equal(t, chunk2dec, chunk2) require.Equal(t, chunk2dec, chunk2)
} }
func TestChunk2Write(t *testing.T) { func TestChunk2Marshal(t *testing.T) {
buf, err := chunk2dec.Write() buf, err := chunk2dec.Marshal()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, chunk2enc, buf) require.Equal(t, chunk2enc, buf)
} }

View File

@@ -30,8 +30,8 @@ func (c *Chunk3) Read(r io.Reader, chunkBodyLen uint32) error {
return err return err
} }
// Write writes the chunk. // Marshal writes the chunk.
func (c Chunk3) Write() ([]byte, error) { func (c Chunk3) Marshal() ([]byte, error) {
buf := make([]byte, 1+len(c.Body)) buf := make([]byte, 1+len(c.Body))
buf[0] = 3<<6 | c.ChunkStreamID buf[0] = 3<<6 | c.ChunkStreamID
copy(buf[1:], c.Body) copy(buf[1:], c.Body)

View File

@@ -23,8 +23,8 @@ func TestChunk3Read(t *testing.T) {
require.Equal(t, chunk3dec, chunk3) require.Equal(t, chunk3dec, chunk3)
} }
func TestChunk3Write(t *testing.T) { func TestChunk3Marshal(t *testing.T) {
buf, err := chunk3dec.Write() buf, err := chunk3dec.Marshal()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, chunk3enc, buf) require.Equal(t, chunk3enc, buf)
} }

View File

@@ -10,12 +10,8 @@ import (
"github.com/aler9/rtsp-simple-server/internal/rtmp/chunk" "github.com/aler9/rtsp-simple-server/internal/rtmp/chunk"
) )
type writableChunk interface {
Write() ([]byte, error)
}
type sequenceEntry struct { type sequenceEntry struct {
chunk writableChunk chunk chunk.Chunk
msg *Message msg *Message
} }
@@ -28,7 +24,7 @@ func TestReader(t *testing.T) {
}) })
for _, entry := range seq { for _, entry := range seq {
buf2, err := entry.chunk.Write() buf2, err := entry.chunk.Marshal()
require.NoError(t, err) require.NoError(t, err)
buf.Write(buf2) buf.Write(buf2)
msg, err := r.Read() msg, err := r.Read()
@@ -138,14 +134,14 @@ func TestReader(t *testing.T) {
MessageStreamID: 3123, MessageStreamID: 3123,
BodyLen: 192, BodyLen: 192,
Body: bytes.Repeat([]byte{0x03}, 128), Body: bytes.Repeat([]byte{0x03}, 128),
}.Write() }.Marshal()
require.NoError(t, err) require.NoError(t, err)
buf.Write(buf2) buf.Write(buf2)
buf2, err = chunk.Chunk3{ buf2, err = chunk.Chunk3{
ChunkStreamID: 27, ChunkStreamID: 27,
Body: bytes.Repeat([]byte{0x03}, 64), Body: bytes.Repeat([]byte{0x03}, 64),
}.Write() }.Marshal()
require.NoError(t, err) require.NoError(t, err)
buf.Write(buf2) buf.Write(buf2)
@@ -181,7 +177,7 @@ func TestReaderAcknowledge(t *testing.T) {
MessageStreamID: 3123, MessageStreamID: 3123,
BodyLen: 64, BodyLen: 64,
Body: bytes.Repeat([]byte{0x03}, 64), Body: bytes.Repeat([]byte{0x03}, 64),
}.Write() }.Marshal()
require.NoError(t, err) require.NoError(t, err)
buf.Write(buf2) buf.Write(buf2)
} }

View File

@@ -17,7 +17,7 @@ type writerChunkStream struct {
} }
func (wc *writerChunkStream) writeChunk(c chunk.Chunk) error { func (wc *writerChunkStream) writeChunk(c chunk.Chunk) error {
buf, err := c.Write() buf, err := c.Marshal()
if err != nil { if err != nil {
return err return err
} }