This commit is contained in:
deepch
2024-01-29 12:46:06 +03:00
parent a743575ac9
commit 7a563b07e3
3 changed files with 26 additions and 17 deletions

View File

@@ -14,10 +14,11 @@ import (
)
type Muxer struct {
w io.WriteSeeker
bufw *bufio.Writer
wpos int64
streams []*Stream
w io.WriteSeeker
bufw *bufio.Writer
wpos int64
streams []*Stream
NegativeTsMakeZero bool
}
func NewMuxer(w io.WriteSeeker) *Muxer {
@@ -181,8 +182,12 @@ func (self *Muxer) WritePacket(pkt av.Packet) (err error) {
func (self *Stream) writePacket(pkt av.Packet, rawdur time.Duration) (err error) {
if rawdur < 0 {
err = fmt.Errorf("mp4: stream#%d time=%v < lasttime=%v", pkt.Idx, pkt.Time, self.lastpkt.Time)
return
if self.muxer.NegativeTsMakeZero {
rawdur = 0
} else {
err = fmt.Errorf("mp4: stream#%d time=%v < lasttime=%v", pkt.Idx, pkt.Time, self.lastpkt.Time)
return
}
}
if _, err = self.muxer.bufw.Write(pkt.Data); err != nil {