Documentation ¶
Index ¶
- Constants
- type Addr
- type AudioCodecConfiguration
- type AudioCodecParameters
- type AudioParameters
- type AudioStreamConfiguration
- type Configuration
- type CryptoSuite
- type CryptoSuiteType
- type RTPParams
- type SessionControlCommand
- type SetupEndpoints
- type SetupEndpointsResponse
- type StreamConfiguration
- type StreamingStatus
- type SupportedCryptoSuite
- type VideoCodecAttributes
- type VideoCodecConfiguration
- type VideoCodecLevel
- type VideoCodecPacketization
- type VideoCodecParameters
- type VideoCodecProfile
- type VideoParameters
- type VideoStreamConfiguration
Constants ¶
View Source
const ( AudioCodecType_PCMU byte = 0 AudioCodecType_PCMA = 1 AudioCodecType_AAC_ELD = 2 AudioCodecType_Opus = 3 AudioCodecType_MSBC = 4 AudioCodecType_AMR = 5 AudioCodecType_ARM_WB = 6 AudioCodecBitrateVariable byte = 0 AudioCodecBitrateConstant byte = 1 AudioCodecSampleRate8Khz byte = 0 AudioCodecSampleRate16Khz byte = 1 AudioCodecSampleRate24Khz byte = 2 )
View Source
const ( CryptoSuite_AES_CM_128_HMAC_SHA1_80 byte = 0 CryptoSuite_AES_256_CM_HMAC_SHA1_80 = 1 CryptoSuiteNone = 2 )
View Source
const ( SessionStatusSuccess byte = 0 SessionStatusBusy byte = 1 SessionStatusError byte = 2 )
View Source
const ( IPAddrVersionv4 byte = 0 IPAddrVersionv6 byte = 1 )
View Source
const ( SessionControlCommandTypeEnd byte = 0 SessionControlCommandTypeStart = 1 SessionControlCommandTypeSuspend = 2 SessionControlCommandTypeResume = 3 SessionControlCommandTypeReconfigure = 4 )
View Source
const ( StreamingStatusAvailable byte = 0 StreamingStatusBusy byte = 1 )
View Source
const ( VideoCodecType_H264 byte = 0 VideoCodecProfileConstrainedBaseline byte = 0 VideoCodecProfileMain = 1 VideoCodecProfileHigh = 2 VideoCodecLevel3_1 byte = 0 VideoCodecLevel3_2 byte = 1 VideoCodecLevel4 byte = 2 VideoCodecPacketizationModeNonInterleaved byte = 0 VideoCodecCvoNotSuppported byte = 0 VideoCodecCvoSuppported = 1 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AudioCodecConfiguration ¶
type AudioCodecConfiguration struct { Type byte `tlv8:"1"` // docu says 2 bytes? Parameters AudioCodecParameters `tlv8:"2"` }
func NewAacEldAudioCodecConfiguration ¶
func NewAacEldAudioCodecConfiguration() AudioCodecConfiguration
func NewOpusAudioCodecConfiguration ¶
func NewOpusAudioCodecConfiguration() AudioCodecConfiguration
type AudioCodecParameters ¶
type AudioParameters ¶
type AudioParameters struct { CodecType byte `tlv8:"1"` CodecParams AudioCodecParameters `tlv8:"2"` RTP RTPParams `tlv8:"3"` ComfortNoise bool `tlv8:"4"` }
type AudioStreamConfiguration ¶
type AudioStreamConfiguration struct { Codecs []AudioCodecConfiguration `tlv8:"1"` ComfortNoise bool `tlv8:"2"` }
func DefaultAudioStreamConfiguration ¶
func DefaultAudioStreamConfiguration() AudioStreamConfiguration
type Configuration ¶
type Configuration struct {
Suites []SupportedCryptoSuite `tlv8:"-"`
}
func NewConfiguration ¶
func NewConfiguration(suite byte) Configuration
type CryptoSuite ¶
type CryptoSuite struct { Types []CryptoSuiteType `tlv8:"-"` MasterKey []byte `tlv8:"2"` // 16 (AES_CM_128) or 32 (AES_256_CM) MasterSalt []byte `tlv8:"3"` // 14 byte }
func (*CryptoSuite) SrtpKey ¶
func (c *CryptoSuite) SrtpKey() string
type CryptoSuiteType ¶
type CryptoSuiteType struct {
Type byte `tlv8:"1"`
}
type SessionControlCommand ¶
type SetupEndpoints ¶
type SetupEndpoints struct { SessionId []byte `tlv8:"1"` ControllerAddr Addr `tlv8:"3"` Video CryptoSuite `tlv8:"4"` Audio CryptoSuite `tlv8:"5"` }
func (*SetupEndpoints) String ¶
func (s *SetupEndpoints) String() string
type SetupEndpointsResponse ¶
type SetupEndpointsResponse struct { SessionId []byte `tlv8:"1"` Status byte `tlv8:"2"` AccessoryAddr Addr `tlv8:"3"` // AccessoryAddr.IPVersion must be the same as in SetupEndpoints.ControllerAddr.IPVersion Video CryptoSuite `tlv8:"4"` Audio CryptoSuite `tlv8:"5"` SsrcVideo int32 `tlv8:"6"` SsrcAudio int32 `tlv8:"7"` }
type StreamConfiguration ¶
type StreamConfiguration struct { Command SessionControlCommand `tlv8:"1"` Video VideoParameters `tlv8:"2"` Audio AudioParameters `tlv8:"3"` }
type StreamingStatus ¶
type StreamingStatus struct {
Status byte `tlv8:"1"`
}
type SupportedCryptoSuite ¶
type SupportedCryptoSuite struct {
Type byte `tlv8:"2"`
}
type VideoCodecAttributes ¶
type VideoCodecConfiguration ¶
type VideoCodecConfiguration struct { Type byte `tlv8:"1"` Parameters VideoCodecParameters `tlv8:"2"` Attributes []VideoCodecAttributes `tlv8:"3"` }
func NewH264VideoCodecConfiguration ¶
func NewH264VideoCodecConfiguration() VideoCodecConfiguration
type VideoCodecLevel ¶
type VideoCodecLevel struct {
Level byte `tlv8:"2"`
}
type VideoCodecPacketization ¶
type VideoCodecPacketization struct {
Mode byte `tlv8:"3"`
}
type VideoCodecParameters ¶
type VideoCodecParameters struct { Profiles []VideoCodecProfile `tlv8:"-"` Levels []VideoCodecLevel `tlv8:"-"` Packetizations []VideoCodecPacketization `tlv8:"-"` }
type VideoCodecProfile ¶
type VideoCodecProfile struct {
Id byte `tlv8:"1"`
}
type VideoParameters ¶
type VideoParameters struct { CodecType byte `tlv8:"1"` CodecParams VideoCodecParameters `tlv8:"2"` Attributes VideoCodecAttributes `tlv8:"3"` RTP RTPParams `tlv8:"4"` }
type VideoStreamConfiguration ¶
type VideoStreamConfiguration struct {
Codecs []VideoCodecConfiguration `tlv8:"1"`
}
func DefaultVideoStreamConfiguration ¶
func DefaultVideoStreamConfiguration() VideoStreamConfiguration
Click to show internal directories.
Click to hide internal directories.