Camera2 API mapping

This page summarizes how Camera2 APIs replace core Extended View System (EVS) APIs.

IEvsEnumerator API

IEvsEnumerator Camera2 NDK API Camera2 Java API

openCamera

EVS openCamera combined the open and stream config; Camera2 separates them.

ACameraManager_openCamera and then ACameraDevice_createCaptureSession with AImageReader and then ACameraDevice_createCaptureRequest

CameraManager.openCamera and then CameraDevice.createCaptureSession (with ImageReader or other Surface) and then CameraDevice.createCaptureRequest

closeCamera ACameraDevice_close CameraDevice.close
getCameraList ACameraManager_getCameraIdList and then ACameraManager_getCameraCharacteristics for details CameraManager.getCameraIdList and then CameraManager.getCameraCharacteristics for details
getStreamList ACameraManager_getCameraCharacteristics, read ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS tag CameraManager.getCameraCharacteristics, get CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
registerStatusCallback ACameraManager_registerAvailabilityCallback with ACameraManager_AvailabilityListener CameraManager.registerAvailabilityCallback with CameraManager.AvailabilityCallback
isHardware N/A N/A

getDisplayIdList

Deprecated.

Use DisplayManager.getDisplays

N/A N/A

getDisplayState

Deprecated.

Use Display.getState

N/A N/A

getDisplayStateById

Deprecated.

Use DisplayManager.getDisplay and then Display.getState

N/A N/A

openDisplay

Deprecated.

Use WindowManager.addView on a specific Display

N/A N/A

closeDisplay

Deprecated.

Use WindowManager.removeView

N/A N/A

openUltrasonicsArray

Deprecated.

Use VHAL properties.

N/A N/A

getUltrasonicsArrayList

Deprecated.

Use VHAL properties.

N/A N/A

closeUltrasonicsArray

Deprecated.

Use VHAL properties.

N/A N/A

IEvsCamera

IEvsCamera Camera2 NDK API Camera2 Java API
getCameraInfo ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

getPhysicalCameraInfo

For logical cameras, check getPhysicalCameraIds

ACameraManager_getCameraCharacteristics CameraManager.getCameraCharacteristics

setMaxFramesInFlight

Can't be changed dynamically in Camera2; set when you create ImageReader

Set in AImageReader_new or AImageReader_newWithUsage Set in ImageReader.newInstance(width, height, format, maxImages)
startVideoStream ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest
stopVideoStream ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

pauseVideoStream

No direct equivalent. Use stopRepeatingRequest

ACameraCaptureSession_stopRepeating CameraCaptureSession.stopRepeating

resumeVideoStream

No direct equivalent; use setSingleRepeatingRequest

ACameraCaptureSession_setRepeatingRequestV2 CameraCaptureSession.setSingleRepeatingRequest

doneWithFrame

Releases buffer back to queue

AImage_delete Image.close

importExternalBuffers

Buffer management is handled by Surfaces. To learn more, see CameraCaptureSession.prepare

N/A N/A
getParameterList ACameraMetadata_getAllTags CameraCharacteristics.getKeys
getIntParameter ACaptureRequest_getConstEntry CaptureRequest.get(key)

getIntParameterRange

Ranges are part of CameraCharacteristics

ACameraMetadata_getConstEntry CameraCharacteristics.get(key)
(CONTROL_AE_COMPENSATION_RANGE), and similar
setIntParameter ACaptureRequest_setEntry_i32, _u8, and similar CaptureRequest.Builder.set(key, value)

getExtendedInfo

Use vendor tags to implement custom data.

Use vendor tags on ACaptureRequest
or ACameraMetadata
Use vendor tags on CaptureRequest or CameraCharacteristics

setExtendedInfo

Use vendor tags to implement custom data.

Use vendor tags on ACaptureRequest Use vendor tags on CaptureRequest.Builder

setPrimaryClient

Deprecated.

Primary client status is priority-based in the Camera2 shared mode.

N/A N/A

unsetPrimaryClient

Deprecated.

N/A N/A

forcePrimaryClient

Deprecated.

N/A N/A

IEvsCameraStream

IEvsCameraStream Camera2 NDK API Camera2 Java API

deliverFrame

Callback to receive new frames. Acquire the image with ImageReader.acquireLatestImage or ImageReader.acquireNextImage

onImageAvailable of AImageReader_ImageListener

onImageAvailable of ImageReader.OnImageAvailableListener

notify

Callbacks for capture events (started, progress, completion, failure) and CameraDevice.StateCallback for device events (error, disconnect).

ACameraCaptureSession_captureCallbacksV2

CameraCaptureSession.CaptureCallback

IEvsDisplay API

All APIs in the IEvsDisplay interface are deprecated. OEMs should use standard Android classes: