Add quque clean

This commit is contained in:
Lidashuang 2024-03-21 22:24:00 +08:00
parent c0fd928d5e
commit 633dd7fd58

View File

@ -106,6 +106,20 @@ func (self *Queue) WritePacket(pkt av.Packet) (err error) {
return return
} }
func (self *Queue) Clean() {
self.lock.Lock()
for self.buf.Count > 1 {
pkt := self.buf.Pop()
if pkt.Idx == int8(self.videoidx) && pkt.IsKeyFrame {
self.curgopcount--
}
if self.curgopcount < self.maxgopcount {
break
}
}
self.lock.Unlock()
}
type QueueCursor struct { type QueueCursor struct {
que *Queue que *Queue
pos pktque.BufPos pos pktque.BufPos