• Joined on 2026-04-07
dailz closed issue dailz/wl-webrtc#18 2026-06-20 20:56:49 +08:00
[filler] 停滞期间 filler 帧循环两端浪费:3245 filler vs 3209 dedup
dailz pushed to master at dailz/wl-webrtc 2026-06-20 20:36:57 +08:00
9a522e2f99 fix(webrtc): PLI rate limiting + bitrate cap + VBV units (closes #23)
dailz closed issue dailz/wl-webrtc#23 2026-06-20 20:36:57 +08:00
[webrtc] PLI 驱动的 keyframe 风暴 + 码率过度攀升导致秒级延迟
dailz commented on issue dailz/wl-webrtc#23 2026-06-20 20:19:07 +08:00
[webrtc] PLI 驱动的 keyframe 风暴 + 码率过度攀升导致秒级延迟

🔍 更新:发现更根本的根因 —— VBV 单位 bug

在设计修复方案时,通过 Oracle 审核和 [x264 源码](https://github.com/mirror/x264/blob/c24e06c2e184345ceb33eb20a15d1024d9fd3497/encoder/ratecontrol.c#L65…

dailz opened issue dailz/wl-webrtc#23 2026-06-20 20:05:00 +08:00
[webrtc] PLI 驱动的 keyframe 风暴 + 码率过度攀升导致秒级延迟
dailz closed issue dailz/wl-webrtc#19 2026-06-20 19:57:25 +08:00
[startup] WebRTC 客户端连接前编码器空转 6 秒(encode 180+ 帧到 void)
dailz pushed to master at dailz/wl-webrtc 2026-06-20 19:57:25 +08:00
f38adf70f9 fix(state_portal): gate handle_pw_frame on WebRTC paused state (closes #19)
dailz closed issue dailz/wl-webrtc#22 2026-06-20 18:48:12 +08:00
[shutdown] Total frames 日志在退出时打印两次
dailz commented on issue dailz/wl-webrtc#22 2026-06-20 18:47:35 +08:00
[shutdown] Total frames 日志在退出时打印两次

修复已合并

Commit: 92760dd fix(state_portal): make shutdown() idempotent to prevent duplicate log lines (#22)

根因(代码审计 + Oracle 二次审核确认)

main.rs:370 显式调用…

dailz pushed to master at dailz/wl-webrtc 2026-06-20 18:46:57 +08:00
92760dd8ee fix(state_portal): make shutdown() idempotent to prevent duplicate log lines (#22)
0aba0e651e fix(stats): real encode thread timing via SwEncodeTiming + take_timing (#17)
36cee9d9dd fix(webrtc): force IDR on KeyframeRequest via forced-idr=1 + pict_type (closes #16)
Compare 3 commits »
dailz pushed to main at dailz/go-kv 2026-06-18 13:59:19 +08:00
57e7525ddf fix: validate physical record length > 0 and type (H1+H2)
dailz pushed to main at dailz/go-kv 2026-06-18 13:41:17 +08:00
408138b3c8 fix: prevent send-on-closed-channel panic in concurrent Put/Delete + Close (C7)
94da39bb79 fix: use CRC-32C (Castagnoli) instead of IEEE for WAL (C1)
108059146d fix: write correct startSequence on segment rotation (C8)
3d2d0ea025 fix: treat non-last segment corruption as hard error (C4)
273229ac9b fix: persist WAL tail truncation per design protocol (C5+H8)
Compare 28 commits »
dailz closed issue dailz/wl-webrtc#17 2026-06-14 08:51:55 +08:00
[stats] output_bps / frame_bytes_max / sws_* 永远为 0(编码线程硬编码 timing 字段)
dailz commented on issue dailz/wl-webrtc#17 2026-06-14 08:51:35 +08:00
[stats] output_bps / frame_bytes_max / sws_* 永远为 0(编码线程硬编码 timing 字段)

已实现并提交 (0aba0e6)

按 Oracle 审核修正后的方案实现:54 insertions, 9 deletions, 2 文件。

根因

encode_thread_loop (state_portal.rs:651-655) 硬编码 `sws_us: 0, output_bytes:…

dailz commented on issue dailz/wl-webrtc#20 2026-06-14 08:26:55 +08:00
[stats] encoded_fps 被人工钳制在 ~30,与目标 60 不符且不能反映真实质量

Dependencies

Blocked by: #17 — encoded_fps 钳制诊断需要 stats 数据(frame_bytes_max / output_bps

dailz commented on issue dailz/wl-webrtc#18 2026-06-14 08:26:54 +08:00
[filler] 停滞期间 filler 帧循环两端浪费:3245 filler vs 3209 dedup

Dependencies

Blocked by: #17 — 需要 stats 量化 filler 浪费程度(3245 filler vs 3209 dedup) Blocks: #15 — stall 缓解依赖本 issue 的 filler 策略改进

dailz commented on issue dailz/wl-webrtc#15 2026-06-14 08:26:53 +08:00
[compositor stall] ~60% of session time stuck in frame-delivery stall (KWin Portal/PipeWire)

Dependencies

Blocked by:

  • #17 — stall 诊断和验证需要真实 stats 数据(output_bps / frame_bytes_max / sws_*
  • #18 — stall 缓解依赖 filler 策略改进(filler 是 stall 的应对措施)

修…

dailz commented on issue dailz/wl-webrtc#17 2026-06-14 08:26:52 +08:00
[stats] output_bps / frame_bytes_max / sws_* 永远为 0(编码线程硬编码 timing 字段)

Dependencies

Blocks:

  • #15 — stall 诊断需要 output_bps / frame_bytes_max 等真实 stats 数据
  • #18 — filler 浪费量化需要 stats
  • #20 — encoded_fps 钳制诊断需要 stats

建议优先修复本…

dailz commented on issue dailz/wl-webrtc#16 2026-06-14 08:19:54 +08:00
[keyframe] WebRTC KeyframeRequest 响应延迟 2.1 秒,期间 152 个 P 帧被丢弃

验证结果:修复完全生效

Release 二进制捕获会话(3372 行日志,5 次 keyframe 请求):

dailz closed issue dailz/wl-webrtc#16 2026-06-14 00:11:09 +08:00
[keyframe] WebRTC KeyframeRequest 响应延迟 2.1 秒,期间 152 个 P 帧被丢弃