mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2025-10-05 08:16:55 +08:00
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package camera
|
|
|
|
const TypeSupportedAudioStreamConfiguration = "115"
|
|
|
|
type SupportedAudioStreamConfig struct {
|
|
Codecs []AudioCodec `tlv8:"1"`
|
|
ComfortNoise byte `tlv8:"2"`
|
|
}
|
|
|
|
//goland:noinspection ALL
|
|
const (
|
|
AudioCodecTypePCMU = 0
|
|
AudioCodecTypePCMA = 1
|
|
AudioCodecTypeAACELD = 2
|
|
AudioCodecTypeOpus = 3
|
|
AudioCodecTypeMSBC = 4
|
|
AudioCodecTypeAMR = 5
|
|
AudioCodecTypeARMWB = 6
|
|
|
|
AudioCodecBitrateVariable = 0
|
|
AudioCodecBitrateConstant = 1
|
|
|
|
AudioCodecSampleRate8Khz = 0
|
|
AudioCodecSampleRate16Khz = 1
|
|
AudioCodecSampleRate24Khz = 2
|
|
|
|
RTPTimeAACELD8 = 60 // 8000/1000*60=480
|
|
RTPTimeAACELD16 = 30 // 16000/1000*30=480
|
|
RTPTimeAACELD24 = 20 // 24000/1000*20=480
|
|
RTPTimeAACLD16 = 60 // 16000/1000*60=960
|
|
RTPTimeAACLD24 = 40 // 24000/1000*40=960
|
|
)
|
|
|
|
type AudioCodec struct {
|
|
CodecType byte `tlv8:"1"`
|
|
CodecParams []AudioParams `tlv8:"2"`
|
|
RTPParams []RTPParams `tlv8:"3"`
|
|
ComfortNoise []byte `tlv8:"4"`
|
|
}
|
|
|
|
type AudioParams struct {
|
|
Channels uint8 `tlv8:"1"`
|
|
Bitrate byte `tlv8:"2"` // 0 - variable, 1 - constant
|
|
SampleRate []byte `tlv8:"3"` // 0 - 8000, 1 - 16000, 2 - 24000
|
|
RTPTime []uint8 `tlv8:"4"` // 20, 30, 40, 60
|
|
}
|