Skip to content

Codex/extract cast module - #4260

Merged
CarGuo merged 2 commits into
masterfrom
codex/extract-cast-module
Oct 1, 2026
Merged

CarGuo merged 2 commits into
masterfrom
codex/extract-cast-module

Conversation

@CarGuo

@CarGuo CarGuo commented Oct 1, 2026

Copy link
Copy Markdown
Owner

No description provided.

…ispose

Fix #4259: Compose 生命周期下 AndroidView.onRelease 先于 DisposableEffect.onDispose,
导致 dispose 时 host 已被置空、内核资源(MediaPlayer/Surface/AudioFocus)未释放。

- 新增 attached 状态位,明确区分 View 挂载与 host 引用生命周期
- detachHost 只解绑回调、停止 tick,保留 host 引用给 dispose 统一 release
- dispose 里统一 release host、清空引用,并置 attached=false
- 新增 activeHost() 门禁,所有对外 host 操作(play/pause/seek/...)在 detached 或 released 时 no-op,
  避免 View 已 detach 但 controller 未 dispose 的窗口内误操作
- arm64-v8a / armeabi-v7a / x86_64 libijkffmpeg.so bumped from n4.3 to n5.1.10
- rebuild libijkplayer.so / libijksdl.so against FFmpeg 5 APIs (AVCodecParameters,
  new channel-layout API, HLS/subtitle demuxer updates)
- keep 16 KB page-size alignment on arm64-v8a / x86_64 and __stack_chk_fail on armeabi-v7a
- update README / README_CN / doc/UPDATE_VERSION{,_EN}.md with v13.3.0 entry
- flag 16kpatch/README.md as the historical n4.3 build flow (current so is already n5.1.10)
- verified on-device: local MP4, HTTP/HTTPS MP4 and HLS master playlists prepare and
  render steady 30 fps, no UnsatisfiedLinkError / FATAL / FFP_MSG_ERROR
Copilot AI balanced review requested due to automatic review settings October 1, 2026 01:59
@CarGuo
CarGuo merged commit e38bec8 into master Oct 1, 2026
3 checks passed
@CarGuo
CarGuo deleted the codex/extract-cast-module branch October 1, 2026 02:00

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.

Copilot review overview

🟡 Changes recommended

Overlapping surface transitions can disable the replacement host, and the documented release version does not match the publication version.

Review effort: Balanced
Findings: 5 Medium severity

Open (5)
What changed in this PR

Documents the FFmpeg 5.1.10 upgrade and adjusts Compose player cleanup behavior.

Changes:

  • Updates FFmpeg/version documentation.
  • Retains the Compose host until controller disposal.
  • Guards player operations when detached or released.
File Description
README.md Updates FFmpeg and release information.
README_CN.md Updates Chinese FFmpeg and release information.
GSYPlayerController.kt Revises host attachment and cleanup lifecycle.
doc/​UPDATE_VERSION.md Adds Chinese v13.3.0 notes.
doc/​UPDATE_VERSION_EN.md Adds English v13.3.0 notes.
16kpatch/​README.md Clarifies the legacy FFmpeg 4.3 workflow.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread README.md

## V. Recent Versions

### v13.3.0 (2026-10-01)
Comment thread README_CN.md

## 五、近期版本

### v13.3.0 (2026-10-01)
Comment thread doc/UPDATE_VERSION.md

**[Click to see the English version](UPDATE_VERSION_EN.md)**

### v13.3.0 (2026-10-01)
Comment thread doc/UPDATE_VERSION_EN.md

**[Click to see the Chinese version](UPDATE_VERSION.md)**

### v13.3.0 (2026-10-01)
Comment on lines +432 to 434
attached = false
stopTicking()
host?.let { old ->
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