Commit Graph
83 Commits
Author SHA1 Message Date
David Zhao 540d1c2e8c always allow ICE candidates, even before offer 2021-04-16 00:39:22 -07:00
David Zhao e4238890ff Refactor/cleanup of negotiation path 2021-04-15 17:03:22 -07:00
David Zhao 9aa6fc29f5 support immediate disconnect via Leave 2021-04-08 22:06:43 -07:00
David Zhao dfac44d59e reduce reliance of funk, fixed bug getting subscribed tracks 2021-03-27 21:54:46 -07:00
David Zhao cb963f1637 logging port range on start 2021-03-23 18:07:04 -07:00
David Zhao 537edda4c3 handle new UpdateParticipant API, enable permission updates 2021-03-20 22:27:47 -07:00
David Zhao f7ed2cee60 RoomService.updateParticipantMetadata, participant permissions 2021-03-16 01:22:21 -07:00
David Zhao 98013ac20f /rtc responds to only websocket requests. Fixes #25 2021-03-15 11:06:26 -07:00
David Zhao 9b2c2f351c support clients that use binary protocol, 0.6.1 2021-03-15 10:57:15 -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 03d0a8c047 updated to ion-sfu v1.9.1, removed package bufferFactory 2021-03-01 14:49:46 -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 0eb9734111 ignore another closure message 2021-02-16 22:47:10 -08:00
David Zhao e402d0d0af subscriber control of tracks (unsubscribe/mute/quality), support simulcast (#23)
* subscription control & simulcast RTC APIs

* don't remove tracks for simulcast
2021-02-16 13:52:50 -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 a96069969d support audio level extension & active speaker detection (#20)
* send active speaker updates with audio level

* add test on loudness sorting

* use a float to represent audio level
2021-02-14 14:30:23 -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 538461d5dc pass client defined metadata from JWT to participant (#17) 2021-02-10 23:13:36 -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 c015e267b0 switch to a single redis subscriber, close properly 2021-02-04 00:25:09 -08:00
David Zhao a4266478c5 better logging around negotiations 2021-02-02 01:16:13 -08:00
David Zhao 70574deaf7 better debug logs around negotiations 2021-02-02 00:40:55 -08:00
David Zhao 712d0da6cc use synchronized GetParticipants to ensure eliminate timing issues upon participant join 2021-01-31 23:06:48 -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 320a6c35bf enable explicit reconnect to distinguish between WS disconnect vs PeerConnection disconnect 2021-01-30 23:16:11 -08:00
David Zhao 2cf2c448be rework multi-node routing, cleaner design for reconnection 2021-01-30 22:24:08 -08:00
David Zhao 28e73bd109 rename Participant.name to Participant.identity 2021-01-30 14:00:37 -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 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 61db4f5b66 fixed multi-node so signal node can start sessions 2021-01-26 23:52:55 -08:00
David Zhao ed0b9db655 avoid sending to closed channels 2021-01-26 21:45:00 -08:00
David Zhao a065a01592 fixed panic when client connected abruptly 2021-01-26 17:38:47 -08:00
David Zhao f004aa2952 auto-create rooms upon creation 2021-01-24 23:47:24 -08:00
David Zhao b7a00a8a56 increase default token ttl to 6h 2021-01-24 22:14:42 -08:00
David Zhao c04fd86f9c multi-node integration tests 2021-01-19 20:34:11 -08:00
David Zhao 0b00b26d05 terminate RTC sessions properly 2021-01-19 16:18:03 -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 458241d1f1 config rework to handle distributed setup, fixed redis bugs 2021-01-17 17:06:50 -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
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
David Zhao bd885b1de9 handle unpublish track 2021-01-12 17:07:01 -08:00
David Zhao 21ac2413a2 catch panics to ensure reliability 2021-01-11 00:07:11 -08:00