Raja Subramanian and GitHub
fa5f4ef33c
Populate SDP cid in track info when available. ( #3845 )
...
* Populate SDP cid in track info when available.
- Adding SDP cid to TrackInfo. Browsers like FF uses a different stream
id for AddTrack and actual SDP offer. So, have to look up using both
on server side. To make it easier, store both (only if different) in
TrackInfo.
- Use a codec in TrackInfo for audio also. There is some discussion
around doing simulcast codec for audio so that something like PSTN can
use G.711 without any transcoding. So, just keep it consistent between
audio and video.
- Populate SDP cid when SDP offer is received. It could populate a
pending track or an already published track if the new offer is for a
back up codec where the primary codec is already published.
- Passed around parsed offer to more places to avoid parsing multiple
times.
- Clean up MediaTrack interface a bit and remove unneeded methods.
* WIP
* WIP
* deps
* stream allocator mime aware
* clean up
* populate SDP cid before munging
* interface methods
2025-08-13 10:53:16 +05:30
Raja Subramanian and GitHub
34a491309f
Delete v2 signalling ( #3835 )
...
* Delete v2 signalling
* deps
* mage generate
* deelte unused file
2025-08-06 09:08:09 +05:30
Raja Subramanian and GitHub
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 and GitHub
23285744ba
Server side metrics ( #3198 )
...
* mbb WIP
* deps
* WIP
* WIP
* remove unused file
* Switch to enabled
* misc
* deps
* mediatransportutil update
* Typo
* Set ParticipantIdentity in metrics data packets
* use uint32 as JSON decoder does not unmarshal time.Duration
2024-11-25 13:10:48 +05:30
Paul Wells and GitHub
8428d5e62b
update protocol ( #3031 )
...
* update protocol
* test
* cleanup
2024-09-21 17:05:39 -07:00
Paul Wells and GitHub
c371929535
add roommanager service ( #2931 )
...
* add roommanager service
* cleanup
* deps
* timeout
* cleanup
* cleanup
* config
* cleanup
2024-08-13 11:00:41 -07:00
Paul Wells and GitHub
3f2f850bdb
clean up legacy rpc ( #2384 )
...
* clean up legacy rpc
* cleanup
* cleanup
* cleanup
* tidy
* cleanup
* cleanup
2024-01-14 01:49:26 -08:00
David Zhao and GitHub
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
Raja Subramanian and GitHub
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
Paul Wells and GitHub
04150c044b
count active signal sessions ( #1519 )
...
* count active signal sessions
* fix
* generate fake
2023-03-14 17:35:32 -07:00
Paul Wells and GitHub
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 and GitHub
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
David Zhao and GitHub
b7d22c4f34
Fix MessageChannel leaks ( #646 )
2022-04-22 10:53:20 -07:00
Raja Subramanian and GitHub
4696503790
Include region in ParticipantInfo ( #585 )
2022-03-31 14:57:55 +05:30
Raja Subramanian and GitHub
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 and GitHub
32825d2666
clean up WriteRoomRTC ( #378 )
...
* clean up WriteRoomRTC
* regenerate
2022-01-26 19:12:39 -07:00
Raja Subramanian and GitHub
995c1e8676
type aliases -> type definitions ( #312 )
...
* type alias -> type definition
* participantSid -> participantID in a comment
* Update protocol
2022-01-03 12:43:58 +05:30
Raja Subramanian and GitHub
3a9009ae12
type definition of room name ( #311 )
...
* WIP commit
* update protocol
* Fixing a test and catching one place where casting was missed
* Fix one more spot which need conversion from livekit.RoomName -> string
* do not covert list
2022-01-02 16:49:16 +05:30
David Colburn
8f28364842
remove WriteNodeRTC from interface
2021-12-20 16:00:37 -08:00
David Zhao and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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
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
Mathew Kamkar and GitHub
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 and GitHub
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 and GitHub
1f1eea383f
add ctx to interfaces ( #105 )
...
* add ctx to interfaces
* use existing context
2021-08-30 20:31:24 -05:00
David Colburn and GitHub
8a44fad307
protocol 0.8 ( #95 )
...
* protocol 0.8
* merge new selector
2021-08-27 13:16:33 -05: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 and GitHub
99baeb38e4
fix bugs with websocket reconnection, don't re-use redis sinks ( #22 )
2021-02-15 17:57:01 -08:00
David Zhao and GitHub
538461d5dc
pass client defined metadata from JWT to participant ( #17 )
2021-02-10 23:13:36 -08:00
David Zhao and GitHub
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
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
458241d1f1
config rework to handle distributed setup, fixed redis bugs
2021-01-17 17:06:50 -08:00
David Zhao
30e99e8c6b
redis based router & roomstore
2021-01-17 00:12:05 -08:00
David Zhao
9064f6ade1
decouple websocket and RTC nodes, prep for distributed
2021-01-16 10:37:38 -08:00