Repository navigation
mpvEx 1.2.9-rev1020.3
·
56 commits
to master
since this release
相对 v1.2.9-rev0821 的新增与改进
网络播放(WebDAV/SMB/FTP)
- 修复 WebDAV 点击播放黑屏:native 初始化推迟到首帧之后时,主动接管已创建的 Surface,避免错过
surfaceCreated后无限等待。 - 播放请求保留上游 HTTP 语义(200/206/416、Content-Length、Range),不再依赖 PROPFIND 大小或探测缓存,未知长度使用 chunked。
- 瞬时 408/429/5xx 与传输错误在上游响应体交付前重试一次;加载 20 秒未就绪时标记失败并在控件上提示,而不是一直转圈。
- 目录列表按 href 路径剔除集合自身,不再假设服务器把自身排第一。
- 点击播放时取消该目录的时长/缩略图探测,并预热 WebDAV 上游连接。
元数据与预览
- 时长/分辨率改为直读 MP4/Matroska 容器头(WebDAV 有界 head 1MB + 必要时 tail 2MB),解析失败回退系统 retriever + 代理路径。
- 缩略图失败回退按解码模式批量取时间戳;磁盘预览缓存限制 256MB,并按 mtime 淘汰。
- 网络目录收藏持久化,连接删除时级联清理。
启动与性能
- 播放器配置快照按输入指纹复用,内置资源硬链接进快照,去掉每次播放约 15MB 的复制与哈希。
- 目录排序改为派生流,避免元数据更新触发二次排序。
播放器稳定性
- 加载/定位/暂停/截图/外部音轨/字幕统一进入串行命令队列,并按代次校验;统计页、Anime4K 与 typed 调参共用该通道。
- 稳定轨道标识、退出快照与资源租约;连续音轨/字幕操作按最新未确认意图计算。
- 外部字幕读取移至 IO,换片/退休时确定关闭未交付资源。
清理
- 删除不可达的
NetworkStreamingProvider、未使用的下一集预取链路与其它死代码(约 -500 行)。
构建与验证
:app:testStandardDebugUnitTest:通过。- Standard 5 个 ABI、Play Store universal、F-Droid arm64:均通过 zipalign、APK Signature Scheme v2/v3、包名与版本检查。
- 包名:
app.marlboroadvance.mpvex - 版本名:
1.2.9-rev1020.3(versionCode 1520–1524) - 设备验证:WebDAV 目录浏览、缩略图、时长与播放正常。
SHA-256
e81fea162644f5d413f775769581ec80529a818f6fb8b671b86082bdd87fe125 mpvEx-1.2.9-rev1020.3-arm64-v8a.apk
366d7a898173a4c205939e1d955f48f0abb1bdf5f26bde2457367dcf913be6a2 mpvEx-1.2.9-rev1020.3-armeabi-v7a.apk
b73c1afa8268979d74ddc6c870cbf3d3d3d4c559f29253ba2809e47d5d554410 mpvEx-1.2.9-rev1020.3-universal.apk
f351585cf95aa92e78b5a0e45512c33a636997df1a35441d3c64930cf8c70e4c mpvEx-1.2.9-rev1020.3-x86.apk
dc78f5b59297c4ffebe53894a737afc2e89130be8b3a2d6b1f4d314afe31c6c1 mpvEx-1.2.9-rev1020.3-x86_64.apk
564ee00e37b4a1c995870d5245fb722f5f0b7e49493ec40ce16502f72b5f5fc0 mpvEx-playstore-1.2.9-rev1020.3.apk
75830c540cd9823953e8e0ab586919cfd0df5048660029a602b2dfe0f6d39c1f mpvEx-fdroid-1.2.9-rev1020.3.apk
Play Store 版本
mpvEx-playstore-1.2.9-rev1020.3.apk 为 Google Play 变体:universal APK、移除自动更新功能、最小权限。
F-Droid 版本
mpvEx-fdroid-1.2.9-rev1020.3.apk 为 F-Droid 兼容变体:移除自动更新与安装权限、仅 arm64-v8a。