(CodecData []av.CodecData, OutgoingPacketQueue chan *av.Packet)
| 18 | } |
| 19 | |
| 20 | func (obj *FakeAAC) Start(CodecData []av.CodecData, OutgoingPacketQueue chan *av.Packet) ([]av.CodecData, error) { |
| 21 | go func() { |
| 22 | ticker := time.NewTicker(128 * time.Millisecond) |
| 23 | for { |
| 24 | select { |
| 25 | case <-obj.closer: |
| 26 | return |
| 27 | case <-ticker.C: |
| 28 | OutgoingPacketQueue <- &av.Packet{Duration: 128 * time.Millisecond, Idx: 1, CompositionTime: 1 * time.Millisecond, Data: []byte{1, 2, 52, 24, 67, 243, 0, 69, 107, 122, 169, 68, 50, 47, 46, 147, 26, 82, 161, 42, 80, 119, 97, 77, 199, 109, 20, 8, 26, 99, 53, 19, 85, 4, 186, 150, 69, 121, 208, 72, 42, 74, 224, 144, 172, 132, 146, 70, 246, 74, 13, 98, 76, 226, 5, 214, 169, 73, 18, 154, 33, 43, 11, 196, 2, 132, 43, 2, 240, 10, 14, 162, 64, 149, 243, 217, 96, 225, 85, 233, 90, 11, 19, 41, 67, 32, 5, 45, 5, 74, 72, 138, 215, 107, 33, 96, 49, 66, 85, 152, 150, 222, 87, 151, 89, 46, 80, 1, 172, 66, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 7}} |
| 29 | |
| 30 | } |
| 31 | } |
| 32 | }() |
| 33 | audioCodec, err := aacparser.NewCodecDataFromMPEG4AudioConfig(aacparser.MPEG4AudioConfig{SampleRate: 8000, SampleRateIndex: 11, ObjectType: 2, ChannelLayout: 1, ChannelConfig: 1}) |
| 34 | if err != nil { |
| 35 | return nil, err |
| 36 | } |
| 37 | return append(CodecData, audioCodec), nil |
| 38 | } |
| 39 | |
| 40 | func (obj *FakeAAC) Close() { |
| 41 | obj.closer <- true |