VEX-5938: Update resource loader to handle encrypted local files (#12)
Adds offline decryption key and uses it to decrypt content during offline playback Jira: VEX-5938 https://jira.tenkasu.net/browse/VEX-5938 - Update to accept scheme for key required to play offline playback - Uses provided scheme to intercept call from player and return the key - Fixes player item observer removal pattern ### Reviews - Major reviewer (domain expert): @armadilio3
This commit is contained in:
@@ -28,39 +28,43 @@ class RCTPlayerObserver: NSObject {
|
||||
var _handlers: RCTPlayerObserverHandler!
|
||||
|
||||
var player:AVPlayer? {
|
||||
willSet {
|
||||
removePlayerObservers()
|
||||
removePlayerTimeObserver()
|
||||
}
|
||||
didSet {
|
||||
if player == nil {
|
||||
removePlayerObservers()
|
||||
removePlayerTimeObserver()
|
||||
} else {
|
||||
if player != nil {
|
||||
addPlayerObservers()
|
||||
addPlayerTimeObserver()
|
||||
}
|
||||
}
|
||||
}
|
||||
var playerItem:AVPlayerItem? {
|
||||
willSet {
|
||||
removePlayerItemObservers()
|
||||
}
|
||||
didSet {
|
||||
if playerItem == nil {
|
||||
removePlayerItemObservers()
|
||||
} else {
|
||||
if playerItem != nil {
|
||||
addPlayerItemObservers()
|
||||
}
|
||||
}
|
||||
}
|
||||
var playerViewController:AVPlayerViewController? {
|
||||
willSet {
|
||||
removePlayerViewControllerObservers()
|
||||
}
|
||||
didSet {
|
||||
if playerViewController == nil {
|
||||
removePlayerViewControllerObservers()
|
||||
} else {
|
||||
if playerViewController != nil {
|
||||
addPlayerViewControllerObservers()
|
||||
}
|
||||
}
|
||||
}
|
||||
var playerLayer:AVPlayerLayer? {
|
||||
willSet {
|
||||
removePlayerLayerObserver()
|
||||
}
|
||||
didSet {
|
||||
if playerLayer == nil {
|
||||
removePlayerLayerObserver()
|
||||
} else {
|
||||
addPlayerLayerObserver()
|
||||
}
|
||||
}
|
||||
@@ -148,8 +152,8 @@ class RCTPlayerObserver: NSObject {
|
||||
|
||||
/* Cancels the previously registered time observer. */
|
||||
func removePlayerTimeObserver() {
|
||||
if let timeObserver = _timeObserver {
|
||||
player?.removeTimeObserver(timeObserver)
|
||||
if _timeObserver != nil {
|
||||
player?.removeTimeObserver(_timeObserver)
|
||||
_timeObserver = nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user