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
David Zhao
71d6feedbb
peer interfaces and callbacks
2020-10-27 23:41:37 -07:00
David Zhao
40c7d902d8
refactored config and room setup
2020-10-15 00:04:16 -07:00
David Zhao
6752c4a91d
separated join from creation, room options & token
2020-10-07 23:54:44 -07:00
David Zhao
0d6c0adbdd
switched to Twirp for RPC, server skaffold
2020-10-06 23:20:44 -07:00
David Zhao
5117b8bf80
updated package reference
2020-10-05 20:32:39 -07:00
David Zhao
1de35caf7a
checkpoint
2020-10-05 20:31:29 -07:00
David Zhao
f0b1eb63df
initial commit
2020-10-03 22:51:01 -07:00