What’s New

CameraX 1.5.0-beta02

1.5.0-beta02

Version 1.5.0-beta02

Added new APIs to set or query groups of high-quality features more intuitively and accurately as these features may not be supported as a combination across all devices. SessionConfig now contains new APIs to denote a group of features as either required or preferred. The CameraInfo.isFeatureGroupSupported API allows to know if a feature group is supported before binding a SessionConfig. SessionConfig also allows setting a listener to know which features are finally selected when a session config is bound. Added new API SessoinConfig.Builder.setFrameRateRange(Range) and CameraInfo.getSupportedFrameRateRanges(SessionConfig), enabling developers to query guaranteed supported frame rates constrained by a specific SessionConfig and then apply the frame rate on SessionConfig. Introduced the new SessionConfig API, which includes a better abstraction for configuring use cases, session parameters, CameraEffect, ViewPort and etc. Binding a SessionConfig to a LifecycleOwner opens the camera session, configures it using the specified use cases and session parameters, and applies the designated CameraEffect and ViewPort. When updating a new SessionConfig to the same LifecycleOwner, you can just bind a new Sessionconfig without the need of invoking unbind or unbindAll first. Added new APIs to record high-speed/slow-motion video. See HighSpeedVideoSessionConfig API for more details. Fixed ImageCaptureCapabilities#getSupportedOutputFormats() API reporting RAW formats as supported in some devices which doesn't actually have RAW capability. Fixed the memory leak that happens when PreviewView is used, CameraEffect is enabled or binding 4 use cases(StreamSharing) Fixed a video recording crash by AssertionError: Invalid internal audio state: IDLING. Fixed the issue when the app runs in an external display and the device is landscape, the preview in PreviewView becomes stretched or sideway Fixed the issue that Preview Stabilization settings are not correctly applied when the camera stream is sharing between Preview and VideoCapture. CameraXViewfinder now properly handles surface replacement in the underlying Viewfinder. This covers scenarios such as when an EXTERNAL viewfinder on API level 28 or lower moves off screen or if a CameraXViewfinder (with any ImplementationMode) is part of moveableContentOf(). In cases where the underlying ViewfinderSurfaceSession cannot be kept alive, the CameraXViewfinder will invalidate the current CameraX SurfaceRequest, allowing CameraX to use the new Surface. Fixes an issue on Android 10/11 where the EXTERNAL CameraXViewfinder could appear stretched or incorrect due to transformation operations (like scale or translate) being applied too early. The system now waits for the Surface to be created before applying these transformations in the layout phase, ensuring correct output. Composable CameraXViewfinder now works correctly with Compose's Pager. This change ensures that the Composable can be successfully reset by implementing the onReset callback of AndroidView, supporting both EMBEDDED and EXTERNAL implementations. Fixed a lifecycle owner leak that happens when unbinding use cases from a lifecycle owner without shutting down the camera provider.

View original

Discussion