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
Paul Wells
ba702a5323
forward agent id to job state ( #3786 )
...
* forward agent id to job state
* deps
2025-07-16 14:17:13 -07:00
Benjamin Pracht
1f31d430b0
Map ErrNoResponse to ErrRequestTimedOut in StopEgress to avoid returning 503 ( #3788 )
2025-07-14 13:30:24 -07:00
cnderrauber
51bbe8c52b
Set participant active when peerconnection connected ( #3790 )
...
Don't wait datachannel ready (sctp handshake)
2025-07-14 10:59:59 +08:00
Raja Subramanian
40028dc33c
Normalize known rids. ( #3779 )
...
Normalize the rids in SDP to known patterns.
Currently,
- LK protocol uses q;h;f
- Sean's OBS WHIP uses 0;1;2
As the ordering in SDP could be different, normalize to known order.
For RIDs not in the known set, just use it as is.
2025-07-06 13:32:21 +05:30
Raja Subramanian
ddd923296b
Return default layer for invalid rid + track info combination. ( #3778 )
2025-07-05 14:43:26 +05:30
cnderrauber
8c033ce9fe
Enable H265 by default ( #3773 )
2025-07-01 14:58:09 +08:00
Raja Subramanian
7678e08701
Set rids for all codecs. ( #3772 )
...
Back up codecs will not have pending track. The update needs to happen
on published track.
Have added a note about updating in published track. Can happen when we
have separate layers for primary and backup.
2025-07-01 11:27:03 +05:30
Raja Subramanian
5d636acffb
Limit taking rids from SDP only in WHIP path. ( #3771 )
...
Some clients are not sending q;h;f; ordering which affects layer/quality
mapping.
2025-07-01 08:20:20 +05:30
Raja Subramanian
4d09e5b564
Log SDP rids to understand the mapping better. ( #3770 )
...
* Log SDP rids to understand the mapping better.
* return early when layer is invalid
2025-06-30 09:21:44 +05:30
Raja Subramanian
c69f1aae87
Revert "Temporary change: use pre-defined rids" ( #3769 )
...
* Revert "Temporary change: use pre-defined rids (#3767 )"
This reverts commit d11da5f5fa .
* clean up
* add test and simplify
* clean up
2025-06-30 07:34:58 +05:30
Paul Wells
8197438e5f
bounds check layer index ( #3768 )
...
* bounds check layer index
* tidy
2025-06-29 18:37:26 -07:00
Raja Subramanian
d11da5f5fa
Temporary change: use pre-defined rids ( #3767 )
...
To address a compatibility issue across relay. Will revert this once the
compatibility is addressed.
2025-06-29 20:00:21 +05:30
Raja Subramanian
9fc4ddbe47
ClearAllReceivers interface is used to pause relay tracks. ( #3761 )
...
Restore interface.
2025-06-24 16:27:14 -07:00
Raja Subramanian
1216113b35
Do not need to just clean up receivers. Remove that interface. ( #3760 )
...
The tracks are always closed.
2025-06-24 12:54:34 -07:00
Raja Subramanian
ef6c38cee5
Log previous allocation to see changes. ( #3759 )
2025-06-24 12:51:42 -07:00
Raja Subramanian
01bf96855d
SVC with RID -> spatial layer mapping ( #3754 )
...
* SVC with RID -> spatial layer mapping
There are cases where an SVC track comes in with a RID.
As there is no RID announced in SDP, it maps to invalid layer.
Seems to happen with older browsers.
* test
2025-06-23 12:45:13 -07:00
Raja Subramanian
c481396f5b
offer could be nil when migrating. ( #3752 )
2025-06-23 09:04:16 -07:00
cnderrauber
8c2fc0bcd9
Fix svc encoding for chrome mobile on iOS ( #3751 )
...
The browser could send rtp packets of svc encoding without
DD extension while the sdp negotiates it, sfu detects extension
in rtp packet for this case.
2025-06-23 22:39:12 +08:00
David Colburn
e467daa0d4
move egress roomID load to launcher ( #3748 )
...
* move egress roomID load to launcher
* regenerate
2025-06-20 16:22:19 -04:00
Anunay Maheshwari
3783ebb320
feat(cli): update to urfave/cli/v3 ( #3745 )
...
* feat(cli): update to urfave/cli/v3
* fix(cli/v3): int/uint handling with reflection
* fix(cli/v3): better type convertion handling
2025-06-20 16:58:44 +05:30
Pablo Fuente Pérez
03d3fcab43
Fix data packet ParticipantIdentity override logic in participant.go ( #3735 )
...
* Fix data packet ParticipantIdentity override logic in participant.go
https://github.com/livekit/agents/issues/2554
* Update pkg/rtc/participant.go
---------
Co-authored-by: David Zhao <david@davidzhao.com >
2025-06-19 22:58:31 -07:00
Paul Wells
068b43660b
reuse compiled client config scripts ( #3743 )
2025-06-19 14:31:59 -07:00
cnderrauber
e754a86068
return error when moving egree/agent participant ( #3741 )
2025-06-18 15:10:08 +08:00
cnderrauber
7542cf0723
remove unused code ( #3740 )
2025-06-18 10:09:30 +08:00
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
Tobias Fried
8077426312
chore: set workerid on job creation ( #3737 )
...
* chore: set workerid on job creation
* chore: bump deps
2025-06-16 15:30:06 -06:00
Raja Subramanian
5549ab5562
Revert clearing RIDs. ( #3732 )
2025-06-13 23:34:01 -07:00
Raja Subramanian
ae9673130f
Clear rids if not present in SDP. ( #3731 )
2025-06-13 21:02:01 -07:00
Raja Subramanian
0e03390744
Return highest available layer if requested quality is higher than ( #3729 )
...
highest available quality.
2025-06-13 08:44:45 -07:00
cnderrauber
9ce737db31
Add log for dropping out of order reliable message ( #3728 )
2025-06-13 22:08:56 +08:00
cnderrauber
1b95e818c9
Don't check bindState on downtrack.Bind ( #3726 )
...
receiver can be ready before bind
2025-06-13 16:13:15 +08:00
Raja Subramanian
670f927ff6
Set and use rid/spatial layer in TrackInfo. ( #3724 )
...
* Set and use rid/spatial layer in TrackInfo.
* test
2025-06-12 23:22:11 -07:00
Raja Subramanian
a9e2911645
Add Id to SDP signalling messages. ( #3722 )
...
* Add Id to SDP signalling messages.
Allows matching up offer/answer.
For now, the subscriber answer just logs if there is a mismatch.
* correct variable name
* test
* fixing rid
* revert
* clean up
2025-06-12 14:39:25 -07:00
Raja Subramanian
4ec828ce00
Fix bug with SDP rid, clear only overflow. ( #3723 )
2025-06-12 14:04:13 -07:00
Raja Subramanian
8f6c3a9b4e
Clear rids from default for layers not published. ( #3721 )
2025-06-12 08:59:16 -07:00
Raja Subramanian
ce07740e11
Add simulcast support for WHIP. ( #3719 )
...
* Add simulcast support for WHIP.
- General change to have rids be anything.
- One issue is rid ordering not matching quality ordering, will need
some dynamic layer quality determination for that.
* clean up
* deps
* test
2025-06-11 19:40:38 -07:00
Raja Subramanian
e98fb94fd2
Create client config manager in room manager constructor. ( #3718 )
...
* Create client config manager in room manager constructor.
Remove it from wire to be consistent with cloud which does hot reload.
* disable advanced codecs on iOS when using JS SDK
2025-06-10 21:06:49 -07:00
cnderrauber
fdf9b85290
e2e reliability for data channel ( #3716 )
...
* e2e reliability for data channel
* solve comments
2025-06-11 11:14:30 +08:00
Paul Wells
35dda8ea43
swap pub/sub track metrics ( #3717 )
2025-06-10 11:27:34 -07:00
Raja Subramanian
1d9a43667a
Do not require create permission for WHIP participant. ( #3715 )
2025-06-09 22:19:00 -07:00
Raja Subramanian
e0aea17a06
Flush stats on close ( #3713 )
2025-06-09 09:33:34 -07:00
Paul Wells
630aa7d970
implement observability for room metrics ( #3712 )
...
* implement observability for room metrics
* deps
* test
* test
* Raja feedback
* cleanup
2025-06-09 09:32:58 -07:00
Paul Wells
e7f0294e3f
remove unused ws signal read loop ( #3709 )
...
* remove unused ws signal read loop
fixes #3708
* tidy
2025-06-08 20:07:55 -07:00
David Zhao
b0ab95baf7
warn about credentials when used in tokens ( #3705 )
...
* warn about credentials when used in tokens
* go mod update
2025-06-06 22:46:23 -07:00
Raja Subramanian
a72ce30f50
Small changes to add/use helper functions for length checks. ( #3704 )
2025-06-06 18:00:10 -07:00
Denys Smirnov
425f6bb3a9
Allow passing extra attributes to RTC endpoint. ( #3693 )
2025-06-06 14:40:06 +03:00
Raja Subramanian
758e176250
Add a trend check before declaring joint queuing region. ( #3701 )
...
* Add a trend check before declaring joint queuing region.
Seeing cases where the propagated queuing delay drops from one group to
next. Both groups are above threhold. It also recovers majority of the
time. So, introducing a trend check before declaring that queuing delay
is in joint queuing region. It is set 0.8 by default which means the
queueing delay should be trending up strongly before being declared
joint queuing region.
* deps
2025-06-05 18:51:23 -07:00
Raja Subramanian
fc867c5b8e
Webhook prom stats ( #3697 )
2025-06-04 14:31:28 -07:00
Denys Smirnov
0e17916f15
Do not use Redis pipeline for SIP delete. Fixes Redis clustering support. ( #3694 )
2025-06-03 18:25:50 +03:00