mirror of
https://github.com/bluenviron/mediamtx.git
synced 2025-12-20 02:00:05 -08:00
Some checks are pending
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
Stream units now share the same struct, with a specialized payload.
70 lines
1.5 KiB
Go
70 lines
1.5 KiB
Go
package codecprocessor
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/bluenviron/gortsplib/v5/pkg/format"
|
|
"github.com/bluenviron/mediamtx/internal/unit"
|
|
"github.com/pion/rtp"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestG711ProcessUnit(t *testing.T) {
|
|
t.Run("alaw", func(t *testing.T) {
|
|
forma := &format.G711{
|
|
PayloadTyp: 8,
|
|
MULaw: false,
|
|
SampleRate: 8000,
|
|
ChannelCount: 1,
|
|
}
|
|
|
|
p, err := New(1450, forma, true, nil)
|
|
require.NoError(t, err)
|
|
|
|
unit := &unit.Unit{
|
|
Payload: unit.PayloadG711{1, 2, 3, 4},
|
|
}
|
|
|
|
err = p.ProcessUnit(unit)
|
|
require.NoError(t, err)
|
|
require.Equal(t, []*rtp.Packet{{
|
|
Header: rtp.Header{
|
|
Version: 2,
|
|
PayloadType: 8,
|
|
SequenceNumber: unit.RTPPackets[0].SequenceNumber,
|
|
Timestamp: unit.RTPPackets[0].Timestamp,
|
|
SSRC: unit.RTPPackets[0].SSRC,
|
|
},
|
|
Payload: []byte{1, 2, 3, 4},
|
|
}}, unit.RTPPackets)
|
|
})
|
|
|
|
t.Run("mulaw", func(t *testing.T) {
|
|
forma := &format.G711{
|
|
PayloadTyp: 0,
|
|
MULaw: true,
|
|
SampleRate: 8000,
|
|
ChannelCount: 1,
|
|
}
|
|
|
|
p, err := New(1450, forma, true, nil)
|
|
require.NoError(t, err)
|
|
|
|
unit := &unit.Unit{
|
|
Payload: unit.PayloadG711{1, 2, 3, 4},
|
|
}
|
|
|
|
err = p.ProcessUnit(unit)
|
|
require.NoError(t, err)
|
|
require.Equal(t, []*rtp.Packet{{
|
|
Header: rtp.Header{
|
|
Version: 2,
|
|
PayloadType: 0,
|
|
SequenceNumber: unit.RTPPackets[0].SequenceNumber,
|
|
Timestamp: unit.RTPPackets[0].Timestamp,
|
|
SSRC: unit.RTPPackets[0].SSRC,
|
|
},
|
|
Payload: []byte{1, 2, 3, 4},
|
|
}}, unit.RTPPackets)
|
|
})
|
|
}
|