mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-18 02:21:20 -08:00
refactor(dash): [PKG-DASH-03] adapt SDK generations and own menu lifecycles
This commit is contained in:
1 parent
762cc63431
commit
7de04573b6
24 files changed
+2107
-533
No files matched your search
@@ -0,0 +1,36 @@
|
||||
# PKG-DASH-03:两代 SDK 适配、菜单与生命周期拆分
|
||||
|
||||
起点 `762cc634`。把单一入口拆为入口生命周期、SDK 方法适配、selector 模型、菜单所有权
|
||||
四个模块。保持 JavaScript 完成本步结构与行为修复,下一步 04 再迁移严格 TS 和公开声明。
|
||||
包内 [架构图](../../packages/artplayer-plugin-dash-control/ARCHITECTURE.md) 随实际实现维护。
|
||||
|
||||
## 行为修正
|
||||
|
||||
- 恢复发布版 dash.js 4.x 方法表,同时保留工作区 5.x 稳定 ID;不使用过滤后的下标选画质。
|
||||
- 空拓扑、禁用菜单、渲染失败清理自有 UI;换 SDK/重建/销毁后旧引用无副作用。
|
||||
- 销毁释放 ready/restart/destroy 订阅,安装异常回滚;不销毁调用方 SDK,不误删调用方替换的菜单。
|
||||
- 当前重复标签保留实际当前 key/track;零 ID、唯一克隆轨道高亮正确,歧义轨道不伪造选中。
|
||||
- SDK/getName 重入使旧 revision 失效;回调销毁后停止后续格式化、SDK 写入和提示。
|
||||
清理中同步重建时只释放旧所有权,不删除重建的新菜单。
|
||||
|
||||
公开工厂、同步 update/选中返回、getName 身份/参数、通知顺序、DOM/CSS hooks 与包入口保持。
|
||||
错误继续同步传播原对象,次要清理异常不覆盖原错误。上述历史缺陷作为有意修正记录,
|
||||
不把冻结旧实现的缺陷观察改成候选期望。README 更新 SDK 适配说明,没有改 demo 或增加依赖。
|
||||
|
||||
## 验证
|
||||
|
||||
最初 22 项新增回归先运行旧源码;后续重入和格式化关闭的两组红灯另保留。正式三格式加入
|
||||
生命周期回归时发现 4 项 Node VM 数组原型比较问题,实际内容相同;用本地 Array.from
|
||||
比较原有精确内容,未放宽断言。所有日志和输入指纹见 [执行证据](../baselines/dash-runtime.json)。
|
||||
|
||||
最终源码 116 项、包含三格式及两代 SDK 的 Node 266 项通过;正式 main/legacy 浏览器各
|
||||
84 项通过。完整 CI 712 项(661 单元、14 工程、37 基线)通过;包三格式构建成功,
|
||||
计划/风险/本地链接校验通过。没有重试或跳过。DASH-LIFE-01 关闭,SDK/实际轨道风险仍 open。
|
||||
当前 217 项:73 done、3 doing、141 todo。已完成结构步,不计为 TS 迁移或发布完成。
|
||||
|
||||
真实 DOM 浏览器测试扩充到两种候选 SDK、两代核心及空拓扑/销毁:每格式 84 项。
|
||||
仍是可控 SDK 方法与原生 MP4,不是实际 dash.js/MPD/ABR 验收。SDK/状态的真实媒体风险
|
||||
继续由 05 接续;04 精确类型、06 分发、真机和全局发布复盘没有被本步替代。
|
||||
|
||||
本步通过标准构建脚本生成 dist/docs compiled,未手改产物。独立本地提交;不推送、不发布。
|
||||
回退本提交同时撤回结构、行为修正、回归和产物,恢复重构前仅支持 5.x 的源码;该限制需知悉。
|
||||
Reference in new issue
Block a user