Skip to content

fix: sync matched IJK EOS libraries and document native options - #4266

Merged
CarGuo merged 1 commit into
masterfrom
fix/ijk-eos-matched-so-20261106
Nov 6, 2026
Merged

CarGuo merged 1 commit into
masterfrom
fix/ijk-eos-matched-so-20261106

Conversation

@CarGuo

@CarGuo CarGuo commented Nov 6, 2026

Copy link
Copy Markdown
Owner

变更

  • 同步三 ABI 的 EOS player 到各独立模块和 ex_so,共 6 个 SO 路径;12 个 FFmpeg/SDL 路径字节不变。
  • 对应已合并 IJK #5,源码 df9e456a4ef4c770bc97bb179d58a0cf9d529011,tree 0752500118251c3a7a71a9698da28e4ff516c3fc。已包含此前 获取当前播放时间怎么得到啊 #2 输出尺寸、开放接口控制播放暂停 #4 opt-in crop 和本次 全屏的时候可不可以把statusbar给隐藏掉 #5 EOS 三轮生产修复。
  • 更新中英文 README、构建指南和原生库说明,项目文件仅保留功能、选项、构建/打包、兼容限制与精确哈希,验证过程只记录在本 PR。
  • 未改 Java 默认行为、版本号、旧 armeabi/x86、RTMP 或依赖版本。

产物与静态核对

  • ARM64 保留已配对验证的 candidate 原字节,player SHA256 8b9aa088df96236e093d4d820ad8164ab7047ba83dd085aceb1ac062e886adf3。
  • ARMv7 / x86_64 player 从同一生产内容补编,分别为 5852f2b834e761d064d66fd2f5841daa5cf52e794fbad764529867ff74603eec / e09b8f6be0de6e4196cae6f60e25e157cfd7392e186a8e8c47b05ed98f0c52a2。三个 ABI 并非同一次构建。
  • 独立静态核查九库 hash、架构/API、SONAME/DT_NEEDED、最低 API 强导入及符号版本闭包、JNI/Checked SDL配对、LOAD对齐/同余、非执行栈及无TEXTREL/RPATH,未发现阻塞。
  • 两个新源码 checkout 各859个已落盘 tracked entry 与合并tree匹配;保留ARM64的263个相关生产文件也与原构建receipt/合并源码匹配。各ABI Application.mk/config沿用,编译exit0,无新增warning类型。

已有验证与边界

  • Redmi M2104K10AC / Android13,单次固定顺序配对,实际 c2.mtk.avc.decoder / c2.mtk.hevc.decoder:候选5/5组、6次预期completion;重编译对照3/5,普通AVC与HEVC各一次EOF超时。
  • 覆盖AVC EOF后重播、HEVC EOF、动态crop/尺寸变化、播放中seek、stop/release后换源。采样PNG通过不代表逐帧/全程像素证明,历史锁竞争因果链未被直接捕获。
  • 旧 Update IJK player SOs for H.264 output-format crop changes #4264/Sync rebuilt IJK three-ABI native bundles #4265 连续九用例各8/9及EOF失败保持原结论;本次五组不是原九用例全量重跑。配对对照是重编译的3abe4a6d…,不是旧发布cb609eb6…。
  • 本次打包核对未追加设备、模拟器或播放测试。新ARMv7/x86_64仅有构建/静态证据;完整GSY manager、独立Surface丢失/恢复、长期稳定性、HTTPS及原生ARM64 16KB运行不因此视为通过。
  • ARM64/x86_64库为16KB ELF布局,ARMv7保留4KB;最终APK/AAB需满足打包对齐要求。旧x86兼容镜像加载记录不是新player或原生16KB内核验收。
  • HTTPS/OpenSSL保留,tls_verify默认仍为0,严格服务器验证必须显式1+可信ca_file。Crop仍默认0;EOS则影响所有异步硬解EOS,无新增开关。
  • 不上传用户设备日志或私有测试媒体;不发布新的Maven版本。现有仓库CI状态单独检查,不把构建CI当播放验收。

Preserve matching FFmpeg/SDL and the existing ARM64 candidate bytes.
Update README and build/usage guides for crop options, authenticated
HTTPS, ABI packaging and 16 KiB native layouts.
@CarGuo
CarGuo marked this pull request as ready for review November 6, 2026 08:39
Copilot AI balanced review requested due to automatic review settings November 6, 2026 08:39
@CarGuo
CarGuo merged commit 62703da into master Nov 6, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The native binary update changes asynchronous MediaCodec EOS locking across hardware-decoded streams, while ARMv7/x86_64 playback and GSY lifecycle/Surface behavior still require maintainer review and Android-device validation.

No open issues 🎉

What changed in this PR

Documents the matched three-ABI IJK native update, including output-size propagation, opt-in H.264 crop handling, and automatic end-of-stream progress fixes. Java defaults and release versions remain unchanged.

Changes:

  • Update both READMEs with native repair scope, TLS authentication requirements, and packaging guidance.
  • Consolidate native options, compatibility limits, source pins, and exact library hashes in the native-library guide.
  • Pin both build guides to the merged IJK source and replace outdated draft status text.
File Description
README.md Summarizes the native update and integration requirements in English.
README_CN.md Provides the corresponding Chinese update summary.
doc/​IJK_THREE_ABI_SO_UPDATE.md Documents native behavior, options, ABI packaging, provenance, and hashes.
doc/​BUILD_SO.md Updates the Chinese build instructions and source pin.
doc/​BUILD_SO_EN.md Updates the English build instructions and source pin.

Review effort: Balanced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants