Browse Source

avplayer内存问题

huzhiqiang 3 years ago
parent
commit
a5cc3270a2
1 changed files with 6 additions and 4 deletions
  1. 6 4
      BFFramework/Classes/PQGPUImage/akfilters/PQMovieInput.swift

+ 6 - 4
BFFramework/Classes/PQGPUImage/akfilters/PQMovieInput.swift

@@ -187,6 +187,8 @@ public class PQMovieInput: ImageSource {
         self.movieFramebuffer?.unlock()
         self.movieFramebuffer?.unlock()
         self.cancel()
         self.cancel()
 
 
+        PQNotification.removeObserver(avPlayer?.currentItem)
+        avPlayer?.replaceCurrentItem(with: nil)
         self.videoInputStatusObserver?.invalidate()
         self.videoInputStatusObserver?.invalidate()
         self.audioInputStatusObserver?.invalidate()
         self.audioInputStatusObserver?.invalidate()
         self.avPlayerTimeObserver?.invalidate()
         self.avPlayerTimeObserver?.invalidate()
@@ -696,7 +698,7 @@ extension PQMovieInput {
 
 
                 playerItem.forwardPlaybackEndTime = range!.end
                 playerItem.forwardPlaybackEndTime = range!.end
                 playerItem.reversePlaybackEndTime = range!.start
                 playerItem.reversePlaybackEndTime = range!.start
-                HHZPrint("curr: start ********************\(CMTimeGetSeconds(range!.start)) - \(playerItem.reversePlaybackEndTime) - \(playerItem.forwardPlaybackEndTime)")
+//                HHZPrint("curr: start ********************\(CMTimeGetSeconds(range!.start)) - \(playerItem.reversePlaybackEndTime) - \(playerItem.forwardPlaybackEndTime)")
                 strongSelf.avPlayer!.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                 strongSelf.avPlayer!.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                     playerItem.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                     playerItem.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                         strongSelf.avPlayer!.play()
                         strongSelf.avPlayer!.play()
@@ -707,10 +709,10 @@ extension PQMovieInput {
             }
             }
         }
         }
         
         
-        avPlayerTimeObserver = avPlayer!.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 4), queue: DispatchQueue.global()) {[weak self] time in
+//        avPlayerTimeObserver = avPlayer!.addPeriodicTimeObserver(forInterval: CMTime(value: 1, timescale: 4), queue: DispatchQueue.global()) {[weak self] time in
             // 进度监控
             // 进度监控
-            HHZPrint("index:\(self?.indexRage), curr:\(CMTimeGetSeconds(time))")
-        } as? NSKeyValueObservation
+//            HHZPrint("index:\(self?.indexRage), curr:\(CMTimeGetSeconds(time))")
+//        } as? NSKeyValueObservation
     }
     }
     
     
     func avplayerMusic(){
     func avplayerMusic(){