Commit Graph

111 Commits

Author SHA1 Message Date
Mathew Kamkar b2493b49f7 baseFlags do not need to be set (#1127) 2022-10-26 14:20:13 -07:00
Mathew Kamkar 26fe910e88 Generated CLI Flags (#1112) 2022-10-25 22:24:08 -07:00
cnderrauber 759e3bb1f2 Refine nat 1to1 mapping setting (#1094)
Now only set mapping when user_external_ip enabled or node_ip is
explicitly set. If multiple local address resolved to same external
ip, only the first one will be mapped to external, avoid candidate
conflict between different clients.
2022-10-17 16:11:52 +08:00
Raja Subramanian 33f5dbc501 Make strict mode a param (#1054)
So, a wrapping config (like cloud) can skip the strict mode check.
2022-09-29 13:07:32 +05:30
cnderrauber 4b630d2156 Add ipfilter to exclude ip from candidates gather (#1052) 2022-09-29 14:40:38 +08:00
David Zhao 9c8d9fca0c Enforce config fields, fail on unknown keys (#1051)
If/when users have a typo or misindentation in their config file, we
would have silently failed to assign the value and moved on.

With this change it'll error out, alerting user of the problem.
2022-09-28 22:13:52 -07:00
David Zhao 7e3155dcd6 ForceTCP only for supported clients (#997)
* ForceTCP only for supported clients

Revert back to standard if forceRelay with TLS fails
Don't force TLS unless it's configured

* fix lint
2022-09-09 18:14:36 -07:00
David Zhao aa4f713d1e Document tcp fallback (#961)
* Updated docs around TCP fallback

* changed allowFallback to a pointer
2022-08-27 14:59:01 -07:00
cnderrauber c20a91d2b2 enable red by default (#940)
* enable red by default

* fix test case
2022-08-22 17:40:12 +08:00
Raja Subramanian 49cf15cdca Fix filtering candidates (#901)
* Filter candidate after setting description

* comment

* Fix filtering candidates

- For offer/answer from remote, do filtering before setting remote
  description so that Pion does not see filtered candidates
- For offer/answer originating from server, do filtering after setting
  local description (comments in code) so that remote side does not
  see filtered candidates.
- Make logging a little consistent and use right context.

* Comment

* TCP fallback config and UT (broken now)

* log SDP only when preferring TCP

* Remove TCP fallback test attempt
2022-08-10 10:42:46 +05:30
Benjamin Pracht 5558aa5228 Make sure CreateIngest populates the stream_key and URL fields (#861) 2022-08-01 11:35:30 -07:00
David Zhao a2bf32797b Allow binding HTTP server to specific address (#831)
Improves security when running with placeholder keys. Only allowing
access from loopback by default.
2022-07-13 23:58:33 -07:00
cnderrauber 0b630e15b6 disable ice lite by default (#784)
* disable ice lite by default
2022-06-24 15:06:07 +08:00
Alessio 558be854be Add turn relay start and end port configuration (#733) 2022-06-13 15:03:12 -07:00
cnderrauber 6ba034feae shorten the time cost for subscriber get media tracks (#747)
* set DownTrack's initial codec to first codec of potential codecs

* faststart on subscribe
2022-06-02 10:00:42 +08:00
cnderrauber 3a45f93fdd disable AV1 and VP9 by default (#735) 2022-05-29 12:30:42 +08:00
Brint E. Kriebel 5a74c1695d Add support for Redis Sentinel (#707) 2022-05-28 10:26:58 -07:00
cnderrauber f958fbcc1c simulcast codecs support (#720)
simulcast codecs support 

Co-authored-by: David Zhao <dz@livekit.io>
2022-05-27 19:55:50 +08:00
David Zhao a1caeeb8de Update WebRTC and DTLS with security fixes (#678)
* Update WebRTC and DTLS with security fixes.

* remove aggressive nomination settings (now default)

* fixed TURN issue
2022-05-10 18:27:16 -07:00
cnderrauber 8bb46637bb enable accept aggressive nomination by default (#644) 2022-04-22 12:41:43 +08:00
cnderrauber 124d628c0a add config to accept aggressive nomination (#642) 2022-04-21 18:32:18 +08:00
David Zhao b821a0997d Use common logging init functions (#633)
* Use common logging init functions

* update protocol commit

* fix tests
2022-04-20 00:15:11 -07:00
David Zhao 431069af95 Rename StatsUpdateFrequency -> StatsUpdateInterval 2022-04-19 22:22:58 -07:00
David Zhao 282e2aed49 Increase frequency of status updates and longer availability threshold (#628)
* Increase frequency of status updates and longer avail. threshold.

* better fix.

* fix room close test failure due to slow peer connection Close

* Perform avg computation more frequently if data has changed
2022-04-19 22:18:00 -07:00
Brint E. Kriebel f8ae219eab Add sort by option to node selector (#599)
* Add sort by option to node selector

Allow the final decision of a selected node to be based on different
sorting options rather than just random.

Add a `sysload`, `cpuload`, `rooms`, `clients`, `tracks`, and
`bytespersec` sorting options to select the appropriate room when
multiple are suitable for the chosen selector.

Add tests for sysload sort_by option

Closes: #598

* NodeSelector: rename "random" selector to "any"

Since the selector introduces limits but the final selection is now
based on the sort by value, the random selector name does not make
sense. Rename this selector to "any" to accurately reflect that it will
select any available no with no additional selection limits.

Allow the old setting "random" to point to the new selector name, but
print a deprecation warning message.
2022-04-14 01:25:36 -07:00
David Zhao 4475a028b6 Removed REMB references for publisher (#605) 2022-04-07 18:24:11 -07:00
cnderrauber e35d75f7d7 disable av1 and vp9 support (#576) 2022-03-29 10:29:54 +08:00
cnderrauber 3959251837 add support for vp9 and av1 (#574) 2022-03-28 22:22:48 +08:00
cnderrauber 3352ee6b79 add size limit to metadata of room & participant (#566)
* add size limit to metadata of room & participant

* description in config-sample

* solve comments
2022-03-25 12:48:11 +08:00
cnderrauber 534cc01b85 refine dynacast pause delay (#558)
* refine dynacast pause delay

* fix test
2022-03-23 16:52:40 +08:00
cnderrauber b98b828618 throttle quality come down (#556) 2022-03-23 15:27:00 +08:00
David Zhao dfd3dade00 Disallow pause by default (#554) 2022-03-22 22:07:01 -07:00
Raja Subramanian 0a88dee95e A minimum channel capacity config (#549) 2022-03-22 13:13:48 +05:30
Mathew Kamkar cac6d22a72 store cpu load in node stats (#524)
* store cpu load in node stats

* num cpus uint32

* cpu load selector test

* dep update
2022-03-16 14:51:22 -07:00
cnderrauber e4c321de02 add interface filter config (#502)
* add interface filter config

* Update config-sample.yaml

Co-authored-by: David Zhao <david@davidzhao.com>

* better description

Co-authored-by: David Zhao <david@davidzhao.com>
2022-03-11 14:08:41 +08:00
Alex Beattie 96654e164a support Redis TLS Connection (#482)
* Add TLS for Redis connection

* Update to add tls flag
2022-03-02 22:17:29 -08:00
David Zhao 433a5cd8d1 Disable default node limits (#472)
* Disable default node limits

* removed unused vars
2022-02-27 16:54:39 -08:00
Raja Subramanian 0170cc1cb6 Staticcheck (#464)
Using `go get -u honnef.co/go/tools/cmd/staticcheck`
Uneaarthed a couple of real bugs
2022-02-25 12:04:08 +05:30
Raja Subramanian 0bbed7f0bd Use padding for probing (#434)
* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* Clean up

* Remove debug

* Remove unneeded change

* fix test

* Remove incorrect comment

* Reset probe after estimate trends down
2022-02-17 11:03:23 +05:30
Raja Subramanian a6338992e8 Stop forwarding on congestion (#429)
* WIP commit

* comment out debug stuff
2022-02-11 09:17:53 +05:30
cnderrauber f3572d2654 tune speaker detector more sensitive (#427)
* tune speaker detector more sensitive
2022-02-10 16:39:59 +08:00
David Zhao 81521f80db Support for custom TURN servers (#409)
Closes #271
2022-02-05 23:15:58 -08:00
David Zhao e6c236357a Option to disable ICE-Lite to improve compatibility (#408) 2022-02-05 22:57:47 -08:00
David Zhao 126bb8867b Ability to disable auto-create (#361)
* setting to disable autocreate

* improve test reliability

* update comment

* update to address feedback
2022-01-21 09:57:36 -08:00
David Colburn 5bea9debb7 Code cleanup (#353) 2022-01-19 02:13:06 -08:00
David Zhao 88cad8f093 Generate cleaner configs (#347)
Also upgrade to v1.17 for docker builds
2022-01-17 23:54:04 -08:00
David Zhao c122c98e4d Improved logging configuration (#342) 2022-01-15 10:28:03 -08:00
Mathew Kamkar 416ca80a8b get all local ip addresses (#340) 2022-01-14 17:49:45 -08:00
Raja Subramanian 98586c2490 A simple configuration for congestion control. (#305) 2021-12-31 00:26:29 +05:30
Raja Subramanian 107e7bbb39 Configurable bandwidth estimation side (#298)
* Fix tests

Add back adding track to publishedTracks for testing purposes.

* WIP branch

* Don't know why merge from `master` did not catch this change.

* WIP commit

* Hook up all the bits for TWCC to work

* Fix typo

* WIP commit

* Catch up to latest API

* Move RTP/RTCP info config

* Instantiate GCC/TWCC interceptor only when in use

* comment SSBWE parts

* RTCP feedback in publisher config
2021-12-30 20:09:03 +05:30