Raja Subramanian
9055a34981
Path check helpers ( #4392 )
...
* Path check helpers
* remove trailing slash
2026-03-25 10:53:07 +05:30
Jacob Gelman
a6035212f5
ESP32 client info ( #4267 )
2026-02-11 16:25:02 +11:00
Raja Subramanian
52a4b848a4
Read client protocol from query param ( #4294 )
...
* Read client protocol from query param
* Atoi -> ParseInt
2026-02-06 11:33:13 +05:30
Raja Subramanian
b8ddd0f98c
Taking interface{} -> any modernize bits ( #4204 )
2025-12-28 05:22:12 +05:30
cnderrauber
76645fad5e
Rpcs for ingress proxy WHIP ( #3911 )
...
See https://github.com/livekit/protocol/pull/1194
2025-09-09 22:49:42 +08:00
Paul Wells
2aeadf14dc
init ua parser once ( #3883 )
2025-08-28 05:20:25 -07:00
Raja Subramanian
e3155b146b
Get to the point of establishing subscriber peer connection. ( #3821 )
...
Proper message id checks.
Some refactoring for common code in rtcv2service handlers.
Instantiate signalling based on synchronous local candidates flag, but
needs better defined code.
2025-07-25 14:49:04 +05:30
Benjamin Pracht
18ce524455
Handle Metadata field from RoomConfig ( #3798 )
2025-07-18 10:37:23 -07:00
Raja Subramanian
078c01fad3
Signal v2: envelope and fragments as wire message format. ( #3800 )
...
* Signal v2: envelope and fragments as wire message format.
Please see details in https://github.com/livekit/protocol/pull/1133
* log connect response
2025-07-18 15:24:32 +05:30
Raja Subramanian
b9a44c3fbf
Signalling V2 protocol implementation start ( #3794 )
...
* WIP
* name
* refactor validate
* WIP
* WIP
* signal cache initial impl
* HandleConnect in room manager
* generate subscriber offer
* handle ConnectRequest as stand alone
* segmentation, reassembly
* clean up
* rearrange
* lock scope
* support metadata in connect request
* prom
* add SifTrailer to ConnectResponse
* prom for get offer error counter
* RtcInit counter
* Jie feedback
* signal client
* consolidate v1 and v2 into SignalClient
* clean up
* comment
* deps
* mage generate
* fix tests
* pass around roomName and participantIdentity
* mage generate
2025-07-18 00:01:21 +05:30
Raja Subramanian
9d569e2fef
Take ClientInfo from request. ( #3738 )
...
This will allow WHIP client to pass in client info which can provide
more information about WHIP clients for telemetry.
2025-06-16 21:01:15 -07:00
Paul Wells
13b55a80ad
move agent token ( #3669 )
2025-05-15 10:30:14 -07:00
Raja Subramanian
b760918a0d
Use logger from request context. ( #3623 )
...
That will have projectID and can potentially be used for project level
logging if we are able to pass around the project logger more.
2025-04-24 11:34:16 +05:30
Paul Wells
29c7906250
skip http request logging when the client aborts the request ( #3195 )
...
* skip http request logging when the client aborts the request
* cleanup
2024-11-22 00:42:49 -08:00
David Zhao
dd7cd7eafc
Handle room configuration that's set in the grant itself ( #3120 )
...
* Handle room configuration that's set in the grant itself
* ensure refresh token contains updates
* deps
* dep
---------
Co-authored-by: Paul Wells <paulwe@gmail.com >
2024-10-21 23:31:12 -07:00
David Zhao
50576b503e
Handle trailing slashes in URL ( #2988 )
...
When a user includes a trailing slash in LIVEKIT_URL, it would produce
double slashes in the path, i.e. `https://myhost.livekit.cloud//twirp/RoomService.ListRooms `
Currently the server will send a 302 MOVED response, causing Twirp requests to fail.
We now remove the double slash in front within the middleware.
2024-09-07 11:30:24 -07:00
Raja Subramanian
1e2da70122
Filter out context canceled errors from logging ( #2492 )
...
* Filter out context canceled errors from logging
* move a few more warns to debug
2024-02-19 10:19:55 +05:30
David Zhao
3fe124c87f
Log cleanup pass ( #2285 )
...
* Log cleanup pass
Demoted a bunch of logs to DEBUG, consolidated logs.
* use context logger and fix context var usage
* moved common error types, fixed tests
2023-12-02 15:07:31 -08:00
David Zhao
981fb7cac7
Adding license notices ( #1913 )
...
* Adding license notices
* remove from config
2023-07-27 16:43:19 -07:00
David Zhao
fc6a306031
Create a helper for retrieving a user's actual IP ( #1579 )
2023-04-04 19:32:49 -07:00
David Zhao
bd39a96eac
Tweak call stack depth to show more helpful error lines ( #1333 )
2023-01-25 15:35:18 -08:00
David Zhao
d9059f4f3b
Do not accept websocket connection if response not received ( #923 )
...
When the instance handling the signal request did not respond to the
initial connection, we will fail the connection attempt instead of
having it hang forever.
2022-08-16 19:57:41 -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
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
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 Colburn
1d626ba053
Update turn ( #147 )
...
* more generic turn server
* public turn realm name
* support turn cert itself in config
* remove cert/key from config
* double auth handler
* generate
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
2021-10-18 16:14:27 -05:00
David Zhao
c745f0a318
Region aware routing ( #135 )
...
* Region aware routing
* update config, fix spacing on commented out lines
2021-10-06 21:40:04 -07:00
David Colburn
d83b7b543d
update protocol
2021-09-22 13:48:37 -07:00
David Colburn
347bf0345a
Recording webhooks ( #125 )
...
* dump
* update protocol
* const
* regenerate wire
* message bus nil check
* nil message bus if no redis
* start and stop rec service
2021-09-21 23:46:25 -05:00
David Colburn
abde72a907
Remove room manager from room service ( #119 )
...
* start splitting
* room allocator
* remove room manager
* Update pkg/service/roomallocator.go
Co-authored-by: David Zhao <david@davidzhao.com >
Co-authored-by: David Zhao <david@davidzhao.com >
2021-09-17 01:29:29 -05:00
David Colburn
2a3fb5f0e7
move logging to protocol ( #109 )
2021-09-09 00:45:42 -07:00
David Colburn
e9ffbefa70
move recorder to msg bus ( #108 )
2021-09-02 17:06:48 -05:00
David Colburn
2fd61531d2
small refactor ( #104 )
2021-08-30 18:22:11 -05:00
David Colburn
69c1d4c295
Interfaces ( #97 )
...
* create interface
* move room manager to interface
* interfaces
* updates
* fix loop
* fix fakes
* remove node types
2021-08-28 18:28:08 -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
PJC
9016da1936
check turn domain and port range ( #90 )
...
* check negative turn port
* check turn domain
* domain check test code
2021-08-23 10:49:16 -07:00
David Zhao
bcf6e15e07
SendData API & publishData permission ( #88 )
...
* SendData Server API
* SendData Server-API adjustments based on suggestions
* Update proto version
* enforce publishData permission
* go mod tidy
* fix go.mod
* go mod tidy
Co-authored-by: ChesterMing <89124853+ChesterMing@users.noreply.github.com >
2021-08-19 18:11:48 -07:00
David Zhao
9495646f1a
webhooks support ( #81 )
2021-08-09 09:57:37 -07:00
David Colburn
6111b2d4f8
Recording apis ( #78 )
...
* apis with auth
* recording service
* record permission
* protocol 0.6.5
* bump version
2021-08-04 22:44:06 -05:00
David Colburn
b00d5a02cb
RoomRecorder ( #70 )
2021-07-27 00:39:48 -05:00
hn8
99e9997d0a
feat: support SetLogger & SetLoggerFactory ( #57 )
...
* upgrade logr to stable release v1.0.0
* feat: support SetLogger & SetLoggerFactory
2021-07-18 21:28:09 -07:00
David Zhao
abedc05ce5
Improve logging, hook up ion with zap logger
2021-06-09 12:31:29 -07:00
David Zhao
e4238890ff
Refactor/cleanup of negotiation path
2021-04-15 17:03:22 -07:00
David Zhao
7d02c01fd8
refactor - moved common code to livekit/protocol
2021-03-13 22:01:51 -08:00
David Zhao
fa2ffa46e7
Embedded TURN server
2021-03-06 22:47:48 -08:00
David Zhao
03d0a8c047
updated to ion-sfu v1.9.1, removed package bufferFactory
2021-03-01 14:49:46 -08:00
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