rtmp: add DTS field to video / audio messages

This commit is contained in:
aler9 2022-06-07 23:13:31 +02:00
parent d3797d3139
commit d0781e5e4a
2 changed files with 6 additions and 0 deletions

View file

@ -12,6 +12,7 @@ import (
// MsgAudio is an audio message.
type MsgAudio struct {
ChunkStreamID byte
DTS uint32
MessageStreamID uint32
Rate uint8
Depth uint8
@ -23,6 +24,7 @@ type MsgAudio struct {
// Unmarshal implements Message.
func (m *MsgAudio) Unmarshal(raw *rawmessage.Message) error {
m.ChunkStreamID = raw.ChunkStreamID
m.DTS = raw.Timestamp
m.MessageStreamID = raw.MessageStreamID
if len(raw.Body) < 2 {
@ -54,6 +56,7 @@ func (m MsgAudio) Marshal() (*rawmessage.Message, error) {
return &rawmessage.Message{
ChunkStreamID: m.ChunkStreamID,
Timestamp: m.DTS,
Type: chunk.MessageTypeAudio,
MessageStreamID: m.MessageStreamID,
Body: body,

View file

@ -12,6 +12,7 @@ import (
// MsgVideo is a video message.
type MsgVideo struct {
ChunkStreamID byte
DTS uint32
MessageStreamID uint32
IsKeyFrame bool
H264Type uint8
@ -22,6 +23,7 @@ type MsgVideo struct {
// Unmarshal implements Message.
func (m *MsgVideo) Unmarshal(raw *rawmessage.Message) error {
m.ChunkStreamID = raw.ChunkStreamID
m.DTS = raw.Timestamp
m.MessageStreamID = raw.MessageStreamID
if len(raw.Body) < 5 {
@ -60,6 +62,7 @@ func (m MsgVideo) Marshal() (*rawmessage.Message, error) {
return &rawmessage.Message{
ChunkStreamID: m.ChunkStreamID,
Timestamp: m.DTS,
Type: chunk.MessageTypeVideo,
MessageStreamID: m.MessageStreamID,
Body: body,