diff --git a/patches/react-native-vision-camera+3.2.2.patch b/patches/react-native-vision-camera+3.2.2.patch new file mode 100644 index 000000000..a353a8853 --- /dev/null +++ b/patches/react-native-vision-camera+3.2.2.patch @@ -0,0 +1,48 @@ +diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/RecordingSession.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/RecordingSession.kt +index 76a56aa..56e1b22 100644 +--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/RecordingSession.kt ++++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/RecordingSession.kt +@@ -1,7 +1,6 @@ + package com.mrousavy.camera.core + + import android.content.Context +-import android.media.ImageWriter + import android.media.MediaCodec + import android.media.MediaRecorder + import android.os.Build +@@ -40,7 +39,6 @@ class RecordingSession( + private val recorder: MediaRecorder + private val outputFile: File + private var startTime: Long? = null +- private var imageWriter: ImageWriter? = null + val surface: Surface = MediaCodec.createPersistentInputSurface() + + init { +@@ -103,9 +101,6 @@ class RecordingSession( + try { + recorder.stop() + recorder.release() +- +- imageWriter?.close() +- imageWriter = null + } catch (e: Error) { + Log.e(TAG, "Failed to stop MediaRecorder!", e) + } +diff --git a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/VideoPipeline.kt b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/VideoPipeline.kt +index c335a17..24826b0 100644 +--- a/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/VideoPipeline.kt ++++ b/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/core/VideoPipeline.kt +@@ -106,7 +106,12 @@ class VideoPipeline( + frame.incrementRefCount() + frameProcessor?.call(frame) + +- imageWriter!!.queueInputImage(image) ++ try { ++ imageWriter!!.queueInputImage(image) ++ } ++ catch (exception: RuntimeException){ ++ // Handling exception ++ } + + frame.decrementRefCount() + }, CameraQueues.videoQueue.handler)