Browse Source

Merge branch 'master' of https://git.yishihui.com/iOS/BFFramework

* 'master' of https://git.yishihui.com/iOS/BFFramework:
  代码整理
  1,设置为白色背景 2,修改 判断条件
huzhiqiang 3 years ago
parent
commit
8807a30c59

+ 15 - 14
BFFramework/Classes/PQGPUImage/akfilters/PQImageFilter.swift

@@ -71,7 +71,7 @@ open class PQImageFilter: PQBaseFilter {
             }
         }
 
-        if newImage != nil {
+        if newImage?.cgImage != nil {
             BFLog(message: "提前加载图片。。。。timelineIn : \(String(describing: mSticker?.timelineIn)) timelineOut :\(String(describing: mSticker?.timelineOut)) \(String(describing: mSticker?.locationPath))")
             
             imageTexture = PQGPUImageTools.setupTexture(image: newImage!.cgImage!)
@@ -79,16 +79,17 @@ open class PQImageFilter: PQBaseFilter {
         } else { FilterLog(message: "image filter init error image data is nil!") }
     }
 
-    override public func newFramebufferAvailable(_ framebuffer: Framebuffer, fromSourceIndex: UInt) {
-        super.newFramebufferAvailable(framebuffer, fromSourceIndex: fromSourceIndex)
-
-        let currTime = CMTimeGetSeconds(CMTime(value: framebuffer.timingStyle.timestamp!.value, timescale: framebuffer.timingStyle.timestamp!.timescale))
-        if mSticker!.timelineIn != 0, currTime >= mSticker!.timelineIn, currTime <= mSticker!.timelineOut, imageTexture == 0 {
-            if newImage != nil {
-//                imageTexture = PQGPUImageTools.setupTexture(image: newImage!.cgImage!)
-            } else { BFLog(message: "image filter init error image data is nil!") }
-        }
-    }
+//    override public func newFramebufferAvailable(_ framebuffer: Framebuffer, fromSourceIndex: UInt) {
+//        super.newFramebufferAvailable(framebuffer, fromSourceIndex: fromSourceIndex)
+//
+////        let currTime = CMTimeGetSeconds(CMTime(value: framebuffer.timingStyle.timestamp!.value, timescale: framebuffer.timingStyle.timestamp!.timescale))
+////        
+////        if mSticker!.timelineIn != 0, currTime >= mSticker!.timelineIn, currTime <= mSticker!.timelineOut, imageTexture == 0 {
+////            if newImage != nil {
+//////                imageTexture = PQGPUImageTools.setupTexture(image: newImage!.cgImage!)
+////            } else { BFLog(message: "image filter init error image data is nil!") }
+////        }
+//    }
 
     override open func renderFrame() {
         let inputFramebuffer: Framebuffer = inputFramebuffers[0]!
@@ -104,7 +105,7 @@ open class PQImageFilter: PQBaseFilter {
         let textureProperties = InputTextureProperties(textureCoordinates: inputFramebuffer.orientation.rotationNeededForOrientation(.portrait).textureCoordinates(), texture: inputFramebuffer.texture)
 
         renderFramebuffer.activateFramebufferForRendering()
-        clearFramebufferWithColor(backgroundColor)
+        clearFramebufferWithColor(Color.white)
         renderQuadWithShader(shader, uniformSettings: uniformSettings,
                              vertexBufferObject: sharedImageProcessingContext.standardImageVBO, inputTextures: [textureProperties])
         releaseIncomingFramebuffers()
@@ -124,8 +125,8 @@ open class PQImageFilter: PQBaseFilter {
             FilterLog(message: "textureCoordinates is \(textureCoordinates)")
             
             //imageTexture 有可能被析构导致黑屏
-            if(imageTexture == 0){
-                FilterLog(message: "imageTexture is error !!!!!")
+            if(imageTexture == 0 && newImage?.cgImage != nil){
+                FilterLog(message: "imageTexture is error !!!!!重新创建")
                 imageTexture = PQGPUImageTools.setupTexture(image: newImage!.cgImage!)
             }
         

+ 4 - 5
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -1166,8 +1166,7 @@ extension PQStuckPointEditerController {
                     } else if model == .createStickersModelOnlyMusic || model == .createStickersModelSpeed { // 仅音乐 和 快慢速卡点
                         BFLog(message: "stuckPoints count is \(finallyStuckPoints.count)")
 
-                        // 一共裁剪的段数
-//                        var totalClipNum: Int = 0
+ 
                         for sticker in section.sectionTimeline!.visionTrack!.getEnableVisionTrackMaterials() {
                             if sticker.type == StickerType.VIDEO.rawValue {
                                 let asset: AVURLAsset = AVURLAsset(url: URL(fileURLWithPath: documensDirectory + sticker.locationPath), options: nil)
@@ -1479,10 +1478,10 @@ extension PQStuckPointEditerController {
 
                                 let lastPointIndex = (sticker.clipCount % stuckPointsTemp.count)
                                 // 两个卡点
-                                let a: Float = stuckPointsTemp[lastPointIndex ?? 0]
+                                let a: Float = stuckPointsTemp[lastPointIndex]
                                 var b: Float = 0.0
-                                if (lastPointIndex ?? 0) + 1 < stuckPointsTemp.count {
-                                    b = stuckPointsTemp[(lastPointIndex ?? 0) + 1]
+                                if lastPointIndex + 1 < stuckPointsTemp.count {
+                                    b = stuckPointsTemp[lastPointIndex + 1]
                                     let pointDuration = b - a
                                     // 要适应到卡点内要使用的C速度
                                     let needSpeed = lastAssetDuration / pointDuration