Commit Graph

213 Commits

Author SHA1 Message Date
boks1971 30800816e4 Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-07-22 10:43:48 +05:30
Benjamin Pracht 73b3a91a5c Use RoomConfiguration message from protocol (#2882) 2024-07-19 13:54:33 -07:00
Raja Subramanian 09e3aef859 Check size limits on metadata and name set from client. (#2850)
* Send error response when update metadata fails.

Keeping it simple for the first implementation.
- Send error response only if request_id != 0
- Two kinds of errors notified
  o does not have permissions - NOT_ALLOWED
  o attributes exceeds size limits -  INVALID_ARGUMENT

* Check size limits on metadata and name set from client.

Added a name length limit also.

* check name length in service update participant path also

* limit check in limit config

* update protocol

* longer keys
2024-07-12 09:57:17 +05:30
boks1971 23467a5763 Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-07-06 21:03:25 +05:30
Benjamin Pracht 32a4d03c9e Implement Agents protocol addition (#2786) 2024-06-27 19:20:52 -07:00
holzgeist 6523c9c099 Feat add prometheus auth (#2252)
* feat: add support for basic auth on prometheus

* fix: properly name middleware generator

* refactor: move all prometheus configs into common object

* chore: add suggestions from review

add back old config switch and print warning if it is used

* fix: undo accidental change

* fix: rebase/merge issue
2024-06-27 02:13:51 -07:00
boks1971 ba52311376 Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-06-20 11:46:49 +05:30
David Zhao 7a774cc82a Support for participant attributes (#2806)
* Support for participant attributes

* move metadata setters to LocalParticipant

* address feedback

* forward error

* update go mod

* update attributes first
2024-06-19 23:14:19 -07:00
Paul Wells 58e365847b add test helper for config yaml tags (#2791)
* add test helper for config yaml tags

* deps

* cleanup

* cleanup
2024-06-13 23:22:39 -07:00
boks1971 c89a60b93b Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-06-06 11:45:54 +05:30
cnderrauber e6aa36fdd6 Add forward stats (#2725)
* Add forward metrics

* ignore packets was not forwarded

* rename
2024-05-24 17:43:28 +08:00
Paul Wells 9a5db132eb add room/participant name limit (#2704)
* add room/participant name limit

* defaults

* simplify

* omitempty

* handle 0 config

* fix race

* unlock

* tidy
2024-05-06 17:25:18 -07:00
boks1971 2aef1bd593 Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-04-26 13:33:59 +05:30
Mathew Kamkar 10c8582a6b get cpu stats from cgroup, remove env (#2636)
* get cpu stats from cgroup, remove env

* undo rand seed removal

* tests
2024-04-08 21:15:17 -07:00
Raja Subramanian 8852d71a8a Disable audio loss proxying. (#2629)
* Disable audio loss proxying.

Added a config which is off by default.
With audio NACKs, that is the preferred repair mechanism.
With RED, repair is built in via packet redundancy to recover from
isolated losses.
So, proxying is not required. But, leaving it in there with a config
that is disabled by default.

* fix test
2024-04-06 11:28:04 +05:30
boks1971 92ce1664af Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-03-21 15:37:36 +05:30
Paul Wells d87f8aa299 use departure timeout (#2549)
* use departure timeout

* deps

* default

* remove constants

* deps

* protoproxy cache

* add sample
2024-03-05 09:05:42 -08:00
Raja Subramanian 7649e4ffab Post data and signal stats once in 5 minutes (#2518) 2024-02-27 15:45:32 +05:30
Raja Subramanian 6895eff496 Buffer size config for video and audio. (#2498)
* Buffer size config for video and audio.

There was only one buffer size in config.
In upstream, config value was used for video.
Audio used a hard coded value of 200 packets.

But, in the down stream sequencer, the config value was used for both
video and audio. So, if video was set up for high bit rate (deep
buffers), audio sequencer ended up using a lot of memory too in
sequencer.

Split config to be able to control that and also not hard code audio.

Another optimisation here would be to not instantiate sequencer unkess
NACK is negotiated.

* deprecate packet_buffer_size
2024-02-21 22:58:56 +05:30
boks1971 2ac0b2cccc Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-02-20 09:34:55 +05:30
Benjamin Pracht b659fef8ed Add support for ingress ParticipantMetadata (#2461) 2024-02-08 13:59:26 -08:00
Paul Wells fd35c9edfc add exponential backoff to room service check retries (#2462) 2024-02-07 19:35:58 -08:00
Paul Wells 4bce0e7ed4 fix startup with -dev and -config (#2442) 2024-02-03 14:57:07 -08:00
boks1971 87fe0cd29e Merge remote-tracking branch 'origin/master' into raja_min_packets 2024-02-02 12:34:08 +05:30
Paul Wells 3f2f850bdb clean up legacy rpc (#2384)
* clean up legacy rpc

* cleanup

* cleanup

* cleanup

* tidy

* cleanup

* cleanup
2024-01-14 01:49:26 -08:00
Kou 5dc87d7ac5 Fix panic occurs when starting livekit-server with key-file option (#2312) (#2313) 2023-12-20 23:18:28 -08:00
boks1971 06f383d1eb Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-11-22 11:49:36 +05:30
Sean DuBois 702e562f9f Add SIP Support (#2240) 2023-11-14 14:24:54 -05:00
boks1971 6bb3de1f29 Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-11-01 16:09:40 +05:30
Paul Wells de7532b5a1 split room and participant services (#2205)
* merge

* tidy

* deps
2023-10-31 21:28:21 -07:00
boks1971 ec355bf0a5 Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-10-23 13:46:21 +05:30
cnderrauber eca32792b8 Add configuration to limit MaxBufferedAmount for data channel (#2170)
* Add configuration to limit MaxBufferedAmount for data channel

* comment

* Fix generate flags

* fix test

* Don't disconnect slow subscriber
2023-10-23 15:03:58 +08:00
Paul Wells 0bc932e57e fix config typo (#2172)
* fix config typo

* tidy

* add sample config

* cleanup
2023-10-22 23:43:03 -07:00
boks1971 21efc04dff Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-10-23 12:00:54 +05:30
Paul Wells 325e5ca753 add psrpc room service (#2171)
* add psrpc room service

* update deps

* disable by default

* feedback

* config

* test
2023-10-22 22:49:38 -07:00
boks1971 30c65c5460 Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-10-03 23:05:49 +05:30
cnderrauber 92a355e1f3 Add SyncStreams flag to Room (#2110)
* Add SyncStreams flag to Room

* Increase protocol version

* Revert version change

* Move flags to internal & solve comment
2023-09-28 15:41:44 +08:00
David Zhao 4c9d95149d Enable SVC codecs by default (#2109) 2023-09-27 21:16:13 -07:00
boks1971 0d442f1cbf Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-09-20 09:39:41 +05:30
Raja Subramanian a624e30b74 Use marshal + unmarshal to ensure unmarshallable fields are not copied. (#2092)
* Use marshal + unmarshal to ensure unmarshallable fields are not copied.

Need to ensure that config structs/fields are marshallable.

There was a use of a = b copy of struct and some of the embeded structs
had locks and copying was not good.

* update protocol

* Update deps
2023-09-20 00:23:49 +05:30
boks1971 5a28c6889d Merge remote-tracking branch 'origin' into raja_min_packets 2023-09-19 15:38:24 +05:30
cnderrauber e46da0705a Add max playout delay config (#2089)
* Add max playout delay

* config sample
2023-09-19 11:30:38 +08:00
boks1971 347cd8391f Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-09-08 21:17:30 +05:30
Raja Subramanian 83353d821c Make a config option to skip unmanaged tracks in bandwidth estimation (#2050)
* WIP commit

* Make a config option to skip unmanaged tracks in bandwidth estimation
2023-09-08 20:59:58 +05:30
boks1971 c431d7cc0c Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-09-07 22:27:25 +05:30
cnderrauber 75ffb25d77 Parse PortRange of UDPPort from cli flag (#2039) 2023-09-06 14:17:49 +08:00
cnderrauber 9b9298b927 Add batch i/o to improve throughput (#2033)
* Add batch i/o to improve throughput

* remove empty line

* Solve comments

* Change rtcconfig.UDPPort to PortRange

* Fix test
2023-09-06 10:18:20 +08:00
boks1971 c4935791aa Merge remote-tracking branch 'origin/master' into raja_min_packets 2023-09-03 10:00:56 +05:30
David Zhao d6ebc081d5 Use random NodeID instead of MAC based (#2029)
Makes it possible to run multiple instances of livekit-server locally.

Also enables Signal Relay by default as default signal proxy.
2023-09-02 17:36:55 -07:00
Raja Subramanian 6509bb0325 Add option to issue full reconnect on data channel error. (#2026)
* Add option to issue full reconnect on data channel error.

There are situations where send data packet fails because of "stream
closed". It is unclear when that happens. Seems to be after an
ICERestart after ICE failed and connection type switching to TURN
from ICE.

Once the failure happens, it is not recoverable. Potentially, it is
recoverable, but unclear where the problem lies. Attempts to reproduce
looking at the pattern of failures has been unsuccesful.

In the mean time, adding an option to issue full reconnect
when send data packet fails.

* typo
2023-09-01 17:59:25 +05:30