transcode: FindAudioDecoderEncoder add stream index param

This commit is contained in:
nareix 2016-07-12 10:36:45 +08:00
parent 46e601abda
commit 331bc9ff5f

View File

@ -18,21 +18,21 @@ type tStream struct {
} }
type Transcoder struct { type Transcoder struct {
FindAudioDecoderEncoder func(codec av.AudioCodecData) (ok bool, err error, dec av.AudioDecoder, enc av.AudioEncoder) FindAudioDecoderEncoder func(codec av.AudioCodecData, i int) (ok bool, err error, dec av.AudioDecoder, enc av.AudioEncoder)
streams []*tStream streams []*tStream
} }
func (self *Transcoder) Setup(streams []av.CodecData) (err error) { func (self *Transcoder) Setup(streams []av.CodecData) (err error) {
self.streams = []*tStream{} self.streams = []*tStream{}
for _, stream := range streams { for i, stream := range streams {
ts := &tStream{codec: stream} ts := &tStream{codec: stream}
if stream.Type().IsAudio() { if stream.Type().IsAudio() {
if self.FindAudioDecoderEncoder != nil { if self.FindAudioDecoderEncoder != nil {
var ok bool var ok bool
var enc av.AudioEncoder var enc av.AudioEncoder
var dec av.AudioDecoder var dec av.AudioDecoder
ok, err, dec, enc = self.FindAudioDecoderEncoder(stream.(av.AudioCodecData)) ok, err, dec, enc = self.FindAudioDecoderEncoder(stream.(av.AudioCodecData), i)
if ok { if ok {
if err != nil { if err != nil {
return return