From 1f0d31fcfbcaae0bd06ba31a449ec3e4aba58cf4 Mon Sep 17 00:00:00 2001 From: deepch Date: Mon, 14 Mar 2022 01:03:29 +0300 Subject: [PATCH] test fast push --- format/mp4f/muxer.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/format/mp4f/muxer.go b/format/mp4f/muxer.go index 1e0630b..fb9a914 100644 --- a/format/mp4f/muxer.go +++ b/format/mp4f/muxer.go @@ -308,6 +308,27 @@ func (element *Muxer) WritePacket(pkt av.Packet, GOP bool) (bool, []byte, error) } return got, buf, err } + +func (element *Muxer) WritePacketPrepush(pkt av.Packet, dur time.Duration, GOP bool) (bool, []byte, error) { + stream := element.streams[pkt.Idx] + if GOP { + + got, buf, err := stream.writePacketV3(pkt, dur, 0) + stream.lastpkt = &pkt + if err != nil { + return false, []byte{}, err + } + return got, buf, err + } + + got, buf, err := stream.writePacketV2(pkt, dur, 0) + stream.lastpkt = &pkt + if err != nil { + return false, []byte{}, err + } + return got, buf, err +} + func (element *Muxer) WritePacket4(pkt av.Packet) error { stream := element.streams[pkt.Idx] return stream.writePacketV4(pkt)