handlerMuxer: add stage control
This commit is contained in:
parent
975080658c
commit
ff7d24c845
@ -23,17 +23,26 @@ func (self *handlerDemuxer) Close() error {
|
||||
type handlerMuxer struct {
|
||||
av.Muxer
|
||||
w io.WriteCloser
|
||||
trailerwritten bool
|
||||
stage int
|
||||
}
|
||||
|
||||
func (self *handlerMuxer) WriteHeader(streams []av.CodecData) (err error) {
|
||||
if self.stage == 0 {
|
||||
if err = self.Muxer.WriteHeader(streams); err != nil {
|
||||
return
|
||||
}
|
||||
self.stage++
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (self *handlerMuxer) WriteTrailer() (err error) {
|
||||
if self.trailerwritten {
|
||||
return
|
||||
}
|
||||
if self.stage == 1 {
|
||||
if err = self.Muxer.WriteTrailer(); err != nil {
|
||||
return
|
||||
}
|
||||
self.trailerwritten = true
|
||||
self.stage++
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user