         layerInstruction.setTransform(scale.concatenating(transform), at: kCMTimeZero)
         
         // Hide
-        layerInstruction.setOpacity(0.0, at: self.currentTimeDuration)
-        self.layerInstructions.append(layerInstruction)
+        layerInstruction.setOpacity(0.0, at: currentTimeDuration)
+        layerInstructions.append(layerInstruction)
         
         return layerInstruction
     }

        var compositionAudioTrack: AVMutableCompositionTrack!
        let videoTrack = videoAsset.tracks(withMediaType: AVMediaTypeVideo)[0] 
        
        compositionVideoTrack = self.mixComposition.addMutableTrack(withMediaType: AVMediaTypeVideo, preferredTrackID: 0)
        do {
            try compositionVideoTrack.insertTimeRange(
                CMTimeRange(start: kCMTimeZero, duration: videoAsset.duration),
                of: videoTrack,
                at: self.currentTimeDuration)
        } catch _ {
        }
        compositionVideoTrack.preferredTransform = videoTrack.preferredTransform
        
        compositionAudioTrack = self.mixComposition.addMutableTrack(withMediaType: AVMediaTypeAudio, preferredTrackID: 0)
        do {
            try compositionAudioTrack.insertTimeRange(
                CMTimeRange(start: kCMTimeZero, duration: videoAsset.duration),
                of: videoAsset.tracks(withMediaType: AVMediaTypeAudio)[0] ,
                at: self.currentTimeDuration)
        } catch _ {
        }
        
        self.currentTimeDuration = self.mixComposition.duration
        
        // Add Layer Instruction
        let layerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: compositionVideoTrack)
        
        // Hide
        layerInstruction.setOpacity(0.0, at: self.currentTimeDuration)
        self.layerInstructions.append(layerInstruction)
        
        return layerInstruction
    }

            } catch _ {
            }
        }
        return assetExportSession
    }
}
