Commit Graph

45 Commits

Author SHA1 Message Date
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 1ced03d72f fixed failing tests 2021-07-02 17:04:22 -07:00
David Colburn e543aaa98a turn server tls (#38)
* tls

* acm

* use cert/key files

* turn -> turns

* turn cert config

* updates

* move panic

* tidy

* final updates
2021-07-01 17:00:49 -05:00
David Zhao cc30d2e025 log error when creating new node (test) 2021-06-30 10:57:54 -07:00
David Zhao 0cecd81906 fix negotiation timing issue, potential deadlock in ICE restart 2021-06-09 17:50:12 -07:00
David Zhao b10d903d3e fix: avoid deadlocks when participant closing, adapt to ion-sfu changes 2021-06-09 14:16:48 -07:00
David Zhao a3228c2ae9 resolve data race conditions, code quality 2021-06-04 14:57:55 -07:00
David Colburn 5baf97e99b imports/inspections 2021-06-04 14:30:10 -05:00
David Zhao c510ea2e1a Fix race condition with Transport negotiations 2021-06-04 12:26:23 -07:00
David Zhao bf281b1994 Simplify test helpers, cleanup redis between tests 2021-06-04 11:22:08 -07:00
David Zhao 24919d8ccb working CI test workflow, more reliable transport_test 2021-06-03 22:35:39 -07:00
David Colburn 69b94e1142 error logging 2021-06-03 01:57:43 -05:00
David Zhao b769faaec5 minor: better EOF detection 2021-06-02 10:20:11 -07:00
David Zhao 0900054c24 ability to disable auto subscribe per participant 2021-05-22 22:54:47 -07:00
David Zhao c76cdf11c2 add tests to ensure subscriber cleanup 2021-05-12 23:52:41 -07:00
David Zhao 9616149a88 collect inbound and outbound packet stats 2021-05-11 00:31:18 -07:00
David Zhao d399a57a7b Removed cli, mux cleanup, docs update 2021-05-07 01:16:33 -07:00
David Zhao 93d10b2640 Manual negotiation and plan-b support 2021-04-16 00:56:25 -07:00
David Zhao 9aa6fc29f5 support immediate disconnect via Leave 2021-04-08 22:06:43 -07:00
David Zhao 7d02c01fd8 refactor - moved common code to livekit/protocol 2021-03-13 22:01:51 -08:00
David Zhao e20c831c14 automatic configuration of TURN, with per-room credentials. version 0.6.0 2021-03-07 23:30:21 -08:00
David Zhao fa2ffa46e7 Embedded TURN server 2021-03-06 22:47:48 -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 99baeb38e4 fix bugs with websocket reconnection, don't re-use redis sinks (#22) 2021-02-15 17:57:01 -08:00
David Zhao 090f8d0664 use dedicated PeerConnections for sending and receiving (#19)
* protobuf updates to support new protocol

* use dedicated publish & subscribe peerconnections

* update client to work with dedicated PCs

* fix Go client negotiation, reduced length of UUID
2021-02-12 22:30:31 -08:00
David Zhao 61b9569e38 fix: use track SID instead of source ID 2021-02-08 16:45:18 -08:00
David Zhao c012c742bd fix allowing client negotiations prematurely. 2021-02-05 17:46:52 -08:00
David Zhao c015e267b0 switch to a single redis subscriber, close properly 2021-02-04 00:25:09 -08:00
David Zhao d117cce37b integration test around receive before publish 2021-02-02 22:53:48 -08:00
David Zhao 70574deaf7 better debug logs around negotiations 2021-02-02 00:40:55 -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 1a8e26031f always use multi-node when Redis is provided, removed config 2021-01-30 13:29:31 -08:00
David Zhao fe83baa662 reuse the same Participant ID within the same room/session 2021-01-28 01:14:06 -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 61db4f5b66 fixed multi-node so signal node can start sessions 2021-01-26 23:52:55 -08:00
David Zhao f004aa2952 auto-create rooms upon creation 2021-01-24 23:47:24 -08:00
David Zhao c04fd86f9c multi-node integration tests 2021-01-19 20:34:11 -08:00
David Zhao 71b4673a0a cleanup room state, proper participant termination 2021-01-18 23:44:59 -08:00
David Zhao 834a4747ac refactor bearer token on the client side 2021-01-18 13:27:01 -08:00
David Zhao 458241d1f1 config rework to handle distributed setup, fixed redis bugs 2021-01-17 17:06:50 -08:00
David Zhao 9064f6ade1 decouple websocket and RTC nodes, prep for distributed 2021-01-16 10:37:38 -08:00
David Zhao 9a10a57b30 single publisher integration test 2021-01-13 17:38:40 -08:00
David Zhao 233306d83a basic integration test 2021-01-13 13:41:34 -08:00
David Zhao 09e5a37c75 refactoring to prep for integration tests 2021-01-13 00:04:36 -08:00