mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-24 06:31:20 -08:00
refactor(auto-thumbnail): [PKG-AUTO-THUMB-03] wait for native frame presentation
This commit is contained in:
1 parent
a128706fe7
commit
8c57d56f17
21 files changed
+10716
-296
No files matched your search
@@ -0,0 +1,47 @@
|
||||
# PKG-AUTO-THUMB-03 原生帧就绪检查点(doing)
|
||||
|
||||
新增frames.js,集中拥有每次抽帧的数据等待、seek、原生帧回调和30秒deadline。
|
||||
同时支持requestVideoFrameCallback及cancelVideoFrameCallback时,等待loadeddata后
|
||||
注册回调再seek,必须seek完成且帧已呈现才draw。无该能力时仍用已记录的seek路径,
|
||||
不以UA字符串选择浏览器。每次重试递增回调身份,阻止被取消的旧回调完成当前帧;
|
||||
每个job只注册一个统一清理函数,避免逐帧累计清理闭包。
|
||||
|
||||
销毁、切源、正常完成及失败均释放timer、帧回调、data/seek处理器。句柄0有效;
|
||||
同步注册/销毁交错产生的迟到句柄也回收。清理一个资源抛错仍继续其他清理,失败保留
|
||||
之前的可用预览。等待超时使用既有console.warn通道;未新增公开参数、结果或依赖,
|
||||
不改变注册Promise和目标时间公式。30秒是每次数据/seek/帧等待上限,尚不是全部网络、
|
||||
编码、后台标签和整体内存预算;不声称已完成这些边界。
|
||||
|
||||
新增19项回归,纳入test:unit及test:auto-thumbnail。此前a128706f检查点19项为
|
||||
2通过/17失败;两项保留原兼容行为,其余覆盖就绪、两种事件顺序、超时、取消、重试、
|
||||
重复/迟到回调、同步重入、清理异常及旧预览保留。加上原33项生命周期共52项。
|
||||
|
||||
提交前追加审查抓到readyState getter触发销毁后仍可能装回loadeddata处理器;新测试
|
||||
在修复前19项18通过/1失败,修复为读完就绪状态后再核对任务身份。此前1817项CI和84项
|
||||
原生结果保留为中间证据,最终证据使用frames-final文件,重新构建后核对全部候选。
|
||||
|
||||
真实像素验收增强为:有原生帧回调时必须五格全部正确,包括单独紫色首帧、第二格红色、
|
||||
合法黑色、蓝色和黄色,同时核对实际呈现时间。空间样本防止1px平均色伪修复。新增原生
|
||||
回调被挂起期间destroy/restart测试,之后重复交付也不生成URL/写入/恢复decoder。
|
||||
无原生回调的浏览器相应场景使用原生Blob挂起,报告明确标出能力和路径。
|
||||
|
||||
Chromium/Firefox此前的早期像素问题进入候选验证;Windows WebKit26.6没有该帧回调,
|
||||
前两格继续诊断而不验收,仅第2-4格沿用已有像素断言。未将实验或局部通过扩成全浏览器
|
||||
正确,也未关闭AUTO-THUMB-PIXEL-01、标记03完成。物理Safari及核心组合仍属后续验收。
|
||||
|
||||
正常构建再生三份dist及docs副本,架构地图和任务/风险证据同步。TS仍留在04。
|
||||
见[验证](../baselines/auto-thumbnail-frame-presentation.json)。
|
||||
|
||||
最终源码/main/legacy各52项单元通过;原生源码两轮42项及main/legacy各21项,共84项
|
||||
通过,0重试/跳过/未处理页面错误。完整CI1818项(1572单元+14工程+232基线)、339生产TS
|
||||
及4种实际bundle入口通过;产物与docs副本字节相等。旧产物新浏览器断言2通过/4失败,
|
||||
包括缺少原生呈现证据和Firefox早期错误像素;不得称为所有旧浏览器都出现同一故障。
|
||||
|
||||
独立密集采样实验在Chromium/Firefox对0/.005/.01/.02/.03/.04秒均收到帧回调,前五个
|
||||
目标保留紫色首帧,.04秒为红色,未出现同一帧重复采样导致等待卡死。该实验不是完整
|
||||
默认100格候选验收。WebKit另测createImageBitmap(video)仍有首帧偏移,VideoFrame
|
||||
不可用;保留原始结果,不据此豁免像素风险。
|
||||
|
||||
去B帧的独立媒体对照中,Chromium仍读到紫色首帧,而Windows WebKit隐藏元素0秒
|
||||
仍为空、.01秒已变红,普通元素的一轮seek还超时;不能把问题简单归因于B帧,也不能
|
||||
统一偏移.04秒。该诊断保留输入指纹和生成命令,未修改生产回退算法或声明能力豁免。
|
||||
Reference in new issue
Block a user