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
61b9569e38
fix: use track SID instead of source ID
2021-02-08 16:45:18 -08:00
David Zhao
f1f5b8dafe
use proper fix for using shared bufferFactory, remove resync hack
2021-02-07 23:06:16 -08:00
David Zhao
e30c9f706c
cleaner resync
2021-02-07 22:44:25 -08:00
David Zhao
fa9d2af495
use ion-sfu commit
2021-02-06 23:18:21 -08:00
David Zhao
290e100d0d
fix generation
2021-02-06 23:15:30 -08:00
David Zhao
ae203c27e3
send resync to ensure keyframes have been requested
2021-02-06 23:02:21 -08:00
David Zhao
74cf6b226d
fix mute
2021-02-05 17:48:12 -08:00
David Zhao
c012c742bd
fix allowing client negotiations prematurely.
2021-02-05 17:46:52 -08:00
David Zhao
c978a9cb1f
move to ion-SFU's receiver and downtrack
2021-02-04 21:57:40 -08:00
David Zhao
c015e267b0
switch to a single redis subscriber, close properly
2021-02-04 00:25:09 -08:00
David Zhao
5dec5b1ae2
update
2021-02-03 17:55:35 -08:00
David Zhao
0cb09ee945
handle cid changes between publish intent and onTrack
2021-02-02 23:55:56 -08:00
David Zhao
d117cce37b
integration test around receive before publish
2021-02-02 22:53:48 -08:00
David Zhao
88e247d95a
use SendRecv transceiver instead of Sendonly
2021-02-02 22:47:36 -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
5ce52b6a30
fixed keys parsing from ENV/cli
2021-01-30 13:20:39 -08:00
David Zhao
65078f5ef8
skip track updates when client has disconnected
2021-01-29 01:03:20 -08:00
David Zhao
57a13f9930
fix synchronization issues, use AtomicFlag/atomic.Value for shared fields
2021-01-29 00:49:32 -08:00
David Zhao
dd8a1a5055
use atomic.Load to ensure atomicity
2021-01-28 23:40:30 -08:00
David Zhao
0e48711e4b
don't send participant updates to closed participants (typo fix)
2021-01-28 01:00:48 -08:00
David Zhao
0813a55617
ignore duplicate tracks being published
2021-01-27 09:42:02 -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
b7acdfeec1
fixed syntax error in test
2021-01-26 10:38:31 -08:00
David Zhao
1f8bb57c92
handle when RTCP comes in after track is closed
2021-01-25 00:03:39 -08:00
David Zhao
01d62edafa
doc updates
2021-01-24 15:18:34 -08:00
David Zhao
c4fb1b3808
fixed localrouter timeout, updated VideoGrant fields
2021-01-24 12:52:40 -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
9064f6ade1
decouple websocket and RTC nodes, prep for distributed
2021-01-16 10:37:38 -08:00
David Zhao
381ec58050
some tests
2021-01-12 18:03:08 -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
David Zhao
6464ae3cd6
send downtrack binding reports
...
fixed tests
2021-01-10 22:36:24 -08:00
David Zhao
456df0fb91
use IsReady instead of checking for multiple statuses
2021-01-10 22:09:36 -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
0336e9d92f
tests for MediaTrack, moving interfaces to new package
2020-12-31 23:24:45 -08:00
David Zhao
313236e3d3
server to support mutes
2020-12-31 14:21:19 -08:00