cnderrauber
f08fc581e0
disable sctp zero checksum for unknown sdk ( #3321 )
2025-01-10 11:55:28 +08:00
cnderrauber
f846c7719b
Disable SCTP zero checksum for old go client ( #3319 )
...
Old go-sdks with old pion/sctp version can't
process unknown parameters.
2025-01-09 13:22:23 +08:00
Raja Subramanian
0d9bad489c
Remove duplicate SSRC get. ( #3318 )
...
The duplicate was not checking for `nil`. The SSRC is already loaded
with proper nil check before.
2025-01-08 22:50:34 +05:30
David Zhao
4016e3dc5a
version bump to 1.8.3 ( #3312 )
...
1.8.2 was botched as well due to a bad tag
v1.8.3
2025-01-07 00:08:05 -06:00
Raja Subramanian
3b0077f2fe
Log connection quality changes. ( #3311 )
...
Also remove the connection quality drop prom as it is unused and also
adds state/complexity.
2025-01-07 10:58:31 +05:30
David Zhao
ca767a988e
bump to v1.8.2 ( #3310 )
v1.8.2
2025-01-06 19:55:24 -08:00
Raja Subramanian
0dde347615
Use contiguous groups to determine queuing region. ( #3308 )
2025-01-07 04:00:39 +05:30
renovate[bot]
ec54d357e4
Update golang.org/x/exp digest to 7588d65 ( #3309 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 14:49:07 -06:00
Raja Subramanian
bfbc4fa81f
Remove alloc in packet forwarding path. ( #3305 )
...
* Remove alloc in packet forwarding path.
Unlikely logger creation was doing allocs. Replace it with a function
like in rtpstats_receiver.go so that allocations do not happen
unnecessarily.
* variable rename
* one more place
2025-01-06 11:48:27 +05:30
renovate[bot]
c792d15244
Update golang.org/x/exp digest to 7d7fa50 ( #3303 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 18:20:12 -06:00
cnderrauber
384e21abc0
vp8 temporal layer selection with dependency descriptor ( #3302 )
...
* vp8 with dd
* make temporal layer selection work with DD
* fix test
---------
Co-authored-by: boks1971 <raja.gobi@tutanota.com >
2025-01-03 21:26:03 +08:00
David Zhao
dd87f1ccc4
1.8.1 release ( #3301 )
...
* 1.8.1 release
* remove entries
2025-01-03 00:31:56 -06:00
renovate[bot]
4f6d44c258
Update module github.com/elliotchance/orderedmap/v2 to v2.7.0 ( #3299 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 11:26:20 -06:00
Raja Subramanian
238333985b
BWE reset for probing. ( #3295 )
2024-12-31 23:22:47 +05:30
David Zhao
ac43e8a640
fix completed job status updates causing workers to reconnect ( #3294 )
2024-12-31 01:57:46 -06:00
renovate[bot]
cffedb2c1f
Update go deps ( #3071 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-28 19:50:03 -06:00
David Zhao
6acb4bbd61
add room/participant to logger context for SIP APIs ( #3290 )
2024-12-26 00:23:21 -06:00
renovate[bot]
8ab65a3ea8
Update module github.com/livekit/protocol to v1.30.0 ( #3211 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-25 21:28:59 -06:00
Artur Melanchyk
2eaf84ad66
Reduce memory allocation in WritePaddingRTP / WriteProbePackets ( #3288 )
...
* allocate memory once in WriteProbePackets
Signed-off-by: Artur Melanchyk <artur.melanchyk@gmail.com >
* allocate memory once in WritePaddingRTP
Signed-off-by: Artur Melanchyk <artur.melanchyk@gmail.com >
---------
Signed-off-by: Artur Melanchyk <artur.melanchyk@gmail.com >
2024-12-25 21:01:21 -06:00
cnderrauber
3ba379ab4c
Disable av1 for safari ( #3284 )
...
M3 chip/iphone15 pro has av1 enabled for safari but
its hardware decoder can't decode av1 svc encoding.
2024-12-23 10:49:17 +08:00
Raja Subramanian
61dbbf6c56
Start stream allocator after creating peer connection. ( #3283 )
...
* Start stream allocator after creating peer connection.
RTTGetter relies of peer connection being created/started.
Starting stream allocator before creating peer connection could race.
* set bwe interceptor
2024-12-22 23:05:55 +05:30
Raja Subramanian
6e9964e80b
TWCC tweaks ( #3282 )
...
* SSBWE experimentation
* dqr hysteresis
* fixes
* fmt
* more relaxed DQR
* pps proportional to duration
* clean up
* clean up
* don't need gratuitous up allocation
2024-12-21 23:08:38 +05:30
cnderrauber
8fa1127724
Disable data channel throttle by default ( #3281 )
...
* Disable data channel throttle by default
* data race
* err type
2024-12-21 12:08:54 +08:00
Raja Subramanian
92ae45cf07
Keep more state for easier logging/debuggability ( #3280 )
2024-12-21 09:33:04 +05:30
Raja Subramanian
8cf6cbb826
Structured logging of ParticipantInit ( #3279 )
...
* Structured logging of ParticipantInit
* use pointer
2024-12-20 11:12:50 +05:30
cnderrauber
08b58a23af
Refine data slow test ( #3278 )
2024-12-20 10:58:00 +08:00
Raja Subramanian
c8b644934f
Update deque and friends. ( #3276 )
2024-12-20 07:16:14 +05:30
Raja Subramanian
36338bab5c
Address another panic. ( #3274 )
...
* Address another panic.
If receiver is not resolved yet, prevent race of access dummy receiver.
* reset callback only if there is receiver
* missed return
2024-12-20 00:17:06 +05:30
Raja Subramanian
3251156bd3
Address a data race reported by CI ( #3273 )
...
in this run https://github.com/livekit/livekit/actions/runs/12396846876/job/34605820002
2024-12-19 23:16:48 +05:30
Raja Subramanian
1084866781
Update full subscriber config based on congestion control config. ( #3272 )
2024-12-19 18:43:37 +05:30
cnderrauber
99364f39d0
Keep negotiated codec parameters in Downtrack.Bind ( #3271 )
...
the context's codec parameters will be set to the binded codec after Bind
2024-12-19 16:16:09 +08:00
Raja Subramanian
02117a4d46
Panic fixes ( #3270 )
...
Also, do negotiated down track extensions after bind.
2024-12-19 11:52:43 +05:30
Raja Subramanian
2088870d95
check of 0 RTX payload in probe and use padding if 0 ( #3269 )
2024-12-19 09:18:32 +05:30
Raja Subramanian
edb426bba4
Log payload RTX. ( #3268 )
...
Seeing some instances where RTX is not getting set up.
2024-12-19 02:03:26 +05:30
Raja Subramanian
86628de6e9
Lower down trend threshold (revert change in previous PR) and fix typos. ( #3267 )
...
* fix typo
* lower CTR threshold
2024-12-19 00:03:56 +05:30
Raja Subramanian
b6e99e249b
Better naming/logging for send side bwe ( #3264 )
...
* Better naming/logging for send side bwe
* Check BWE congestion state before doing optimal allocation.
It is possible that BWE declares congestion, but the estimated bandwidth
may still be enough to accommodate all tracks. So, stream allocator
would still not in DEFICIENT state. On a new track allocation, it will
get optimal allocation although BWE is in congested state.
Take BWE congestion state into consideration before doing any track
allocation.
* get congestion state from BWE rather than caching it in stream allocator
* get states from update
* log contributing groups only when they are small in number
* get oldest group always
* notify only when estimate is dropping
* require stronger CTR down trend
* maintain min/max group
* relax thresholds to declare congestion a bit
2024-12-18 21:38:13 +05:30
cnderrauber
90804c553e
more relax on subscriber bitrates ( #3265 )
2024-12-18 17:02:06 +08:00
Raja Subramanian
45b0b0312f
Remove spammy log ( #3263 )
2024-12-18 13:34:20 +05:30
cnderrauber
713e67cd52
Thottle the publisher data channel sending when subscriber is slow ( #3255 )
...
* Thottle the publisher data channel sending when subscriber is slow
Avoid the publisher overwhelm the sfu data channel buffer when
the subscriber has lower receive bitrates. It will drop message
if the subscriber is considered too slow to block the entire room.
* Enable nack in mediaengine and disable it in transceiver as need
pion doesn't support per transciver codec configuration, so the nack of this session will be disabled
forever once it is first disabled by a transceiver.
https://github.com/pion/webrtc/pull/2972
2024-12-18 10:51:34 +08:00
Raja Subramanian
28310b670f
Update RTC config with congestion control config ( #3262 )
2024-12-18 00:18:13 +05:30
cnderrauber
b684da380e
log frame number jump on dd structure updating ( #3261 )
2024-12-17 17:31:05 +08:00
dependabot[bot]
1bacbfcbe9
Bump golang.org/x/crypto from 0.29.0 to 0.31.0 ( #3260 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.29.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.31.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 11:08:57 +05:30
Raja Subramanian
b3efdfcfe5
Up allocate to available headroom. ( #3259 )
...
There are cases where the probe result has enough headroom to up
allocate all deficient tracks. Mainly happens after a loss scenario
where the estimate is actually still high.
After boosting once, there was a check for the track to hit the desired
layer before boosting again. But, that is not really necessary. Can
boost target and forwarder should resolve to the latest target.
Removing that check in the forwarder.
Also, adding a gratuitous boost check in stream allocator periodic ping
when deficient to look for opportunities to boost.
2024-12-17 10:49:14 +05:30
Raja Subramanian
aef80d92d0
Handle REMB on RTX RTCP ( #3257 )
2024-12-16 17:37:03 +05:30
Raja Subramanian
192ecbfc88
Dampen oscillations in loss based congestion detection when using TWCC. ( #3256 )
...
* Rework congestion detection state machine
* WIP
* fmt
* clean up
* revert config
2024-12-16 15:26:23 +05:30
Raja Subramanian
699cd9c26c
BWE minor tweaks ( #3254 )
...
- Clear probe id in downtracks when aborting probe
- a bit of clean up
2024-12-16 08:04:24 +05:30
Raja Subramanian
be65d24333
Add method to check for probe goal reached ( #3253 )
...
* Check for early probe end
* use old packets for probing
* fmt
2024-12-15 23:34:07 +05:30
Raja Subramanian
cfe3178542
Reconcile RTP stats with RTX data. ( #3252 )
...
* RTX RTPStats
* WIP
* RTCP RTX handler
* reconcile rtx
* cache size
* clean up
* test
* clean up
2024-12-15 14:33:02 +05:30
Raja Subramanian
34ccc2a578
Remote BWE tweaks ( #3251 )
2024-12-14 15:39:19 +05:30
Raja Subramanian
8cfea87ad0
Use RTX channel for bandwidth probing ( #3250 )
2024-12-14 11:51:58 +05:30