Documentation
¶
Index ¶
- Variables
- func GetExternalIP(stunServers []string) (string, error)
- func GetLocalIPAddress() (string, error)
- type AudioConfig
- type CodecSpec
- type Config
- type LimitConfig
- type NodeSelectorConfig
- type PLIThrottleConfig
- type RTCConfig
- type RedisConfig
- type RegionConfig
- type RoomConfig
- type TURNConfig
- type WebHookConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultStunServers = []string{
"stun.l.google.com:19302",
"stun1.l.google.com:19302",
}
Functions ¶
func GetExternalIP ¶ added in v0.10.5
func GetLocalIPAddress ¶ added in v0.10.5
Types ¶
type AudioConfig ¶
type AudioConfig struct {
// minimum level to be considered active, 0-127, where 0 is loudest
ActiveLevel uint8 `yaml:"active_level"`
// percentile to measure, a participant is considered active if it has exceeded the ActiveLevel more than
// MinPercentile% of the time
MinPercentile uint8 `yaml:"min_percentile"`
// interval to update clients, in ms
UpdateInterval uint32 `yaml:"update_interval"`
// smoothing for audioLevel values sent to the client.
// audioLevel will be an average of `smooth_intervals`, 0 to disable
SmoothIntervals uint32 `yaml:"smooth_intervals"`
}
type Config ¶
type Config struct {
Port uint32 `yaml:"port"`
PrometheusPort uint32 `yaml:"prometheus_port"`
RTC RTCConfig `yaml:"rtc"`
Redis RedisConfig `yaml:"redis"`
Audio AudioConfig `yaml:"audio"`
Room RoomConfig `yaml:"room"`
TURN TURNConfig `yaml:"turn"`
WebHook WebHookConfig `yaml:"webhook"`
NodeSelector NodeSelectorConfig `yaml:"node_selector"`
KeyFile string `yaml:"key_file"`
Keys map[string]string `yaml:"keys"`
Region string `yaml:"region"`
LogLevel string `yaml:"log_level"`
Limit LimitConfig `yaml:"limit"`
Development bool `yaml:"development"`
}
type LimitConfig ¶ added in v0.15.0
type NodeSelectorConfig ¶ added in v0.12.3
type NodeSelectorConfig struct {
Kind string `yaml:"kind"`
SysloadLimit float32 `yaml:"sysload_limit"`
Regions []RegionConfig `yaml:"regions"`
}
type PLIThrottleConfig ¶ added in v0.9.14
type RTCConfig ¶
type RTCConfig struct {
UDPPort uint32 `yaml:"udp_port"`
TCPPort uint32 `yaml:"tcp_port"`
ICEPortRangeStart uint32 `yaml:"port_range_start"`
ICEPortRangeEnd uint32 `yaml:"port_range_end"`
NodeIP string `yaml:"node_ip"`
// for testing, disable UDP
ForceTCP bool `yaml:"force_tcp"`
StunServers []string `yaml:"stun_servers"`
UseExternalIP bool `yaml:"use_external_ip"`
// Number of packets to buffer for NACK
PacketBufferSize int `yaml:"packet_buffer_size"`
// Max bitrate for REMB
MaxBitrate uint64 `yaml:"max_bitrate"`
// Throttle periods for pli/fir rtcp packets
PLIThrottle PLIThrottleConfig `yaml:"pli_throttle"`
}
type RedisConfig ¶
type RegionConfig ¶ added in v0.13.5
type RegionConfig struct {
Name string `yaml:"name"`
Lat float64 `yaml:"lat"`
Lon float64 `yaml:"lon"`
}
RegionConfig lists available regions and their latitude/longitude, so the selector would prefer regions that are closer
type RoomConfig ¶ added in v0.10.1
type TURNConfig ¶
type WebHookConfig ¶ added in v0.12.1
Click to show internal directories.
Click to hide internal directories.