| 
					
				 | 
			
			
				@@ -127,7 +127,7 @@ public class PQMovieInput: ImageSource { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public  var mAutoPause: Bool = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /// Use serial queue to ensure that the picture is smooth 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public  var seekQueue: DispatchQueue! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//    public  var seekQueue: DispatchQueue! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 是否为导出模式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public   var mIsExport: Bool = false 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -170,10 +170,10 @@ public class PQMovieInput: ImageSource { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if #available(iOS 10, *){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             displayLink?.preferredFramesPerSecond = 30 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            seekQueue = DispatchQueue(label: "PQ.MovieInput.seeking", qos: .userInteractive, attributes: .initiallyInactive, autoreleaseFrequency: .never, target: nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            seekQueue = DispatchQueue(label: "PQ.MovieInput.seeking", qos: .userInteractive, attributes: .initiallyInactive, autoreleaseFrequency: .never, target: nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             displayLink?.frameInterval = 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            seekQueue = DispatchQueue(label: "PQ.MovieInput.seeking", qos: .userInteractive, attributes: [], autoreleaseFrequency: .inherit, target: nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            seekQueue = DispatchQueue(label: "PQ.MovieInput.seeking", qos: .userInteractive, attributes: [], autoreleaseFrequency: .inherit, target: nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 加入循环 要使用 common 不要让级别高的卡住回调事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         displayLink?.add(to: RunLoop.main, forMode: RunLoop.Mode.common) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,6 +201,7 @@ public class PQMovieInput: ImageSource { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.audioInputStatusObserver?.invalidate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.avPlayerTimeObserver?.invalidate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BFLog(message: "movieinput 销毁") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // MARK: - 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -293,11 +294,6 @@ public class PQMovieInput: ImageSource { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if #available(iOS 10.0, *) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            seekQueue.activate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -737,45 +733,5 @@ extension PQMovieInput { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         playerItem?.seek(to: playerItem?.reversePlaybackEndTime ?? CMTime(value: 0, timescale: 40)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    func playMusic(assetUrl:URL, ranges:[CMTimeRange]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if aplayer != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            var indexRange = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            var range = ranges.first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            aplayer?.currentTime = CMTimeGetSeconds(range!.start) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            aplayer?.play() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            HHZPrint("声道数:\(aplayer?.numberOfChannels)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-////                audioPlayerObserver?.invalidate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            audioPlayerObserver = aplayer!.observe(\.deviceCurrentTime, options: [.new], changeHandler: { player, change in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                let currt = change.newValue ?? 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                let end = CMTimeGetSeconds(range?.end ?? CMTime(value: 1, timescale: 100)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                HHZPrint("curr:\(currt), end:\(end), dur:\(player.duration)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                if currt >= end || currt == player.duration { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    player.pause() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    indexRange += 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    if indexRange < ranges.count{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        range = ranges[indexRange] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        player.currentTime = CMTimeGetSeconds(range!.start) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        player.play() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            let timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { [weak self] timer in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                HHZPrint("\(self?.aplayer?.currentTime)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            RunLoop.current.add(timer, forMode: .common) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-////        let queue = DispatchQueue.init(label: "playMusic") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-////        queue.async { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-////        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |