소스 검색

avplayer内存问题

huzhiqiang 3 년 전
부모
커밋
a5cc3270a2
1개의 변경된 파일6개의 추가작업 그리고 4개의 파일을 삭제
  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.cancel()
 
+        PQNotification.removeObserver(avPlayer?.currentItem)
+        avPlayer?.replaceCurrentItem(with: nil)
         self.videoInputStatusObserver?.invalidate()
         self.audioInputStatusObserver?.invalidate()
         self.avPlayerTimeObserver?.invalidate()
@@ -696,7 +698,7 @@ extension PQMovieInput {
 
                 playerItem.forwardPlaybackEndTime = range!.end
                 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
                     playerItem.seek(to: playerItem.reversePlaybackEndTime) { isSuccess in
                         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(){