Partager via


CameraMetadata.RequestAvailableCapabilitiesOfflineProcessing Field

Definition

Caution

This constant will be removed in the future version. Use Android.Hardware.Camera2.RequestAvailableCapabilities enum directly instead of this field.

The camera device supports the OFFLINE_PROCESSING use case.

[Android.Runtime.Register("REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING", ApiSince=30)]
[System.Obsolete("This constant will be removed in the future version. Use Android.Hardware.Camera2.RequestAvailableCapabilities enum directly instead of this field.", true)]
public const Android.Hardware.Camera2.RequestAvailableCapabilities RequestAvailableCapabilitiesOfflineProcessing = 15;
[<Android.Runtime.Register("REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING", ApiSince=30)>]
[<System.Obsolete("This constant will be removed in the future version. Use Android.Hardware.Camera2.RequestAvailableCapabilities enum directly instead of this field.", true)>]
val mutable RequestAvailableCapabilitiesOfflineProcessing : Android.Hardware.Camera2.RequestAvailableCapabilities

Field Value

Value = 15
Attributes

Remarks

The camera device supports the OFFLINE_PROCESSING use case.

With OFFLINE_PROCESSING capability, the application can switch an ongoing capture session to offline mode by calling the CameraCaptureSession#switchToOffline method and specify streams to be kept in offline mode. The camera will then stop currently active repeating requests, prepare for some requests to go into offline mode, and return an offline session object. After the switchToOffline call returns, the original capture session is in closed state as if the CameraCaptureSession#close method has been called. In the offline mode, all inflight requests will continue to be processed in the background, and the application can immediately close the camera or create a new capture session without losing those requests' output images and capture results.

While the camera device is processing offline requests, it might not be able to support all stream configurations it can support without offline requests. When that happens, the createCaptureSession method call will fail. The following stream configurations are guaranteed to work without hitting the resource busy exception:

<ul> <li>One ongoing offline session: target one output surface of YUV or JPEG format, any resolution.</li> <li>The active camera capture session:<ol> <li>One preview surface (SurfaceView or SurfaceTexture) up to 1920 width</li> <li>One YUV ImageReader surface up to 1920 width</li> <li>One Jpeg ImageReader, any resolution: the camera device is allowed to slow down JPEG output speed by 50% if there is any ongoing offline session.</li> <li>If the device supports PRIVATE_REPROCESSING, one pair of ImageWriter/ImageReader surfaces of private format, with the same resolution that is larger or equal to the JPEG ImageReader resolution above.</li> </ol> </li> <li>Alternatively, the active camera session above can be replaced by an legacy android.hardware.Camera Camera with the following parameter settings:<ol> <li>Preview size up to 1920 width</li> <li>Preview callback size up to 1920 width</li> <li>Video size up to 1920 width</li> <li>Picture size, any resolution: the camera device is allowed to slow down JPEG output speed by 50% if there is any ongoing offline session.</li> </ol> </li> </ul>

Java documentation for android.hardware.camera2.CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to