Patch to ignore native crash in camera library

This commit is contained in:
Johannes Klein
2023-10-16 15:36:32 +02:00
parent 7e166bb3df
commit f5aa254eb0

View File

@@ -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)