Commit Graph

40 Commits

Author SHA1 Message Date
David Zhao
4149c4a314 removed duplicate region log 2021-10-10 22:52:51 -07:00
David Zhao
575b99840a Fixed handling of multiple nodes in region-aware routing 2021-10-10 22:25:29 -07:00
Brint E. Kriebel
822f8c3944 Region Aware node selection fixes and enhancements (#141)
* cli: Allow setting the current node region with flag or env variable

Also add region to "starting LiveKit server" log.

* routing: Add region to node registration

Register the node's region on the selected router so it can be used for
region aware node selection.

Also add the region to the list-nodes output.

* regionaware: Set minDist to zero for the current node

If you don't set the minDist when leaving the loop early for a node that
matches the current region, the minDist value with still be at max. This
causes the the wrong node to be selected if the current node is the
first one the loop passes through.

Add a test that validates this change. The new test fails if this new
change is not in place.
2021-10-10 22:21:37 -07:00
David Colburn
347bf0345a Recording webhooks (#125)
* dump

* update protocol

* const

* regenerate wire

* message bus nil check

* nil message bus if no redis

* start and stop rec service
2021-09-21 23:46:25 -05:00
Mathew Kamkar
700a879c0b Redis Router graceful stop (#116)
* prestop and hasparticipants in interface

* add prestop function to existing routers

* fakerouter prestop

* update protocol version

* read lock

* redis router graceful stop

* test fix

* force stop
2021-09-15 13:07:44 -07:00
David Colburn
2a3fb5f0e7 move logging to protocol (#109) 2021-09-09 00:45:42 -07:00
David Colburn
0bfd05c3b8 move router room manager link (#103) 2021-08-30 17:18:18 -05:00
David Colburn
69c1d4c295 Interfaces (#97)
* create interface

* move room manager to interface

* interfaces

* updates

* fix loop

* fix fakes

* remove node types
2021-08-28 18:28:08 -05:00
David Colburn
8a44fad307 protocol 0.8 (#95)
* protocol 0.8

* merge new selector
2021-08-27 13:16:33 -05:00
David Colburn
6111b2d4f8 Recording apis (#78)
* apis with auth

* recording service

* record permission

* protocol 0.6.5

* bump version
2021-08-04 22:44:06 -05:00
hn8
87dfb2b117 log: consistent log key (#60) 2021-07-19 10:28:51 -07:00
David Colburn
53bc65285c connection validation 2021-07-15 14:23:17 -07:00
David Colburn
5fdb6361cd Dev debug info (#50) 2021-07-13 14:05:25 -05:00
David Zhao
a80e8cf69f Enable passing in local IP, refactored IP detection (#48)
* Enable passing in local IP, refactored IP detection

* update docker server instructions
2021-07-11 08:42:11 -07:00
hn8
dcfe7eaf4f Enhancement: audio speakers (#44)
* refactor: active speakers

1. Observe the loudest adjusted with active ratio instead of linear average of decibel values
2. Follow RFC6465 to convert audio level from decibel to linear value.
3. Quantize audio level for stable slice comparison
4. Switch moving average algorithm from MMA to EMA to have the same center of mass with SMA
5. Minor: remove seenSids map allocation
6. Minor: minimize division arithmetic

* Update pkg/rtc/audiolevel.go

Co-authored-by: David Zhao <david@davidzhao.com>
2021-07-09 09:46:24 -07:00
David Zhao
e527a66096 endpoint to dump stacktraces 2021-06-17 22:54:09 -07:00
David Colburn
4f56d55d86 close rtp buffers 2021-06-15 00:50:33 -07:00
David Zhao
db7d5fff52 Test reliability - give time for HTTP server to start 2021-06-09 13:54:52 -07:00
David Zhao
a3228c2ae9 resolve data race conditions, code quality 2021-06-04 14:57:55 -07:00
David Zhao
59a27d20c3 improve test reliability, fully close rooms during server shutdown 2021-06-03 23:04:19 -07:00
David Colburn
69b94e1142 error logging 2021-06-03 01:57:43 -05:00
David Zhao
c76cdf11c2 add tests to ensure subscriber cleanup 2021-05-12 23:52:41 -07:00
David Zhao
681010072c support for exposing stats via prometheus 2021-05-11 22:04:59 -07:00
David Zhao
d399a57a7b Removed cli, mux cleanup, docs update 2021-05-07 01:16:33 -07:00
David Zhao
84ac0a718d single port mode connectivity improvements, ICE v2.1.6 2021-04-25 14:13:35 -07:00
David Zhao
1ef2fb8f4a better startup logging 2021-04-16 16:57:57 -07:00
David Zhao
cb963f1637 logging port range on start 2021-03-23 18:07:04 -07:00
David Zhao
7d02c01fd8 refactor - moved common code to livekit/protocol 2021-03-13 22:01:51 -08:00
David Zhao
fa2ffa46e7 Embedded TURN server 2021-03-06 22:47:48 -08:00
David Zhao
f7af7607b9 terraform deploy on ECS (#27) 2021-02-28 22:28:17 -08:00
David Zhao
a010b618af re-assign node for room if existing node for room is no longer available 2021-02-20 21:09:04 -08:00
David Zhao
38140debdf Admin APIs for participant management (#13)
* stubs for room admin APIs

* room store APIs to persist participants

* participant persistence

* updated protobufs

* implemented APIs to mute/remove/etc

* fixed mute handling
2021-02-10 00:06:32 -08:00
David Zhao
c012c742bd fix allowing client negotiations prematurely. 2021-02-05 17:46:52 -08:00
David Zhao
76b0dc62a7 close rooms after delay instead of immediately after participant departure, to allow reconnects 2021-01-31 14:19:16 -08:00
David Zhao
08f5957d65 log version number on startup 2021-01-27 09:08:23 -08:00
David Zhao
25d476b8ac fixed multi-node routing, correctly set rtc and signal nodes 2021-01-27 01:16:08 -08:00
David Zhao
71b4673a0a cleanup room state, proper participant termination 2021-01-18 23:44:59 -08:00
David Zhao
d83a1b1af3 automatically cleanup participant redis data 2021-01-18 17:56:48 -08:00
David Zhao
30e99e8c6b redis based router & roomstore 2021-01-17 00:12:05 -08:00
David Zhao
9064f6ade1 decouple websocket and RTC nodes, prep for distributed 2021-01-16 10:37:38 -08:00