[codex] Feed NetworkBoost signals into ABR#32
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 Walkthrough走查该 PR 在自适应码率控制服务中集成系统网络 QoS 与场景信息,扩展 ABR 报告数据,并在本地 fallback 模式下引入基于系统场景的动态缓解机制。新增 TTL 与冷却时间机制确保数据新鲜度与避免频繁重复触发。 变更自适应码率控制系统数据集成与场景缓解
🎯 3 (中等) | ⏱️ ~25 分钟
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
034d93e to
b90a1fd
Compare
Rebase PR changes onto current master and keep the ABR/NetworkBoost updates while preserving the CI SDK fixes already landed on master.
212b775 to
11ccb52
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@entry/src/main/ets/service/streaming/AdaptiveBitrateService.ets`:
- Around line 399-405: getSceneMitigation() currently updates
lastSceneMitigationKey and lastSceneMitigationTime before attempting a bitrate
change, which causes a cooldown even if onBitrateChange() fails; instead, remove
the writes to lastSceneMitigationKey/Time from getSceneMitigation() and move
them into the success path of onBitrateChange() (only set these fields after the
bitrate change completes successfully), and apply the same change for the other
similar block (the code around lines 421-473) so cooldown is only recorded on
successful adjustments.
- Around line 235-237: The current sceneListener stores a relative
weakSignalStartSec inside the cached scene snapshot (latestSystemScene), causing
the same seconds value to be reused for the TTL duration; instead, when
receiving a scene in sceneListener convert relative weakSignalStartSec into
absolute timestamps (e.g. weakSignalStartAt / weakSignalEndAt using
latestSystemSceneAt or Date.now()) and store those absolute times on
latestSystemScene (or alongside it), and then change getSceneMitigation() to
compute remaining seconds from now against those absolute timestamps rather than
reading a stale relative weakSignalStartSec; apply the same conversion to the
other similar block referenced (lines ~353-375).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 19887984-f3cb-4e4d-aaf9-fe16eafca15c
📒 Files selected for processing (2)
entry/src/main/ets/service/streaming/AdaptiveBitrateService.etsentry/src/main/ets/service/streaming/NvHttp.ets
Summary
Why
The previous API24 NetworkBoost follow-up only surfaced net scene changes to the UI. This makes the signal actionable for streaming quality: the ABR controller can react before packet loss becomes visible in the native stream stats.
Validation
git diff --checksuccessfully.SDK component missing/ invalidDEVECO_SDK_HOMEbefore reaching ArkTS compilation.Summary by CodeRabbit
发布说明