Repository navigation
feat(sdk): adaptive quality and rate for topic subscriptions - #5053
paul-nechifor wants to merge 8 commits into
Conversation
There was a problem hiding this comment.
go2 replay realtime (arm64)
Details
| Benchmark suite | Current: 62177a6 | Previous: 7312553 | Ratio |
|---|---|---|---|
peak memory |
1719.859 MB |
1744.168 MB |
0.99 |
peak threads |
370 threads |
371 threads |
1.00 |
network (transport) |
2728.311 MB |
2733.714 MB |
1.00 |
disk write |
1.891 MB |
1.625 MB |
1.16 |
instructions |
138.787 G |
137.257 G |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
Codecov Report❌ Patch coverage is @@ Coverage Diff @@
## paul/feat/topic-video-sdk #5053 +/- ##
===========================================================
Coverage 83.92% 83.93%
===========================================================
Files 1870 1870
Lines 183842 184030 +188
Branches 15147 15160 +13
===========================================================
+ Hits 154297 154471 +174
- Misses 25620 25630 +10
- Partials 3925 3929 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 6 files with indirect coverage changes 🚀 New features to boost your workflow:
|
e73e49a to
035d7af
Compare
[Medium impact] The changes reach browser topic subscriptions, relay delivery feedback, and direct-video providers. Fix the video freeze race, lost receiver callback, and bitrate increases before merging. Findings
SummaryAdds automatic topic quality and rate changes, delivery statistics, congestion feedback in pongs, and in-place video reconfiguration.
Reviews (1) · Last reviewed commit: "test(cockpit): implement RTT on the fake..." · Reviewed by Greptile |
375362e to
44bf747
Compare
44bf747 to
359a55b
Compare
359a55b to
76634cc
Compare
76634cc to
3fdaead
Compare
3fdaead to
95ace8a
Compare
95ace8a to
c14dd3a
Compare
c14dd3a to
83d15a7
Compare
83d15a7 to
8d2689d
Compare
8d2689d to
3fcfbb9
Compare
3fcfbb9 to
7e8ab2f
Compare
7e8ab2f to
635e74e
Compare
- provider: an encode that already applied a reconfigure keeps its IDR; only one encoded before the settings reached the worker is dropped - sdk: the video receiver callback lives on the handle, so a group change (priority, keep, source) keeps polling receiver statistics - sdk: a resolution rung never raises the bitrate above the rungs before it - sdk: a page update is checked against the ranges before the cap applies
635e74e to
62177a6
Compare
Why do we need this?
On slow connections, the browser SDK keeps requesting full camera and point cloud streams. This leads to stale or missing frames.
What is this feature?
Added automatic adjustments that lower quality or frame rate when the connection is congested and restore the requested settings when it recovers. Lower priority streams are reduced first, and a single video viewer can change quality without reconnecting. Some slow-link benchmark targets still fail.
How to manually run this
Which issue(s) does this PR close?
Fixes
Checklist