0
Fork 0
mirror of https://github.com/Silent1566/webhtv.git synced 2026-10-18 07:09:16 +00:00

fix(mpv): 恢复电视端自动电视直出,移除遗留全局暂停开关

自动输出模式的电视直出被 506639c9b0 的临时 kill switch
(SURFACE_AUTO_STABILITY_GUARD_ENABLED=true) 永久否决:isAutoSurfaceDirectEnabled()
恒为 false,resolveSurfaceDirect() 的 OUTPUT_AUTO 分支也恒为 false,导致电视端自动档
只能走 GPU 合成 + 帧拷贝,4K 高帧率片源更容易掉帧与音频欠载。

22f2333317 已明确要求生产环境保留自动直出,且 P4-1(907bfca982)/P4-3(8250e2204f)
已加固 native Surface 关闭与终态拆除,该开关只剩副作用。

- 删除 SURFACE_AUTO_STABILITY_GUARD_ENABLED,保留按设备判定的零拷贝保护
  (ZERO_COPY_DEVICE_GUARD_ENABLED + MpvHardwarePolicy);
- isAutoSurfaceDirectEnabled() 的唯一否决条件改为 isZeroCopyBlocked();
- resolveSurfaceDirect() 的 OUTPUT_AUTO 分支恢复 leanback && autoEligible;
- 更新 MpvOutputModePolicyTest 期望值,并在 MpvStabilityGuardSourceTest 增加
  源码级回归断言,防止该全局开关被重新引入。

验证:MpvOutputModePolicyTest 9/9、MpvStabilityGuardSourceTest 6/6、
MpvOutputShutterSourceTest 4/4 全绿;变异测试证明新断言可失败;git diff --check 通过。
未做设备实测,待补项记录于 docs/MPV-AUTO-DIRECT-GUARD-RESTORE-20261017.md。

Verification: MpvOutputModePolicyTest 9/9 + MpvStabilityGuardSourceTest 6/6 + MpvOutputShutterSourceTest 4/4 全绿(BUILD SUCCESSFUL in 5m27s / 还原后 2m);变异测试:重新引入 SURFACE_AUTO_STABILITY_GUARD_ENABLED 后 MpvStabilityGuardSourceTest failures=1(BUILD FAILED in 1m3s)并已从备份还原(grep -c=0);git diff --check OK。未做设备实测,已在 docs 记录待补验证。

Task-Guard: MPV-AUTO-DIRECT-GUARD-RESTORE-20261017
This commit is contained in:
Silent1566 2026-10-17 09:37:55 +08:00
commit 3eee5e8c9d
4 changed files with 154 additions and 8 deletions