Skip to content

feat: add iOS offline DRM playback support#213

Open
edougher wants to merge 1 commit intomasterfrom
feature/ios-offline-drm-playback
Open

feat: add iOS offline DRM playback support#213
edougher wants to merge 1 commit intomasterfrom
feature/ios-offline-drm-playback

Conversation

@edougher
Copy link
Collaborator

What does this Pull Request do?

Adds iOS offline DRM playback support to the React Native bridge. DRM keys are acquired and persisted to disk during the download phase via JWDRMContentLoader, and the player auto-detects local .movpkg files to configure offline playback using those persisted keys -- no network required.

Why is this Pull Request needed?

Customers need to download FairPlay DRM-protected content for offline viewing, but the React Native library had no way to persist DRM keys or configure the player for local .movpkg playback.

Are there any points in the code the reviewer needs to double check?

No

Are there any Pull Requests open in other repos which need to be merged with this?

No

Addresses Issue(s):

SDK-11759

Add support for downloading and playing FairPlay DRM-protected videos
offline. DRM keys are acquired and persisted to disk during the download
phase, enabling playback without network connectivity.

Library (ios/RNJWPlayer/):
- OfflineKeyDataSource: handles FairPlay certificate and license requests
- OfflineKeyManager: persists DRM keys to disk with download state
  tracking so contentKeyTypeFor returns .persistable during download
  and when keys exist on disk
- RNJWPlayerOfflineModule: download manager that acquires DRM keys
  via JWDRMContentLoader.load(items:) before starting the
  AVAssetDownloadTask, with progress/complete/error events
- RNJWPlayerView: auto-detects offline .movpkg files and configures
  JWDRMContentLoader with persisted keys before playback

Example app:
- OfflineDownloadExample screen with download/play/delete UI
- JWPlayerOffline TypeScript wrapper with lazy event emitter init

Co-authored-by: Cursor <cursoragent@cursor.com>
@edougher edougher requested a review from a team as a code owner February 20, 2026 18:48
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