diff --git a/internal/hls/muxer_ts_segment.go b/internal/hls/muxer_ts_segment.go index 7b7b5b71..19dbebd9 100644 --- a/internal/hls/muxer_ts_segment.go +++ b/internal/hls/muxer_ts_segment.go @@ -119,7 +119,11 @@ func (t *muxerTSSegment) writeH264( if t.startPTS == nil { t.startPTS = &pts } - t.endPTS = pts // save endPTS in case next write fails + + if pts > t.endPTS { + t.endPTS = pts + } + return nil } @@ -168,6 +172,10 @@ func (t *muxerTSSegment) writeAAC( if t.startPTS == nil { t.startPTS = &pts } - t.endPTS = pts // save endPTS in case next write fails + + if pts > t.endPTS { + t.endPTS = pts + } + return nil }