Loading core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +32 −24 Original line number Diff line number Diff line Loading @@ -1026,6 +1026,9 @@ public class CameraDeviceImpl extends CameraDevice // callback is valid executor = checkExecutor(executor, callback); synchronized(mInterfaceLock) { checkIfCameraClosedOrInError(); // Make sure that there all requests have at least 1 surface; all surfaces are non-null; // the surface isn't a physical stream surface for reprocessing request for (CaptureRequest request : requestList) { Loading @@ -1052,8 +1055,6 @@ public class CameraDeviceImpl extends CameraDevice } } synchronized(mInterfaceLock) { checkIfCameraClosedOrInError(); if (repeating) { stopRepeating(); } Loading Loading @@ -2343,14 +2344,21 @@ public class CameraDeviceImpl extends CameraDevice if (errorCode == ERROR_CAMERA_BUFFER) { // Because 1 stream id could map to multiple surfaces, we need to specify both // streamId and surfaceId. List<Surface> surfaces = mConfiguredOutputs.get(resultExtras.getErrorStreamId()).getSurfaces(); for (Surface surface : surfaces) { OutputConfiguration config = mConfiguredOutputs.get( resultExtras.getErrorStreamId()); if (config == null) { Log.v(TAG, String.format( "Stream %d has been removed. Skipping buffer lost callback", resultExtras.getErrorStreamId())); return; } for (Surface surface : config.getSurfaces()) { if (!request.containsTarget(surface)) { continue; } if (DEBUG) { Log.v(TAG, String.format("Lost output buffer reported for frame %d, target %s", Log.v(TAG, String.format( "Lost output buffer reported for frame %d, target %s", frameNumber, surface)); } failureDispatch = new Runnable() { Loading Loading
core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +32 −24 Original line number Diff line number Diff line Loading @@ -1026,6 +1026,9 @@ public class CameraDeviceImpl extends CameraDevice // callback is valid executor = checkExecutor(executor, callback); synchronized(mInterfaceLock) { checkIfCameraClosedOrInError(); // Make sure that there all requests have at least 1 surface; all surfaces are non-null; // the surface isn't a physical stream surface for reprocessing request for (CaptureRequest request : requestList) { Loading @@ -1052,8 +1055,6 @@ public class CameraDeviceImpl extends CameraDevice } } synchronized(mInterfaceLock) { checkIfCameraClosedOrInError(); if (repeating) { stopRepeating(); } Loading Loading @@ -2343,14 +2344,21 @@ public class CameraDeviceImpl extends CameraDevice if (errorCode == ERROR_CAMERA_BUFFER) { // Because 1 stream id could map to multiple surfaces, we need to specify both // streamId and surfaceId. List<Surface> surfaces = mConfiguredOutputs.get(resultExtras.getErrorStreamId()).getSurfaces(); for (Surface surface : surfaces) { OutputConfiguration config = mConfiguredOutputs.get( resultExtras.getErrorStreamId()); if (config == null) { Log.v(TAG, String.format( "Stream %d has been removed. Skipping buffer lost callback", resultExtras.getErrorStreamId())); return; } for (Surface surface : config.getSurfaces()) { if (!request.containsTarget(surface)) { continue; } if (DEBUG) { Log.v(TAG, String.format("Lost output buffer reported for frame %d, target %s", Log.v(TAG, String.format( "Lost output buffer reported for frame %d, target %s", frameNumber, surface)); } failureDispatch = new Runnable() { Loading