diff options
author | Chien-Yu Chen <cychen@google.com> | 2015-06-16 11:13:48 -0700 |
---|---|---|
committer | Chien-Yu Chen <cychen@google.com> | 2015-06-16 12:07:57 -0700 |
commit | c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c (patch) | |
tree | dd3859d1a5bd958c9b6fe3f074b6f2a589a209c4 | |
parent | 98b40aac8399d8befc5099955a34ce54df477d8f (diff) | |
download | frameworks_base-c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c.zip frameworks_base-c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c.tar.gz frameworks_base-c58a602a2f832a1defbfb1d18e2a1c6cd7fb286c.tar.bz2 |
Camera2: Handle getting input surface failures
Don't get the input surface after creating a session failed. Catch
the CameraRuntimeException when getting the input surface so
onConfigureFailed will be fired.
Bug: 20945169
Change-Id: Iea6891c2a1d7419d7d6669a17114f949c03a0319
-rw-r--r-- | core/java/android/hardware/camera2/impl/CameraDeviceImpl.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java index ed167f0..95c46d1 100644 --- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @@ -536,12 +536,16 @@ public class CameraDeviceImpl extends CameraDevice { CameraAccessException pendingException = null; Surface input = null; try { - // configure streams and then block until IDLE + // configure streams and then block until IDLE configureSuccess = configureStreamsChecked(inputConfig, outputConfigurations, isConstrainedHighSpeed); - if (inputConfig != null) { + if (configureSuccess == true && inputConfig != null) { input = new Surface(); - mRemoteDevice.getInputSurface(/*out*/input); + try { + mRemoteDevice.getInputSurface(/*out*/input); + } catch (CameraRuntimeException e) { + e.asChecked(); + } } } catch (CameraAccessException e) { configureSuccess = false; |