mirror of
https://github.com/bluenviron/mediamtx
synced 2025-02-16 03:26:58 +00:00
rtmp: support negative timestamps in MessageWriter
This commit is contained in:
parent
dcdb0cf13f
commit
180db31166
@ -20,8 +20,13 @@ func (wc *messageWriterChunkStream) write(msg *Message) error {
|
||||
|
||||
var timestampDelta *uint32
|
||||
if wc.lastTimestamp != nil {
|
||||
v := msg.Timestamp - *wc.lastTimestamp
|
||||
timestampDelta = &v
|
||||
diff := int64(msg.Timestamp) - int64(*wc.lastTimestamp)
|
||||
|
||||
// use delta only if it is positive
|
||||
if diff >= 0 {
|
||||
v := uint32(diff)
|
||||
timestampDelta = &v
|
||||
}
|
||||
}
|
||||
|
||||
for {
|
||||
@ -34,7 +39,7 @@ func (wc *messageWriterChunkStream) write(msg *Message) error {
|
||||
firstChunk = false
|
||||
|
||||
switch {
|
||||
case wc.lastMessageStreamID == nil || *wc.lastMessageStreamID != msg.MessageStreamID:
|
||||
case wc.lastMessageStreamID == nil || timestampDelta == nil || *wc.lastMessageStreamID != msg.MessageStreamID:
|
||||
err := Chunk0{
|
||||
ChunkStreamID: msg.ChunkStreamID,
|
||||
Timestamp: msg.Timestamp,
|
||||
|
Loading…
Reference in New Issue
Block a user