flv: add NELLYMOSER support
This commit is contained in:
parent
4b181e84e0
commit
79f3f92350
@ -27,7 +27,7 @@ func NewMuxer(w io.Writer) *Muxer {
|
||||
}
|
||||
|
||||
func (self *Muxer) SupportedCodecTypes() []av.CodecType {
|
||||
return []av.CodecType{av.H264, av.AAC}
|
||||
return []av.CodecType{av.H264, av.AAC, av.NELLYMOSER}
|
||||
}
|
||||
|
||||
func (self *Muxer) WriteHeader(streams []av.CodecData) (err error) {
|
||||
@ -57,6 +57,8 @@ func (self *Muxer) WriteHeader(streams []av.CodecData) (err error) {
|
||||
}
|
||||
_tag = tag
|
||||
|
||||
case av.NELLYMOSER:
|
||||
|
||||
case av.AAC:
|
||||
aac := stream.(aacparser.CodecData)
|
||||
tag := flvio.MakeAACAudiodata(aac, aac.MPEG4AudioConfigBytes())
|
||||
@ -99,6 +101,13 @@ func (self *Muxer) WritePacket(pkt av.Packet) (err error) {
|
||||
case av.AAC:
|
||||
tag := flvio.MakeAACAudiodata(stream.(av.AudioCodecData), pkt.Data)
|
||||
_tag = &tag
|
||||
|
||||
case av.NELLYMOSER:
|
||||
tag := &flvio.Audiodata{
|
||||
SoundFormat: flvio.SOUND_NELLYMOSER,
|
||||
Data: pkt.Data,
|
||||
}
|
||||
_tag = tag
|
||||
}
|
||||
|
||||
if err = flvio.WriteTag(self.pw, _tag, timeToTs(pkt.Time)); err != nil {
|
||||
|
@ -173,17 +173,20 @@ func (self Audiodata) Marshal(w *pio.Writer) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
if self.SoundFormat == SOUND_AAC {
|
||||
switch self.SoundFormat {
|
||||
case SOUND_AAC:
|
||||
if err = w.WriteU8(self.AACPacketType); err != nil {
|
||||
return
|
||||
}
|
||||
if _, err = w.Write(self.Data); err != nil {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("flvio: Audiodata.Marshal: unsupported SoundFormat=%d", self.SoundFormat)
|
||||
|
||||
default:
|
||||
if _, err = w.Write(self.Data); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user