稳定版:YouTube SABR 满缓冲试探升档体系(Auto 满缓冲结构性不升档根治) + 4K 死亡行军/跨 codec 换解码器/零帧黑屏连环修复 + 动态长按弹窗下线改直进 UP 主页 + TV 播放器控制栏加稍后再看/评论。 本版整合 v3.0.9-alpha.1~9 全部改动。
变更
- SABR 满缓冲试探升档(alpha.4~7,
docs/youtube-sabr-abr-upshift-notes.md§20-§24):Auto 模式「播 X 档只能测到 ~X 档量级容量」的 pacing 测量死锁根治——满缓冲(升穿 max(15s 地板, 0.8×历史最高水位)且跨线防骑线误触发)且下一档不在失败冷却时,容量/持续闸失真也放行试升一档(逐级爬不动时);试探本身治愈测量(新档 pacing 把 sus/cap 喂到真实量级);配套三修:试探准入 maxObserved≥25s(修 maxObserved 随实例归零致试探线跌落)、失败冷却迁SabrAbrMemory墙钟(修重载洗掉冷却)、试探期缓冲<15s 仍在下漏 2s 宽限后熔断立即降档(防 20s 缓冲 1-2s 穿底)。 - ABR 失败冷却一致化(alpha.7):降档即记 3min 冷却(不区分试探/gated/普通降档——饥饿与 est 崩塌都是不可持续证据),冷却期内该档 gated 与试探一起封锁;锁「被降出的那一档」而非全梯子,更低档升降/更高档试探/手动选档照常,期满恢复原判据。修「冷却只挡试探路径,gated 门读到试探期 pacing 虚高样本,14s/42s 后合法重批同一档,720↔1080↔1440 每 1-3 分钟来回切」。
- 缓冲读数塌方守门(alpha.7):SABR bufferedRange 周期性 reset 触发假 buffer-critical 误降档(真机 17s 零 fetch 播放 17s,bufS 48.8→0.0 物理不可能仍触发 1080p→720p+180s 冷却钉死低档);水位衰减 > 墙钟+2s 余量判读数塌方,跳过水位降档(试探熔断同源误判一并拦),seek 后合法骤减落同一守门方向无害。
- 4K 死亡行军三层根治(alpha.1):①顶档在位时 sustained 分母滑行余量 10s→20s(防起播 stall 冷却到期被同批 4K 期突发样本「合法通过」重准入;est 口径不动防千兆满缓冲滑行误伤);②顶档水位急救阈值 8s→20s(串行管道最坏反应线=评估盲窗 14s+staged 积压排空 8s+替换段传输 4s≈26s,8s 结构性必败;非顶档维持 8s);③getNextChunk 的 holder/selectFormat 移到 updateSelectedTrack 之后重读(对齐上游 media3,原顺序切档决策对同次 staged 段无效,白吃一循环生效延迟)。
- 升档跨 codec 换解码器防护(alpha.2):VP9 粘性梯子(升降档不跨 codec 换解码器,防 1080p↔1440p 跨 H264/VP9 撞 codec 强制回收致帧冻结)+视频冻结看门狗(解码器重建窗口帧停滞兜底整段重载)。
- 全档零帧渲染黑屏画质熔断(alpha.3):音频正常画面全黑的 READY 态看门狗盲区修复(条件扩展 BUFFERING‖ENDED‖(READY&&!isPlaying))、诊断三件(渲染管线/解码器状态/黑屏判定打点)+黑屏画质熔断(连续零帧自动降档重载)。
- TV 彻底退出(alpha.8):两次返回退出改
finishAffinity+killProcess+exitProcess(0)——原finish()只出 Activity,进程仍以缓存任务驻留后台(盒子任务管理器可见,协程/OkHttp 线程活着);3s 确认窗口与播放中不受影响。 - 移动端播放器竖滑手势(alpha.8):左半屏上下滑调亮度、右半屏调音量,在线+离线两播放器接入。
- 动态长按弹窗下线,长按直进 UP 主页/频道(alpha.9,P11-76):动态页长按视频卡片改与其他视频卡片对齐——直接进 UP 主页/B站空间/YouTube 频道。根治弹窗「方向键焦点掉出弹窗」:日志复盘(4 次会话 FocusDiag)证实弹窗内移动正常,焦点丢失发生在确认导航项时弹窗整体卸载、聚焦节点被移除、焦点无主落到侧栏头像并被 autoConfirm 抢开「我的」页;不再用抑制补丁,从根上取消弹窗。
- TV 播放器控制栏加「稍后再看」「评论」(alpha.9,P11-76):弹窗功能搬家——「稍后再看」= 控制栏互动按钮(与点赞/投币/收藏同排,成功 toast,非 PGC 且有 aid 时可见);「评论」= 评论页覆盖层直接叠在播放器上不退出播放(Back 回播放),B站与 YouTube 视频都支持;
player_control_comment补四语言文案。