diff --git a/cgo/ffmpeg/audio.go b/cgo/ffmpeg/audio.go index 296431a..57ea0a0 100644 --- a/cgo/ffmpeg/audio.go +++ b/cgo/ffmpeg/audio.go @@ -587,7 +587,7 @@ func (self *AudioDecoder) Decode(pkt []byte) (gotframe bool, frame av.AudioFrame if ff.codecCtx == nil || &pkt[0] == nil { err = fmt.Errorf("ffmpeg: Decode ff.codecCtx NULL or pkg NULL") - return + return } cerr := C.decode(ff.codecCtx, ff.frame, (*C.uchar)(unsafe.Pointer(&pkt[0])), C.int(len(pkt)), &cgotframe) @@ -620,6 +620,12 @@ func NewAudioEncoderByCodecType(typ av.CodecType) (enc *AudioEncoder, err error) switch typ { case av.AAC: id = C.AV_CODEC_ID_AAC + case av.PCM_ALAW: + id = C.AV_CODEC_ID_PCM_ALAW + case av.PCM_MULAW: + id = C.AV_CODEC_ID_PCM_MULAW + case av.G729: + id = C.AV_CODEC_ID_G729 default: err = fmt.Errorf("ffmpeg: cannot find encoder codecType=%d", typ)