Skip to content

OcPlayer v0.1.9 · 内核换装 v0.1.9+dolby.streaming.fix.dev——预取窗口封顶

Choose a tag to compare

@github-actions github-actions released this 21 Sep 16:54

OcPlayer v0.1.9 · 内核换装 v0.1.9+dolby.streaming.fix.dev——预取窗口封顶

下载

文件 平台 说明
OcPlayer-v0.1.9-macOS-arm64.dmg / .zip macOS(Apple Silicon) ad-hoc 签名,未经公证,首次打开可能有 Gatekeeper 提示
OcPlayer-v0.1.9-ios-unsigned.ipa iOS(iPhone / iPad) 未签名 IPA,需用 AltStore / Sideloadly / TrollStore 等工具重签安装
SHA256SUMS.txt / SHA256SUMS-ios.txt — 对应平台产物校验和

macOS 与 iOS 同用 fork 的 v0.1.9+dolby.streaming.fix.dev(commit 2c43702)——该 fork release 附全平台资产,两端不再分叉。产物内已写入 build 号与提交短哈希(关于页 v0.1.9 (Build N · 短哈希))。

本次改动

持久流预取的窗口不再无界——这是 0.1.8 里记下的待跟进项。

0.1.8 把按需读取从「每 4 MiB 一次有界请求」换成持久流 worker(每个 worker 持有一条开放式 GET bytes=锚点-,背压交给 TCP),公网慢源上的「播不动 / 卡死」随之解决。但那条链路留了个尾巴:worker 只从 reader 的 paused 标志得知「窗口满了」,而 reader 在包队列满时就不再刷新这个标志——于是快源上背压信号失效,worker 会一路把整个资源预取完(927 MB 的片源实测缓存到 659 MB)。表现就是播放期间进程内存随预取窗口持续增长:1.6 GB 的片源实测涨到约 1.3 GB、峰值 RSS 1415 MB,而 App 传给内核的预读 / 回退各只有 32 MiB。macOS 上只是内存偏高,iOS / tvOS 上有 jetsam 风险。

新内核(fork commit 85a9738)让每个 worker 按自己的生产偏移对绝对边界自我节流,不再依赖 reader 的刷新节奏,前向窗口因此真正封顶。

C ABI 无变化:erika.h 与上一版逐字节相同,ErikaOpenOptions 布局未动,App 侧零适配。杜比视界 RPU 映射与持久流预取本体未动,0.1.8 的慢源 A/B 口径(开播 13.2 秒、78.3 秒播放零卡顿、预取 stripe 中位 31ms)仍然成立。

说明

  • 上一版(0.1.8)的全部改动都在:Emby 全链路加固(解码契约与 Jellyfin 分家、片头片尾从章节 marker 翻译、4.10「接下来看」兜底、上报会话与 401 兜底)、详情页「媒体信息」区块、跳过片头/片尾设置开关、issue #3 / #4 / #5 的修复。
  • 内核下载哈希固化入仓(Scripts/erika-v0.1.9+dolby.streaming.fix.dev.sha256,与 release 自带 SHA256SUMS 逐字节核对一致)。
  • 仍待跟进:开播仍有约 3.8 秒花在 HEAD 探测上(内核先 HEAD、失败再回退一字节 range),可再省。