Skip to content

Download subtitles locally before passing to external players#1313

Merged
tapframe merged 1 commit into
NuvioMedia:cmp-rewritefrom
skoruppa:cmp-rewrite
Jun 10, 2026
Merged

Download subtitles locally before passing to external players#1313
tapframe merged 1 commit into
NuvioMedia:cmp-rewritefrom
skoruppa:cmp-rewrite

Conversation

@skoruppa

Copy link
Copy Markdown
Member

Summary

Port subtitle caching for external players from NuvioTV (commit 49182691). Instead of passing raw addon subtitle URLs to external players, subtitles are now downloaded to local cache and shared via content:// URIs through FileProvider. Also adds buildPlayerTitle() for structured episode titles and subtitle forwarding to Infuse/VLC on iOS.

PR type

  • Reproducible bug fix
  • UI glitch/bug fix
  • Behavior bug/regression fix
  • Small maintenance only, with no UI or behavior change
  • Docs accuracy fix
  • Translation/localization only
  • Approved larger or directional change

Why

Alignment with functionality already shipping in the TV version. Some external players often cannot access addon subtitle URLs directly. The TV app already solves this by downloading subtitles to a local cache and passing content:// URIs. This PR brings the same fix to mobile.

Issue or approval

No linked issue - feature parity port from NuvioTV commit 49182691ae1f857b9bcc70629f8d6e56538bb934.

UI / behavior impact

  • No UI change
  • No behavior change
  • UI changed only to fix a documented glitch/bug
  • Behavior changed only to fix a documented bug/regression
  • UI change has explicit maintainer approval
  • Behavior change has explicit maintainer approval

Policy check

  • I have read and understood CONTRIBUTING.md.
  • This PR is small, focused, and limited to one problem.
  • This PR is not cosmetic-only.
  • Any UI change fixes a linked glitch/bug and includes visual proof, or this PR has no UI change.
  • Any behavior change fixes a linked bug/regression or has explicit approval, or this PR has no behavior change.
  • This PR does not bundle unrelated refactors, cleanups, formatting, or drive-by changes.
  • This PR does not add dependencies, architecture changes, migrations, or product-direction changes without explicit approval.
  • I listed the testing performed below.

Scope boundaries

  • No changes to internal player subtitle handling
  • No changes to subtitle fetching logic from addons (SubtitleForwarder unchanged)
  • Outplayer/VidHub on iOS still do not receive subtitles (no documented URL scheme support)
  • No new dependencies added (OkHttp already in the project)

Testing

  • Built successfully with compileFullDebugKotlinAndroid
  • Verified FileProvider paths config includes new subtitles/ cache directory
  • Manual test: launch external player (Mx Player) with series content - subtitles load from local cache, title shows "Show - S01E03 - Episode Title" format

Screenshots / Video (UI changes only)

Not a UI change.

Breaking changes

None.

Linked issues

No linked issue - feature parity port from NuvioTV commit 49182691.

@tapframe tapframe merged commit ee5c923 into NuvioMedia:cmp-rewrite Jun 10, 2026
1 check failed
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