diff --git a/go.mod b/go.mod index 92a6a321a..970675c27 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.2 github.com/jxskiss/base62 v1.1.0 github.com/livekit/mageutil v0.0.0-20230125210925-54e8a70427c1 - github.com/livekit/mediatransportutil v0.0.0-20230511025422-058ebf6b48c9 + github.com/livekit/mediatransportutil v0.0.0-20230517210015-117bec6a19a8 github.com/livekit/protocol v1.5.7-0.20230513090813-c5dc103838fd github.com/livekit/psrpc v0.3.1-0.20230502152150-df9dd21fba11 github.com/mackerelio/go-osstat v0.2.4 diff --git a/go.sum b/go.sum index 1dd29b473..10e4d5b01 100644 --- a/go.sum +++ b/go.sum @@ -119,8 +119,8 @@ github.com/lithammer/shortuuid/v4 v4.0.0 h1:QRbbVkfgNippHOS8PXDkti4NaWeyYfcBTHtw github.com/lithammer/shortuuid/v4 v4.0.0/go.mod h1:Zs8puNcrvf2rV9rTH51ZLLcj7ZXqQI3lv67aw4KiB1Y= github.com/livekit/mageutil v0.0.0-20230125210925-54e8a70427c1 h1:jm09419p0lqTkDaKb5iXdynYrzB84ErPPO4LbRASk58= github.com/livekit/mageutil v0.0.0-20230125210925-54e8a70427c1/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ= -github.com/livekit/mediatransportutil v0.0.0-20230511025422-058ebf6b48c9 h1:aqivx5Tal2Fa6z1ZQrrBk/vYShosQx3ecl1aMwcQRV0= -github.com/livekit/mediatransportutil v0.0.0-20230511025422-058ebf6b48c9/go.mod h1:MRc0zSOSzXuFt0X218SgabzlaKevkvCckPgBEoHYc34= +github.com/livekit/mediatransportutil v0.0.0-20230517210015-117bec6a19a8 h1:YgBDljjYPJc57sSwaoyUgiviThQDyS7SyWsXJSRsZH8= +github.com/livekit/mediatransportutil v0.0.0-20230517210015-117bec6a19a8/go.mod h1:MRc0zSOSzXuFt0X218SgabzlaKevkvCckPgBEoHYc34= github.com/livekit/protocol v1.5.7-0.20230513090813-c5dc103838fd h1:wK+Vp0Oa0oggHYKBymHRJFeDWFzrcMjmyuOw4TLzT7c= github.com/livekit/protocol v1.5.7-0.20230513090813-c5dc103838fd/go.mod h1:vjGsR1YxXnN5BLS0yr/YjGnJOPrS0ymddCF3JwxSHGM= github.com/livekit/psrpc v0.3.1-0.20230502152150-df9dd21fba11 h1:VS23iVQu/TNiLEM5XjbBSY28+B6nSewjKWPDbieg0Ho= diff --git a/pkg/config/config.go b/pkg/config/config.go index 876e74773..86138a0d9 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -69,6 +69,8 @@ type Config struct { type RTCConfig struct { rtcconfig.RTCConfig `yaml:",inline"` + TURNServers []TURNServer `yaml:"turn_servers,omitempty"` + StrictACKs bool `yaml:"strict_acks,omitempty"` // Number of packets to buffer for NACK @@ -92,6 +94,14 @@ type RTCConfig struct { AllowTimestampAdjustment *bool `yaml:"allow_timestamp_adjustment,omitempty"` } +type TURNServer struct { + Host string `yaml:"host"` + Port int `yaml:"port"` + Protocol string `yaml:"protocol"` + Username string `yaml:"username,omitempty"` + Credential string `yaml:"credential,omitempty"` +} + type PLIThrottleConfig struct { LowQuality time.Duration `yaml:"low_quality,omitempty"` MidQuality time.Duration `yaml:"mid_quality,omitempty"`