David Zhao
981fb7cac7
Adding license notices ( #1913 )
...
* Adding license notices
* remove from config
2023-07-27 16:43:19 -07:00
Raja Subramanian
12db469297
Better tracking of signalling connection. ( #1794 )
...
* Better tracking of signalling connection.
- Reason for closing signaling channel.
- ConnectionID attached to request source/response sink
* Tests
2023-06-15 12:53:34 +05:30
Raja Subramanian
ac266fbcd6
Support subscriber_allow_pause connect option ( #1612 )
...
* Support subscriber_allow_pause connect option
* optional subscriber_allow_pause field
2023-04-13 17:00:32 +05:30
Paul Wells
2c93d55e5c
add stream retry middleware for signalling ( #1503 )
2023-03-08 00:51:19 -08:00
Paul Wells
e22de045ba
add signal psrpc service ( #1485 )
...
* add signal psrpc service
* update protocol dep
* refactor for cloud
* update psrpc
* pr feedback
2023-03-03 15:49:46 -08:00
David Zhao
ea12e1477f
Update to go-redis v9. Fixed Redis cluster support ( #1415 )
...
* Update to go-redis v9. Fixed Redis cluster support
2023-02-12 22:22:21 -08:00
David Zhao
9a7ea7a2fa
Close previous request channels when during initial retry ( #1409 )
...
So we don't leave abandoned requests hanging on the media instance
2023-02-09 17:27:33 -08:00
cnderrauber
8b6dab780c
Add reconnect reason and signal rtt calculation ( #1381 )
...
* Add connect reason and signal rtt calculate
* Update protocol
* solve comment
2023-02-06 11:12:25 +08:00
David Zhao
2fa46e2df4
Retry initial connection attempt should it fail ( #1335 )
...
Sometimes the initial selected node could fail. In that case, we'll give it a few more attempts to locate a media node for the session instead of failing it after the first try.
2023-01-25 22:59:57 -08:00
Benjamin Pracht
c735668f67
Use the redis.UniversalClient interface instead of *redis.Client when interacting with go-redis ( #1149 )
...
* Use the redis.UniversalClient interface instead of *redis.Client when interacting with go-redis
* Update protocol to v1.2.1
2022-11-07 17:27:28 -08:00
cnderrauber
441053b7fa
add participant id when client reconnect ( #988 )
2022-09-07 15:56:56 +08:00
David Zhao
26700ea135
Add back region when hydrating ParticipantInit. ( #648 )
...
It was left out in the previous PR #646
2022-04-24 09:07:33 -07:00
David Zhao
b7d22c4f34
Fix MessageChannel leaks ( #646 )
2022-04-22 10:53:20 -07:00
Raja Subramanian
cf627d8bbe
Send adaptive stream param in join ( #626 )
2022-04-19 16:45:35 +05:30
Raja Subramanian
4696503790
Include region in ParticipantInfo ( #585 )
2022-03-31 14:57:55 +05:30
David Colburn
0b8a180554
Code inspection ( #581 )
...
* Code inspection
* fix [4]int64 conversiong
2022-03-30 13:49:53 -07:00
David Zhao
5920672802
feat: unpublish tracks after publish permissions are revoked. ( #545 )
...
* feat: unpublish tracks after publish permissions are revoked.
Uses protocol 7 to indicate client support, otherwise it attempts to
mute the tracks.
Also sends back permissions objects of all participants, and cleaned up
our handling of various permissions attributes.
* fix static check
2022-03-21 00:20:48 -07:00
Raja Subramanian
3f38172139
Types for ConnectionID, NodeID, ParticipantKey ( #450 )
...
* Types for ConnectionID, NodeID, ParticipantKey
* latest protocol version
2022-02-21 08:52:11 +05:30
David Colburn
32825d2666
clean up WriteRoomRTC ( #378 )
...
* clean up WriteRoomRTC
* regenerate
2022-01-26 19:12:39 -07:00
David Zhao
52fc53d325
Issue updated tokens to clients. ( #365 )
...
This ensures client reconnect attempts would be successful for long running rooms. It also fixes inaccurate permissions that were set incorrectly when full reconnections take place.
2022-01-23 23:15:49 -08:00
Raja Subramanian
07db1ba726
Some more files with types ( #302 )
2021-12-30 16:43:20 +05:30
David Zhao
3108ef22ad
Ability to set name on Participant ( #293 )
2021-12-28 00:12:04 -08:00
David Colburn
8f28364842
remove WriteNodeRTC from interface
2021-12-20 16:00:37 -08:00
David Colburn
faa870de3d
Move callbacks out of messageRouter ( #269 )
...
* move callbacks out of messageRouter
* OCD
* more OCD
* fix forwarder test
* even more OCD
* maximum OCD
* package name collision, copy lock by value
2021-12-17 13:19:23 -08:00
Raja Subramanian
e54ce4f674
Stream Allocator Try 3 ( #257 )
...
* Stream Allocator Try 3
Making an intermediate PR to do
- Special treatment for screen share tracks
- When allocating all tracks,
o try to stream all tracks by starting with the lowest layer
o multi-pass across tracks to get a more even distribution
Not yet done:
-------------
In deficient state,
o Allocate a specific track on a change
o Steal from other tracks
* Correct sense of managed track
* have to range to copy
* generate
* fix VideoLayers compare
* Use t.simulcasted
2021-12-14 12:48:09 +05:30
David Zhao
2d93ccd668
Updated protocol from protocol/proto -> protocol/livekit ( #242 )
...
* Updated protocol from protocol/proto -> protocol/livekit
* separate MediaTrack from PublishedTrack
2021-12-08 13:58:38 -08:00
David Colburn
c41384cd09
ActiveRecording ( #234 )
...
* ActiveRecording
* regenerate
* update to 0.10.3
* 1.17
2021-12-03 21:40:53 -08:00
David Colburn
95e29d3766
Interface updates ( #194 )
...
* update interfaces, a bit of cleaning
* regenerate
* return interface for RoomService
* export packetBufferSize
* update router interface
* move participant key into router
* change locks back
* read only room store
* fix server rm locks
* update SendJoinResponse
* clean up imports
* update room messaging
* regenerate
2021-11-15 15:25:50 -06:00
Mathew Kamkar
94aec3b98d
Node updates stats with KeepAlive message to self ( #177 )
...
* node sends KeepAlive message to self
* use WriteRTCNodeMessage instead of participants[0]
2021-11-09 17:19:46 -08:00
David Colburn
0c8fe361b2
Small refactor ( #148 )
...
* small refactor
* extra line
* fix room allocator test
* selector fakes not used
* keep decisions out of router
* put nodeId logic back
* fix room allocator test
2021-10-18 21:49:16 -05:00
David Zhao
ff47301820
Implements protocol 3 speaker updates ( #120 )
...
* Disallow AddTrack from participants that don't have the permission
* Support protocol 3 speaker updates, client info
* update protocol
* Disallow AddTrack from participants that don't have the permission
* increase wait time for GH to pass
2021-09-17 11:47:13 -07:00
Mathew Kamkar
700a879c0b
Redis Router graceful stop ( #116 )
...
* prestop and hasparticipants in interface
* add prestop function to existing routers
* fakerouter prestop
* update protocol version
* read lock
* redis router graceful stop
* test fix
* force stop
2021-09-15 13:07:44 -07:00
David Zhao
e82d50d717
Send explicit message to clients for mute/unmute. ( #107 )
...
* Send explicit message to clients for mute/unmute.
* documentation in config
2021-09-01 21:50:02 -07:00
David Colburn
4044c314b8
participant key ( #106 )
...
* participant key
* update fake router
* WriteRTCMessage
* move sink closing
* unused code
2021-08-31 16:14:06 -05:00
David Colburn
1f1eea383f
add ctx to interfaces ( #105 )
...
* add ctx to interfaces
* use existing context
2021-08-30 20:31:24 -05:00
David Colburn
8a44fad307
protocol 0.8 ( #95 )
...
* protocol 0.8
* merge new selector
2021-08-27 13:16:33 -05:00
David Colburn
4bab395ac9
Hidden participants ( #65 )
...
Enables hidden recording and/or forwarding participants
2021-07-19 18:33:28 -05:00
David Zhao
0900054c24
ability to disable auto subscribe per participant
2021-05-22 22:54:47 -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
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
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
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
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
25d476b8ac
fixed multi-node routing, correctly set rtc and signal nodes
2021-01-27 01:16:08 -08:00