Supplementary AAC

pull/181/head
zang191993@163.com 3 years ago
parent fbc3387255
commit 01a079accf

@ -31,9 +31,19 @@ import (
const (
AdtsHeaderLength = 7
AscSamplingFrequencyIndex96000 = 0
AscSamplingFrequencyIndex88200 = 1
AscSamplingFrequencyIndex64000 = 2
AscSamplingFrequencyIndex48000 = 3
AscSamplingFrequencyIndex44100 = 4
AscSamplingFrequencyIndex32000 = 5
AscSamplingFrequencyIndex24000 = 6
AscSamplingFrequencyIndex22050 = 7
AscSamplingFrequencyIndex16000 = 8
AscSamplingFrequencyIndex12000 = 9
AscSamplingFrequencyIndex11025 = 10
AscSamplingFrequencyIndex8000 = 11
AscSamplingFrequencyIndex7350 = 12
)
const (
@ -49,7 +59,7 @@ const (
// <1.6.3.4 channelConfiguration>
// --------------------------------------------------------
// audio object type [5b] 1=AAC MAIN 2=AAC LC
// samplingFrequencyIndex [4b] 3=48000, 4=44100, 5=32000, 6=24000, 7=22050, 11=11025
// samplingFrequencyIndex [4b] 0=96000, 1=88200, 2=64000, 3=48000, 4=44100, 5=32000, 6=24000, 7=22050, 8=16000, 9=12000, 10=11025, 11=11025, 12=7350
// channelConfiguration [4b] 1=center front speaker 2=left, right front speakers
//
type AscContext struct {
@ -170,12 +180,30 @@ func (ascCtx *AscContext) PackToAdtsHeader(out []byte, frameLength int) error {
func (ascCtx *AscContext) GetSamplingFrequency() (int, error) {
switch ascCtx.SamplingFrequencyIndex {
case AscSamplingFrequencyIndex96000:
return 96000, nil
case AscSamplingFrequencyIndex88200:
return 88200, nil
case AscSamplingFrequencyIndex64000:
return 64000, nil
case AscSamplingFrequencyIndex48000:
return 48000, nil
case AscSamplingFrequencyIndex44100:
return 44100, nil
case AscSamplingFrequencyIndex32000:
return 32000, nil
case AscSamplingFrequencyIndex22050:
return 22050, nil
case AscSamplingFrequencyIndex16000:
return 16000, nil
case AscSamplingFrequencyIndex12000:
return 12000, nil
case AscSamplingFrequencyIndex11025:
return 11025, nil
case AscSamplingFrequencyIndex8000:
return 8000, nil
case AscSamplingFrequencyIndex7350:
return 7350, nil
}
return -1, fmt.Errorf("%w. asCtx=%+v", base.ErrSamplingFrequencyIndex, ascCtx)
}

Loading…
Cancel
Save