diff --git a/pktreorder/pktreorder.go b/pktreorder/pktreorder.go index 60830a7..bc9f847 100644 --- a/pktreorder/pktreorder.go +++ b/pktreorder/pktreorder.go @@ -2,9 +2,12 @@ package pktreorder import ( "github.com/nareix/av" + "fmt" "io" ) +const debug = false + type stream struct { isVideo bool pkts []av.Packet @@ -36,8 +39,10 @@ func (self *Queue) chooseStream() (chosen int) { minpos = stream.pos chosen = i } + if debug { + fmt.Println("pktreorder: chooseStream", "flush", flush, "i", i, "pkts", len(stream.pkts)) + } } - return } @@ -72,6 +77,10 @@ func (self *Queue) ReadPacket() (i int, pkt av.Packet, err error) { } func (self *Queue) WritePacket(i int, pkt av.Packet) (err error) { + if debug { + fmt.Println("pktreorder: WritePacket", "i", i, "Duration", fmt.Sprintf("%.2f", pkt.Duration)) + } + stream := self.streams[i] stream.pkts = append(stream.pkts, pkt) self.pktnr++ @@ -89,6 +98,10 @@ func (self *Queue) CanReadPacket() bool { return true } +func (self *Queue) CanWritePacket() bool { + return self.err == nil +} + func (self *Queue) EndWritePacket(err error) { if err == nil { err = io.EOF @@ -96,3 +109,7 @@ func (self *Queue) EndWritePacket(err error) { self.err = err } +func (self *Queue) Error() error { + return self.err +} +