David Zhao
6b63cd5b31
Revamp data channels ( #32 )
...
* support for built-in data channels. active speaker updates via data channel
* fixed tests
* update to Pion 3.0.27
2021-04-27 22:02:59 -07:00
David Zhao
92b92ad3de
Updated protocol protobufs
2021-04-21 21:52:56 -07:00
David Zhao
93d10b2640
Manual negotiation and plan-b support
2021-04-16 00:56:25 -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
b90f851be5
return participant connected timestamps
2021-03-28 21:05:20 -07:00
David Zhao
dfac44d59e
reduce reliance of funk, fixed bug getting subscribed tracks
2021-03-27 21:54:46 -07:00
David Zhao
537edda4c3
handle new UpdateParticipant API, enable permission updates
2021-03-20 22:27:47 -07:00
David Zhao
6aee50b397
fixed protobuf path reference
2021-03-19 23:27:22 -07:00
David Zhao
f7ed2cee60
RoomService.updateParticipantMetadata, participant permissions
2021-03-16 01:22:21 -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
048cdf9751
ignore generated file from git
2021-03-06 23:17:06 -08:00
David Zhao
fa2ffa46e7
Embedded TURN server
2021-03-06 22:47:48 -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
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
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
c04fd86f9c
multi-node integration tests
2021-01-19 20:34:11 -08:00
David Zhao
d83a1b1af3
automatically cleanup participant redis data
2021-01-18 17:56:48 -08:00
David Zhao
834a4747ac
refactor bearer token on the client side
2021-01-18 13:27:01 -08:00
David Zhao
513b40c4ce
document protocol, added .idea
2021-01-18 11:55:47 -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
bd885b1de9
handle unpublish track
2021-01-12 17:07:01 -08:00
David Zhao
7dcb88343a
binding to buffer and correctly forwarding
2021-01-10 16:18:58 -08:00
David Zhao
258f5add2d
protocol update: explicit AddTrack to move negotiation initiation to server side.
...
In order to avoid race conditions with WebRTC, where either side could initiate an offer when tracks have changes, we'll always initiate them from the SFU side.
2021-01-09 23:40:29 -08:00
David Zhao
313236e3d3
server to support mutes
2020-12-31 14:21:19 -08:00
David Zhao
3fb606236e
sends roominfo on join
2020-12-27 22:38:13 -08:00
David Zhao
804b7cb332
JWT token based auth
2020-12-25 22:31:11 -08:00
David Zhao
202979d346
move to mage for build
2020-12-22 14:37:45 -08:00
David Zhao
c4cb29a3bb
use PeerConnection interface to make it easier to mock
2020-12-20 22:57:06 -08:00
David Zhao
f753172308
datatrack implementation
2020-12-19 16:13:56 -08:00
David Zhao
2111513fde
track published response, to allow client to assign sid to published tracks
2020-12-17 21:48:48 -08:00
David Zhao
abd17af4d4
protocol to synchronize published tracks
2020-12-05 00:03:26 -08:00
David Zhao
c401a6fdab
ID -> SID
2020-12-04 23:04:24 -08:00
David Zhao
c64ecc4603
use full candidateInit, update encoding
2020-12-03 21:58:25 -08:00
David Zhao
a6c4db2cb3
refactoring, enabling sending out room updates
2020-12-01 23:32:15 -08:00
David Zhao
0c99163253
using shared proto types for participant state
2020-11-28 15:17:14 -08:00
David Zhao
bea1a87cb8
updated flow, room & participant id created by server
2020-11-28 00:18:34 -08:00
David Zhao
c618f8c42f
client consumes provided track
2020-11-13 12:31:01 -08:00
David Zhao
218b9a0277
CLI framing, creates rooms
2020-11-04 23:29:46 -08:00
David Zhao
9ebfebe2dd
simple cli with room APIs
2020-11-03 22:01:54 -08:00
David Zhao
925d1c653e
switch to websockets, remove grpc dependency
2020-11-03 00:20:46 -08:00
David Zhao
54b59f00e2
handles RTC join
2020-10-31 00:09:46 -07:00
David Zhao
36dd195ca3
Converted RTC back to GRPC for server push capability
2020-10-29 01:02:31 -07:00