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
This commit is contained in:
Chien-Yu Chen
2015-06-16 11:13:48 -07:00
parent 98b40aac83
commit c58a602a2f

View File

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