CaptureRequest contains unconfigured Input/Output Surface!

253 views
Skip to first unread message

Balasubramanian Maruthavanan

unread,
Jun 23, 2021, 11:53:51 AM6/23/21
to Android CameraX Discussion Group
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 crash

java.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()
  }
}

Android CameraX Discussion Group

unread,
Jun 24, 2021, 3:19:04 AM6/24/21
to Android CameraX Discussion Group, balas...@gmail.com
Hi there,

Thanks for reaching out. 1.0.0-alpha02 and alpha04 are too old to use. We have published Stable version in May, 2021. Please use 1.0.0 version and let us know if you still encounter the same problem. Thanks!
Reply all
Reply to author
Forward
0 new messages