marinofaggiana 3 years ago
parent
commit
a84c5b8acb

+ 1 - 0
iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayer.swift

@@ -125,6 +125,7 @@ class NCPlayer: NSObject {
 
         NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: NCGlobal.shared.notificationCenterApplicationDidBecomeActive), object: nil)
 
+        videoRemoved()
     }
     
     //MARK: - NotificationCenter

+ 6 - 1
iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift

@@ -47,6 +47,7 @@ class NCPlayerToolBar: UIView {
     private var playbackSliderEvent: sliderEventType = .ended
     private let timeToAdd: CMTime = CMTimeMakeWithSeconds(15, preferredTimescale: 1)
     private var durationTime: CMTime = .zero
+    private var timeObserver: Any?
 
     // MARK: - View Life Cycle
 
@@ -88,6 +89,10 @@ class NCPlayerToolBar: UIView {
     
     deinit {
         print("deinit NCPlayerToolBar")
+        
+        if self.timeObserver != nil {
+            self.ncplayer?.player?.removeTimeObserver(self.timeObserver!)
+        }
     }
     
     func setBarPlayer(ncplayer: NCPlayer, timeSeek: CMTime) {
@@ -107,7 +112,7 @@ class NCPlayerToolBar: UIView {
         }
         updateToolBar(timeSeek: timeSeek)
         
-        ncplayer.player?.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(1, preferredTimescale: 1), queue: .main, using: { (CMTime) in
+        self.timeObserver = ncplayer.player?.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(1, preferredTimescale: 1), queue: .main, using: { (CMTime) in
             
             if ncplayer.player?.currentItem?.status == .readyToPlay {
                 if self.isHidden == false {

+ 3 - 3
iOSClient/Viewer/NCViewerMedia/NCViewerMedia.swift

@@ -47,9 +47,7 @@ class NCViewerMedia: UIViewController {
     var metadatas: [tableMetadata] = []
     var currentIndex = 0
     var nextIndex: Int?
-       
-    var ncplayer: NCPlayer?
-    
+    var ncplayer: NCPlayer?    
     var panGestureRecognizer: UIPanGestureRecognizer!
     var singleTapGestureRecognizer: UITapGestureRecognizer!
     var longtapGestureRecognizer: UILongPressGestureRecognizer!
@@ -162,6 +160,8 @@ class NCViewerMedia: UIViewController {
     
     deinit {
         print("deinit NCViewerMedia")
+        
+        ncplayer = nil
     }
     
     //MARK: - NotificationCenter

+ 2 - 1
iOSClient/Viewer/NCViewerMedia/NCViewerMediaZoom.swift

@@ -40,7 +40,6 @@ class NCViewerMediaZoom: UIViewController {
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
     var viewerMedia: NCViewerMedia?
     var ncplayer: NCPlayer?
-    
     var image: UIImage?
     var metadata: tableMetadata = tableMetadata()
     var index: Int = 0
@@ -59,6 +58,8 @@ class NCViewerMediaZoom: UIViewController {
     
     deinit {
         print("deinit NCViewerMediaZoom")
+        
+        self.ncplayer = nil
     }
     
     override func viewDidLoad() {