bugfix WriteHeader streams duplicate bug; hide NewStream and

IsCodecSupported
This commit is contained in:
nareix 2016-06-15 07:46:04 +08:00
parent 6c6ccb5d8a
commit 67ac6de4ed

View File

@ -27,7 +27,7 @@ type Muxer struct {
tswPMT *TSWriter tswPMT *TSWriter
} }
func (self *Muxer) IsCodecSupported(codec av.CodecData) bool { func (self *Muxer) isCodecSupported(codec av.CodecData) bool {
switch codec.Type() { switch codec.Type() {
case av.H264, av.AAC: case av.H264, av.AAC:
return true return true
@ -36,8 +36,8 @@ func (self *Muxer) IsCodecSupported(codec av.CodecData) bool {
} }
} }
func (self *Muxer) NewStream(codec av.CodecData) (err error) { func (self *Muxer) newStream(codec av.CodecData) (err error) {
if !self.IsCodecSupported(codec) { if !self.isCodecSupported(codec) {
err = fmt.Errorf("codec type=%x is not supported", codec.Type()) err = fmt.Errorf("codec type=%x is not supported", codec.Type())
return return
} }
@ -80,8 +80,9 @@ func (self *Muxer) WriteTrailer() (err error) {
} }
func (self *Muxer) WriteHeader(streams []av.CodecData) (err error) { func (self *Muxer) WriteHeader(streams []av.CodecData) (err error) {
self.streams = []*Stream{}
for _, stream := range streams { for _, stream := range streams {
if err = self.NewStream(stream); err != nil { if err = self.newStream(stream); err != nil {
return return
} }
} }