Hi, I am getting this error from many users. Can you help if anything is going wrong. Thanks!
Version used: 1.0.0-alpha02
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! at android.hardware.camera2.CaptureRequest.convertSurfaceToStreamId(CaptureRequest.java:738) at android.hardware.camera2.impl.CameraDeviceImpl.submitCaptureRequest(CameraDeviceImpl.java:1179) at android.hardware.camera2.impl.CameraDeviceImpl.captureBurst(CameraDeviceImpl.java:1048) at android.hardware.camera2.impl.CameraCaptureSessionImpl.captureBurst(CameraCaptureSessionImpl.java:242) at androidx.camera.camera2.impl.q.d(CaptureSession.java:18) at androidx.camera.camera2.impl.q.a(CaptureSession.java:80) at androidx.camera.camera2.impl.b.b(Camera.java:49) at androidx.camera.camera2.impl.b.a(Camera.java:51) at androidx.camera.camera2.impl.d.b(Camera2CameraControl.java:26) at androidx.camera.camera2.impl.d.b(Camera2CameraControl.java:11) at androidx.camera.camera2.impl.d$g.run(Camera2CameraControl.java:1) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.os.HandlerThread.run(HandlerThread.java:67)
-----------------------------------
If I start moving into 1.0.0-alpha04, getting another crashjava.lang.IllegalStateException: Image is already closed
at android.media.Image.throwISEIfImageIsInvalid(Image.java:68)
at android.media.ImageReader$SurfaceImage$SurfacePlane.getBuffer(ImageReader.java:787)
at androidx.camera.core.AndroidImageProxy$PlaneProxy.getBuffer(AndroidImageProxy.java:141)
at com.example.camerax.MainActivity.getImageFromProxy(MainActivity.kt:216)
at com.example.camerax.MainActivity.convertProxyImageToBitmap(MainActivity.kt:150)
at com.example.camerax.MainActivity.access$convertProxyImageToBitmap(MainActivity.kt:38)
at com.example.camerax.MainActivity$startCamera$3$1.invokeSuspend(MainActivity.kt:136)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)
-----------------------------------------------------------------
Actual Implementation snippet:HandlerThread analyzerThread = new HandlerThread("ImageAnalysisThread");
analyzerThread.start();
ImageAnalysisConfig imageAnalysisConfig = new ImageAnalysisConfig.Builder()
.setImageReaderMode(ImageAnalysis.ImageReaderMode.
ACQUIRE_LATEST_IMAGE)
.setCallbackHandler(new Handler(analyzerThread.getLooper()))
.setTargetAspectRatio(aspectRatio)
.setTargetResolution(screen)
.setImageQueueDepth(1)
.build();
ImageAnalysis imageAnalysis = new ImageAnalysis(imageAnalysisConfig);
imageAnalysis.setAnalyzer(
new ImageAnalysis.Analyzer() {.
@Override
public void analyze(ImageProxy imageProxy, int rotationDegrees) {
....
image.close()
}
}