diff --git a/muxer.go b/muxer.go index 058f422..a18f38e 100644 --- a/muxer.go +++ b/muxer.go @@ -26,7 +26,21 @@ type Muxer struct { mdatWriter *atom.Writer } +func (self *Muxer) IsCodecSupported(codec av.CodecData) bool { + switch codec.Type() { + case av.H264, av.AAC: + return true + default: + return false + } +} + func (self *Muxer) NewStream(codec av.CodecData) (err error) { + if !self.IsCodecSupported(codec) { + err = fmt.Errorf("codec type=%x is not supported", codec.Type()) + return + } + stream := &Stream{CodecData: codec} stream.sample = &atom.SampleTable{