mirror of
https://github.com/bluenviron/mediamtx
synced 2025-02-19 21:16:53 +00:00
rtmp server: change value of MessageStreamID of outgoing messages
This commit is contained in:
parent
820ba067f2
commit
e255d004e3
@ -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)))
|
c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout)))
|
||||||
err = c.conn.WriteMessage(&message.MsgVideo{
|
err = c.conn.WriteMessage(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: idrPresent,
|
IsKeyFrame: idrPresent,
|
||||||
H264Type: flvio.AVC_NALU,
|
H264Type: flvio.AVC_NALU,
|
||||||
Payload: avcc,
|
Payload: avcc,
|
||||||
@ -442,8 +442,8 @@ func (c *rtmpConn) runRead(ctx context.Context, u *url.URL) error {
|
|||||||
for i, au := range aus {
|
for i, au := range aus {
|
||||||
c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout)))
|
c.nconn.SetWriteDeadline(time.Now().Add(time.Duration(c.writeTimeout)))
|
||||||
err := c.conn.WriteMessage(&message.MsgAudio{
|
err := c.conn.WriteMessage(&message.MsgAudio{
|
||||||
ChunkStreamID: 4,
|
ChunkStreamID: message.MsgAudioChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
Rate: flvio.SOUND_44Khz,
|
Rate: flvio.SOUND_44Khz,
|
||||||
Depth: flvio.SOUND_16BIT,
|
Depth: flvio.SOUND_16BIT,
|
||||||
Channels: flvio.SOUND_STEREO,
|
Channels: flvio.SOUND_STEREO,
|
||||||
|
@ -112,7 +112,7 @@ func TestRTMPServerPublishRead(t *testing.T) {
|
|||||||
require.Equal(t, audioTrack, audioTrack2)
|
require.Equal(t, audioTrack, audioTrack2)
|
||||||
|
|
||||||
err = conn1.WriteMessage(&message.MsgVideo{
|
err = conn1.WriteMessage(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 0x1000000,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_NALU,
|
H264Type: flvio.AVC_NALU,
|
||||||
@ -123,8 +123,8 @@ func TestRTMPServerPublishRead(t *testing.T) {
|
|||||||
msg1, err := conn2.ReadMessage()
|
msg1, err := conn2.ReadMessage()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, &message.MsgVideo{
|
require.Equal(t, &message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_NALU,
|
H264Type: flvio.AVC_NALU,
|
||||||
Payload: []byte{
|
Payload: []byte{
|
||||||
|
@ -85,7 +85,7 @@ func TestRTMPSource(t *testing.T) {
|
|||||||
<-connected
|
<-connected
|
||||||
|
|
||||||
err = conn.WriteMessage(&message.MsgVideo{
|
err = conn.WriteMessage(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 0x1000000,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_NALU,
|
H264Type: flvio.AVC_NALU,
|
||||||
|
@ -910,7 +910,7 @@ func (c *Conn) WriteTracks(videoTrack *gortsplib.TrackH264, audioTrack *gortspli
|
|||||||
}.Marshal()
|
}.Marshal()
|
||||||
|
|
||||||
err = c.WriteMessage(&message.MsgVideo{
|
err = c.WriteMessage(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 0x1000000,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_SEQHDR,
|
H264Type: flvio.AVC_SEQHDR,
|
||||||
@ -928,7 +928,7 @@ func (c *Conn) WriteTracks(videoTrack *gortsplib.TrackH264, audioTrack *gortspli
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = c.WriteMessage(&message.MsgAudio{
|
err = c.WriteMessage(&message.MsgAudio{
|
||||||
ChunkStreamID: 4,
|
ChunkStreamID: message.MsgAudioChunkStreamID,
|
||||||
MessageStreamID: 0x1000000,
|
MessageStreamID: 0x1000000,
|
||||||
Rate: flvio.SOUND_44Khz,
|
Rate: flvio.SOUND_44Khz,
|
||||||
Depth: flvio.SOUND_16BIT,
|
Depth: flvio.SOUND_16BIT,
|
||||||
|
@ -786,8 +786,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
PPS: pps,
|
PPS: pps,
|
||||||
}.Marshal()
|
}.Marshal()
|
||||||
err = mrw.Write(&message.MsgVideo{
|
err = mrw.Write(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_SEQHDR,
|
H264Type: flvio.AVC_SEQHDR,
|
||||||
Payload: buf,
|
Payload: buf,
|
||||||
@ -802,8 +802,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
}.Marshal()
|
}.Marshal()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
err = mrw.Write(&message.MsgAudio{
|
err = mrw.Write(&message.MsgAudio{
|
||||||
ChunkStreamID: 4,
|
ChunkStreamID: message.MsgAudioChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
Rate: flvio.SOUND_44Khz,
|
Rate: flvio.SOUND_44Khz,
|
||||||
Depth: flvio.SOUND_16BIT,
|
Depth: flvio.SOUND_16BIT,
|
||||||
Channels: flvio.SOUND_STEREO,
|
Channels: flvio.SOUND_STEREO,
|
||||||
@ -848,8 +848,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
PPS: pps,
|
PPS: pps,
|
||||||
}.Marshal()
|
}.Marshal()
|
||||||
err = mrw.Write(&message.MsgVideo{
|
err = mrw.Write(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_SEQHDR,
|
H264Type: flvio.AVC_SEQHDR,
|
||||||
Payload: buf,
|
Payload: buf,
|
||||||
@ -888,8 +888,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
PPS: pps,
|
PPS: pps,
|
||||||
}.Marshal()
|
}.Marshal()
|
||||||
err = mrw.Write(&message.MsgVideo{
|
err = mrw.Write(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_SEQHDR,
|
H264Type: flvio.AVC_SEQHDR,
|
||||||
Payload: buf,
|
Payload: buf,
|
||||||
@ -904,8 +904,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
}.Marshal()
|
}.Marshal()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
err = mrw.Write(&message.MsgAudio{
|
err = mrw.Write(&message.MsgAudio{
|
||||||
ChunkStreamID: 4,
|
ChunkStreamID: message.MsgAudioChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
Rate: flvio.SOUND_44Khz,
|
Rate: flvio.SOUND_44Khz,
|
||||||
Depth: flvio.SOUND_16BIT,
|
Depth: flvio.SOUND_16BIT,
|
||||||
Channels: flvio.SOUND_STEREO,
|
Channels: flvio.SOUND_STEREO,
|
||||||
@ -921,8 +921,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
PPS: pps,
|
PPS: pps,
|
||||||
}.Marshal()
|
}.Marshal()
|
||||||
err = mrw.Write(&message.MsgVideo{
|
err = mrw.Write(&message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_SEQHDR,
|
H264Type: flvio.AVC_SEQHDR,
|
||||||
Payload: buf,
|
Payload: buf,
|
||||||
@ -937,8 +937,8 @@ func TestReadTracks(t *testing.T) {
|
|||||||
}.Marshal()
|
}.Marshal()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
err = mrw.Write(&message.MsgAudio{
|
err = mrw.Write(&message.MsgAudio{
|
||||||
ChunkStreamID: 4,
|
ChunkStreamID: message.MsgAudioChunkStreamID,
|
||||||
MessageStreamID: 1,
|
MessageStreamID: 0x1000000,
|
||||||
Rate: flvio.SOUND_44Khz,
|
Rate: flvio.SOUND_44Khz,
|
||||||
Depth: flvio.SOUND_16BIT,
|
Depth: flvio.SOUND_16BIT,
|
||||||
Channels: flvio.SOUND_STEREO,
|
Channels: flvio.SOUND_STEREO,
|
||||||
@ -1238,7 +1238,7 @@ func TestWriteTracks(t *testing.T) {
|
|||||||
msg, err = mrw.Read()
|
msg, err = mrw.Read()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, &message.MsgVideo{
|
require.Equal(t, &message.MsgVideo{
|
||||||
ChunkStreamID: 6,
|
ChunkStreamID: message.MsgVideoChunkStreamID,
|
||||||
MessageStreamID: 0x1000000,
|
MessageStreamID: 0x1000000,
|
||||||
IsKeyFrame: true,
|
IsKeyFrame: true,
|
||||||
H264Type: flvio.AVC_SEQHDR,
|
H264Type: flvio.AVC_SEQHDR,
|
||||||
@ -1256,7 +1256,7 @@ func TestWriteTracks(t *testing.T) {
|
|||||||
msg, err = mrw.Read()
|
msg, err = mrw.Read()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, &message.MsgAudio{
|
require.Equal(t, &message.MsgAudio{
|
||||||
ChunkStreamID: 4,
|
ChunkStreamID: message.MsgAudioChunkStreamID,
|
||||||
MessageStreamID: 0x1000000,
|
MessageStreamID: 0x1000000,
|
||||||
Rate: flvio.SOUND_44Khz,
|
Rate: flvio.SOUND_44Khz,
|
||||||
Depth: flvio.SOUND_16BIT,
|
Depth: flvio.SOUND_16BIT,
|
||||||
|
@ -10,6 +10,11 @@ import (
|
|||||||
"github.com/aler9/rtsp-simple-server/internal/rtmp/rawmessage"
|
"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.
|
// MsgAudio is an audio message.
|
||||||
type MsgAudio struct {
|
type MsgAudio struct {
|
||||||
ChunkStreamID byte
|
ChunkStreamID byte
|
||||||
|
@ -10,6 +10,11 @@ import (
|
|||||||
"github.com/aler9/rtsp-simple-server/internal/rtmp/rawmessage"
|
"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.
|
// MsgVideo is a video message.
|
||||||
type MsgVideo struct {
|
type MsgVideo struct {
|
||||||
ChunkStreamID byte
|
ChunkStreamID byte
|
||||||
|
Loading…
Reference in New Issue
Block a user