Commit Graph

40 Commits

Author SHA1 Message Date
David Colburn
0b8a180554 Code inspection (#581)
* Code inspection

* fix [4]int64 conversiong
2022-03-30 13:49:53 -07:00
David Zhao
f9a1dd97c2 Ensure RoomService operation is complete prior to returning (#362)
* Ensure service doesn't return before operation is complete

* added integration tests for RoomService
2022-01-21 11:00:33 -08:00
David Zhao
126bb8867b Ability to disable auto-create (#361)
* setting to disable autocreate

* improve test reliability

* update comment

* update to address feedback
2022-01-21 09:57:36 -08:00
David Zhao
c122c98e4d Improved logging configuration (#342) 2022-01-15 10:28:03 -08:00
David Zhao
3108ef22ad Ability to set name on Participant (#293) 2021-12-28 00:12:04 -08:00
David Zhao
15cd98be22 Enable Room.List to filter by specific names (#290) 2021-12-27 23:32:29 -08:00
Raja Subramanian
1dcc62b569 SubscribedQualityUpdate message (#270)
* WIP commit

* SubscribedQualityUpdate message to send list of currently subscribed
qualities for a simulcast video publisher

* Correct subscriberID

* goimports

* Do quality update on add/remove of subscribed track

* do not update quality when admin mute is active

* update quality on admin unmute

* Update protocol version

* Simplify max subscribed quality loop per David's suggestion
2021-12-19 12:41:40 +05:30
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
shishirng
461f29c097 Allow participants to create new connection for publishing new tracks (#224)
* Allow participants to create new connection for publishing new tracks

new param 'publish=<name>' enables publishing new connection with publish
only grants. Also, identity is appended with '#<name>'

* Add integration test to duplicate publish only connection

Signed-off-by: shishir gowda <shishir@livekit.io>

* Reuse token in test and set subscribeGrant to false on publish param

Signed-off-by: shishir gowda <shishir@livekit.io>

* create auth token with grants

Signed-off-by: shishir gowda <shishir@livekit.io>

* Signal ice on negotiate in test client

Signed-off-by: shishir gowda <shishir@livekit.io>

* Update pkg/service/rtcservice.go

Co-authored-by: David Zhao <david@davidzhao.com>

Co-authored-by: David Zhao <david@davidzhao.com>
2021-12-07 16:23:16 -05: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 Colburn
2a3fb5f0e7 move logging to protocol (#109) 2021-09-09 00:45:42 -07:00
David Colburn
2fd61531d2 small refactor (#104) 2021-08-30 18:22:11 -05:00
David Colburn
8a44fad307 protocol 0.8 (#95)
* protocol 0.8

* merge new selector
2021-08-27 13:16:33 -05:00
Mathew Kamkar
c437152e2b NodeSelector using system load metric (#94)
* use load when selecting nodes

* Apply suggestions from code review

Co-authored-by: David Zhao <david@davidzhao.com>

* sysload selector test

* wire nodeSelectorFromConfig

* fix tests

* Update pkg/routing/selectorsystemload_test.go

Co-authored-by: David Zhao <david@davidzhao.com>

* dz review: nits

Co-authored-by: David Zhao <david@davidzhao.com>
2021-08-26 15:24:39 -07:00
David Colburn
b00d5a02cb RoomRecorder (#70) 2021-07-27 00:39:48 -05:00
David Zhao
a80e8cf69f Enable passing in local IP, refactored IP detection (#48)
* Enable passing in local IP, refactored IP detection

* update docker server instructions
2021-07-11 08:42:11 -07:00
David Zhao
cc30d2e025 log error when creating new node (test) 2021-06-30 10:57:54 -07:00
David Zhao
b10d903d3e fix: avoid deadlocks when participant closing, adapt to ion-sfu changes 2021-06-09 14:16:48 -07:00
David Colburn
5baf97e99b imports/inspections 2021-06-04 14:30:10 -05:00
David Zhao
c510ea2e1a Fix race condition with Transport negotiations 2021-06-04 12:26:23 -07:00
David Zhao
bf281b1994 Simplify test helpers, cleanup redis between tests 2021-06-04 11:22:08 -07:00
David Zhao
0900054c24 ability to disable auto subscribe per participant 2021-05-22 22:54:47 -07:00
David Zhao
d399a57a7b Removed cli, mux cleanup, docs update 2021-05-07 01:16:33 -07:00
David Zhao
7d02c01fd8 refactor - moved common code to livekit/protocol 2021-03-13 22:01:51 -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
d117cce37b integration test around receive before publish 2021-02-02 22:53:48 -08:00
David Zhao
70574deaf7 better debug logs around negotiations 2021-02-02 00:40:55 -08:00
David Zhao
1a8e26031f always use multi-node when Redis is provided, removed config 2021-01-30 13:29:31 -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
c04fd86f9c multi-node integration tests 2021-01-19 20:34:11 -08:00
David Zhao
71b4673a0a cleanup room state, proper participant termination 2021-01-18 23:44:59 -08:00
David Zhao
834a4747ac refactor bearer token on the client side 2021-01-18 13:27:01 -08:00
David Zhao
9064f6ade1 decouple websocket and RTC nodes, prep for distributed 2021-01-16 10:37:38 -08:00
David Zhao
9a10a57b30 single publisher integration test 2021-01-13 17:38:40 -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