marinofaggiana 3 years ago
parent
commit
67d06724eb

+ 10 - 6
iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayer.swift

@@ -80,7 +80,7 @@ class NCPlayer: NSObject {
                             imageVideoContainer.metadata = self.metadata
                         }
                         self.durationSeconds = CMTimeGetSeconds(duration)
-                        NCManageDatabase.shared.addVideoTime(metadata: metadata, time: nil, durationSeconds: self.durationSeconds)
+                        self.saveDurationSeconds(self.durationSeconds)
                         // NO Live Photo, seek to datamebase time
                         if !metadata.livePhoto, let time = NCManageDatabase.shared.getVideoTime(metadata: metadata) {
                             self.player?.seek(to: time)
@@ -132,20 +132,24 @@ class NCPlayer: NSObject {
     func videoPause() {
         
         self.player?.pause()
-        let image = generatorImage()
     }
     
-    func saveCurrentTime() {
+    func saveTime(_ time: CMTime) {
         guard let metadata = self.metadata else { return }
 
-        NCManageDatabase.shared.addVideoTime(metadata: metadata, time: self.player?.currentTime(), durationSeconds: nil)
+        NCManageDatabase.shared.addVideoTime(metadata: metadata, time: time, durationSeconds: nil)
     }
     
-    func videoSeek(time: CMTime) {
+    func saveDurationSeconds(_ durationSeconds: Double) {
         guard let metadata = self.metadata else { return }
+
+        NCManageDatabase.shared.addVideoTime(metadata: metadata, time: nil, durationSeconds: durationSeconds)
+    }
+    
+    func videoSeek(time: CMTime) {
         
         self.player?.seek(to: time)
-        NCManageDatabase.shared.addVideoTime(metadata: metadata, time: time, durationSeconds: nil)
+        self.saveTime(time)
     }
     
     func videoRemoved() {

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

@@ -228,7 +228,9 @@ class NCPlayerToolBar: UIView {
         
         if ncplayer?.player?.timeControlStatus == .playing {
             ncplayer?.videoPause()
-            ncplayer?.saveCurrentTime()
+            if let time = ncplayer?.player?.currentTime() {
+                ncplayer?.saveTime(time)
+            }
         } else if ncplayer?.player?.timeControlStatus == .paused {
             ncplayer?.videoPlay()
         } else if ncplayer?.player?.timeControlStatus == .waitingToPlayAtSpecifiedRate {

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

@@ -135,7 +135,7 @@ class NCViewerMedia: UIViewController {
         if let player = ncplayer?.player {
             if player.rate == 1 {
                 player.pause()
-                NCManageDatabase.shared.addVideoTime(metadata: currentMetadata, time: player.currentTime(), durationSeconds: nil)
+                ncplayer?.saveTime(player.currentTime())
             }
         }
         
@@ -389,7 +389,7 @@ extension NCViewerMedia: UIPageViewControllerDelegate, UIPageViewControllerDataS
         // Save time video
         if let player = ncplayer?.player {
             if player.rate == 1 {
-                NCManageDatabase.shared.addVideoTime(metadata: currentMetadata, time: player.currentTime(), durationSeconds: nil)
+                ncplayer?.saveTime(player.currentTime())
             }
         }