Open
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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