rtmp server: change value of MessageStreamID of outgoing messages

This commit is contained in:
aler9 2022-08-16 17:08:55 +02:00
parent 820ba067f2
commit e255d004e3
7 changed files with 36 additions and 26 deletions

View File

@ -410,8 +410,8 @@ func (c *rtmpConn) runRead(ctx context.Context, u *url.URL) error {
c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout)))
err = c.conn.WriteMessage(&message.MsgVideo{
ChunkStreamID: 6,
MessageStreamID: 1,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: idrPresent,
H264Type: flvio.AVC_NALU,
Payload: avcc,
@ -442,8 +442,8 @@ func (c *rtmpConn) runRead(ctx context.Context, u *url.URL) error {
for i, au := range aus {
c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout)))
err := c.conn.WriteMessage(&message.MsgAudio{
ChunkStreamID: 4,
MessageStreamID: 1,
ChunkStreamID: message.MsgAudioChunkStreamID,
MessageStreamID: 0x1000000,
Rate: flvio.SOUND_44Khz,
Depth: flvio.SOUND_16BIT,
Channels: flvio.SOUND_STEREO,

View File

@ -112,7 +112,7 @@ func TestRTMPServerPublishRead(t *testing.T) {
require.Equal(t, audioTrack, audioTrack2)
err = conn1.WriteMessage(&message.MsgVideo{
ChunkStreamID: 6,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_NALU,
@ -123,8 +123,8 @@ func TestRTMPServerPublishRead(t *testing.T) {
msg1, err := conn2.ReadMessage()
require.NoError(t, err)
require.Equal(t, &message.MsgVideo{
ChunkStreamID: 6,
MessageStreamID: 1,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_NALU,
Payload: []byte{

View File

@ -85,7 +85,7 @@ func TestRTMPSource(t *testing.T) {
<-connected
err = conn.WriteMessage(&message.MsgVideo{
ChunkStreamID: 6,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_NALU,

View File

@ -910,7 +910,7 @@ func (c *Conn) WriteTracks(videoTrack *gortsplib.TrackH264, audioTrack *gortspli
}.Marshal()
err = c.WriteMessage(&message.MsgVideo{
ChunkStreamID: 6,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_SEQHDR,
@ -928,7 +928,7 @@ func (c *Conn) WriteTracks(videoTrack *gortsplib.TrackH264, audioTrack *gortspli
}
err = c.WriteMessage(&message.MsgAudio{
ChunkStreamID: 4,
ChunkStreamID: message.MsgAudioChunkStreamID,
MessageStreamID: 0x1000000,
Rate: flvio.SOUND_44Khz,
Depth: flvio.SOUND_16BIT,

View File

@ -786,8 +786,8 @@ func TestReadTracks(t *testing.T) {
PPS: pps,
}.Marshal()
err = mrw.Write(&message.MsgVideo{
ChunkStreamID: 6,
MessageStreamID: 1,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_SEQHDR,
Payload: buf,
@ -802,8 +802,8 @@ func TestReadTracks(t *testing.T) {
}.Marshal()
require.NoError(t, err)
err = mrw.Write(&message.MsgAudio{
ChunkStreamID: 4,
MessageStreamID: 1,
ChunkStreamID: message.MsgAudioChunkStreamID,
MessageStreamID: 0x1000000,
Rate: flvio.SOUND_44Khz,
Depth: flvio.SOUND_16BIT,
Channels: flvio.SOUND_STEREO,
@ -848,8 +848,8 @@ func TestReadTracks(t *testing.T) {
PPS: pps,
}.Marshal()
err = mrw.Write(&message.MsgVideo{
ChunkStreamID: 6,
MessageStreamID: 1,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_SEQHDR,
Payload: buf,
@ -888,8 +888,8 @@ func TestReadTracks(t *testing.T) {
PPS: pps,
}.Marshal()
err = mrw.Write(&message.MsgVideo{
ChunkStreamID: 6,
MessageStreamID: 1,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_SEQHDR,
Payload: buf,
@ -904,8 +904,8 @@ func TestReadTracks(t *testing.T) {
}.Marshal()
require.NoError(t, err)
err = mrw.Write(&message.MsgAudio{
ChunkStreamID: 4,
MessageStreamID: 1,
ChunkStreamID: message.MsgAudioChunkStreamID,
MessageStreamID: 0x1000000,
Rate: flvio.SOUND_44Khz,
Depth: flvio.SOUND_16BIT,
Channels: flvio.SOUND_STEREO,
@ -921,8 +921,8 @@ func TestReadTracks(t *testing.T) {
PPS: pps,
}.Marshal()
err = mrw.Write(&message.MsgVideo{
ChunkStreamID: 6,
MessageStreamID: 1,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_SEQHDR,
Payload: buf,
@ -937,8 +937,8 @@ func TestReadTracks(t *testing.T) {
}.Marshal()
require.NoError(t, err)
err = mrw.Write(&message.MsgAudio{
ChunkStreamID: 4,
MessageStreamID: 1,
ChunkStreamID: message.MsgAudioChunkStreamID,
MessageStreamID: 0x1000000,
Rate: flvio.SOUND_44Khz,
Depth: flvio.SOUND_16BIT,
Channels: flvio.SOUND_STEREO,
@ -1238,7 +1238,7 @@ func TestWriteTracks(t *testing.T) {
msg, err = mrw.Read()
require.NoError(t, err)
require.Equal(t, &message.MsgVideo{
ChunkStreamID: 6,
ChunkStreamID: message.MsgVideoChunkStreamID,
MessageStreamID: 0x1000000,
IsKeyFrame: true,
H264Type: flvio.AVC_SEQHDR,
@ -1256,7 +1256,7 @@ func TestWriteTracks(t *testing.T) {
msg, err = mrw.Read()
require.NoError(t, err)
require.Equal(t, &message.MsgAudio{
ChunkStreamID: 4,
ChunkStreamID: message.MsgAudioChunkStreamID,
MessageStreamID: 0x1000000,
Rate: flvio.SOUND_44Khz,
Depth: flvio.SOUND_16BIT,

View File

@ -10,6 +10,11 @@ import (
"github.com/aler9/rtsp-simple-server/internal/rtmp/rawmessage"
)
const (
// this is the chunk stream ID that is usually used to send MsgAudio{}
MsgAudioChunkStreamID = 6
)
// MsgAudio is an audio message.
type MsgAudio struct {
ChunkStreamID byte

View File

@ -10,6 +10,11 @@ import (
"github.com/aler9/rtsp-simple-server/internal/rtmp/rawmessage"
)
const (
// this is the chunk stream ID that is usually used to send MsgVideo{}
MsgVideoChunkStreamID = 6
)
// MsgVideo is a video message.
type MsgVideo struct {
ChunkStreamID byte