From 6d02957c3861a3730f22d06fe089adee8a6ab17a Mon Sep 17 00:00:00 2001 From: Morlay Date: Fri, 14 Oct 2022 10:11:42 +0800 Subject: [PATCH] fix(format/mp4f): maxFrames should be setable to reduce delay time --- format/mp4f/muxer.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/format/mp4f/muxer.go b/format/mp4f/muxer.go index 4042c9b..a9d09f9 100644 --- a/format/mp4f/muxer.go +++ b/format/mp4f/muxer.go @@ -26,8 +26,9 @@ type Muxer struct { } func NewMuxer(w *os.File) *Muxer { - return &Muxer{} + return &Muxer{maxFrames: 5} } + func (self *Muxer) SetPath(path string) { self.path = path } @@ -291,7 +292,7 @@ func (element *Muxer) WritePacket(pkt av.Packet, GOP bool) (bool, []byte, error) if stream.lastpkt != nil { ts = pkt.Time - stream.lastpkt.Time } - got, buf, err := stream.writePacketV3(pkt, ts, 5) + got, buf, err := stream.writePacketV3(pkt, ts, element.maxFrames) stream.lastpkt = &pkt if err != nil { return false, []byte{}, err @@ -302,7 +303,7 @@ func (element *Muxer) WritePacket(pkt av.Packet, GOP bool) (bool, []byte, error) if stream.lastpkt != nil { ts = pkt.Time - stream.lastpkt.Time } - got, buf, err := stream.writePacketV2(pkt, ts, 5) + got, buf, err := stream.writePacketV2(pkt, ts, element.maxFrames) stream.lastpkt = &pkt if err != nil { return false, []byte{}, err