Skip to content

feat(ios): add native PiP and Now Playing integration#1269

Open
WhiteGiso wants to merge 1 commit into
NuvioMedia:cmp-rewritefrom
WhiteGiso:feat/ios-pip-now-playing
Open

feat(ios): add native PiP and Now Playing integration#1269
WhiteGiso wants to merge 1 commit into
NuvioMedia:cmp-rewritefrom
WhiteGiso:feat/ios-pip-now-playing

Conversation

@WhiteGiso

@WhiteGiso WhiteGiso commented Jun 5, 2026

Copy link
Copy Markdown

Summary

Adds native iOS Picture in Picture support for the existing MPV-based player bridge and integrates system Now Playing / remote playback controls so playback state is reflected correctly in Control Center and lock screen.

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

This change brings the iOS player closer to the expected native media experience:

  • Picture in Picture works for supported playback on iPhone/iPad
  • playback state is exposed to the system via Now Playing
  • Control Center / lock screen controls stay in sync with actual playback
  • playback transitions between inline player, PiP, and return to the app are handled natively on iOS

Issue or approval

Approved in #1268.

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

Not changed in this PR:

  • Android playback behavior
  • liquid glass / profile switching
  • unrelated player UI polish
  • unrelated dependency or project setup changes
  • MPVKit/ local/untracked files
  • project.pbxproj local environment changes

Testing

Manual testing on iOS device:

  • inline playback starts correctly
  • Now Playing appears in Control Center / lock screen
  • Picture in Picture starts from the iOS player flow
  • returning from PiP restores the inline player
  • seek controls in PiP and system controls work during playback
  • playback state remains in sync with the system media UI

Screenshots / Video

Not a UI change.

Breaking changes

None.

Linked issues

Fixes #1268

@WhiteGiso WhiteGiso force-pushed the feat/ios-pip-now-playing branch from 5315b80 to db402ad Compare June 5, 2026 22:25
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.

1 participant