diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 89a5840..402d4ba 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -322,7 +322,7 @@ PODS: - React - RNVectorIcons (8.1.0): - React-Core - - VisionCamera (2.4.2-beta.3): + - VisionCamera (2.4.2-beta.7): - React - React-callinvoker - React-Core @@ -490,7 +490,7 @@ SPEC CHECKSUMS: RNReanimated: 9c13c86454bfd54dab7505c1a054470bfecd2563 RNStaticSafeAreaInsets: 6103cf09647fa427186d30f67b0f5163c1ae8252 RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4 - VisionCamera: 33eb4044a1bee72eac4e1ad26a64b30b5ffe41a6 + VisionCamera: d65c038e7a538fbd719f3ff3e7511a2c71111e3a Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac PODFILE CHECKSUM: 4b093c1d474775c2eac3268011e4b0b80929d3a2 diff --git a/ios/CameraView+RecordVideo.swift b/ios/CameraView+RecordVideo.swift index 0612422..a08b65c 100644 --- a/ios/CameraView+RecordVideo.swift +++ b/ios/CameraView+RecordVideo.swift @@ -215,23 +215,13 @@ extension CameraView: AVCaptureVideoDataOutputSampleBufferDelegate, AVCaptureAud if diff > UInt64(nanosecondsPerFrame) { if !isRunningFrameProcessor { // we're not in the middle of executing the Frame Processor, so prepare for next call. - var bufferCopy: CMSampleBuffer? - CMSampleBufferCreateCopy(allocator: kCFAllocatorDefault, - sampleBuffer: sampleBuffer, - sampleBufferOut: &bufferCopy) - if let bufferCopy = bufferCopy { - // successfully copied buffer, dispatch frame processor call. - CameraQueues.frameProcessorQueue.async { - self.isRunningFrameProcessor = true - let frame = Frame(buffer: bufferCopy, orientation: self.bufferOrientation) - frameProcessor(frame) - self.isRunningFrameProcessor = false - } - lastFrameProcessorCall = DispatchTime.now() - } else { - // failed to create a buffer copy. - ReactLogger.log(level: .error, message: "Failed to copy buffer! Frame Processor cannot be called.", alsoLogToJS: true) + CameraQueues.frameProcessorQueue.async { + self.isRunningFrameProcessor = true + let frame = Frame(buffer: sampleBuffer, orientation: self.bufferOrientation) + frameProcessor(frame) + self.isRunningFrameProcessor = false } + lastFrameProcessorCall = DispatchTime.now() } else { // we're still in the middle of executing a Frame Processor for a previous frame, notify user about dropped frame. if !hasLoggedFrameProcessorFrameDropWarning {