Catch IllegalStateExceptions in applyRepeatingRequestBuilder

pull/630/head
Mattia Iavarone 6 years ago
parent e1bcdd2eff
commit 07371482e9
  1. 11
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java

@ -245,6 +245,17 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
mRepeatingRequestCallback, null);
} catch (CameraAccessException e) {
throw new CameraException(e, errorReason);
} catch (IllegalStateException e) {
// mSession is invalid - has been closed. This is extremely worrying because
// it means that the session state and getPreviewState() are not synced.
// This probably signals an error in the setup/teardown synchronization.
LOG.e("applyRepeatingRequestBuilder: session is invalid!",
"checkStarted:", checkStarted,
"currentThread:", Thread.currentThread().getName(),
"previewState:", getPreviewState(),
"bindState:", getBindState(),
"engineState:", getEngineState());
throw new CameraException(CameraException.REASON_DISCONNECTED);
}
}
}

Loading…
Cancel
Save