StreamConfigurationMap.GetHighSpeedVideoFpsRanges Method

Definition

Get a list of supported high speed video recording FPS ranges.

[Android.Runtime.Register("getHighSpeedVideoFpsRanges", "()[Landroid/util/Range;", "")]
public Android.Util.Range[]? GetHighSpeedVideoFpsRanges ();
[<Android.Runtime.Register("getHighSpeedVideoFpsRanges", "()[Landroid/util/Range;", "")>]
member this.GetHighSpeedVideoFpsRanges : unit -> Android.Util.Range[]

Returns

Range[]

an array of supported high speed video recording FPS ranges The upper bound of returned ranges is guaranteed to be larger or equal to 120.

Attributes

Remarks

Get a list of supported high speed video recording FPS ranges.

When CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO is supported in CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES, this method will list the supported high speed video FPS range configurations. Application can then use #getHighSpeedVideoSizesFor to query available sizes for one of returned FPS range.

To enable high speed video recording, application must create a constrained create high speed capture session via CameraDevice#createConstrainedHighSpeedCaptureSession, and submit a CaptureRequest list created by android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession#createHighSpeedRequestList to this session. The application must select the video size from this method and CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE FPS range from #getHighSpeedVideoFpsRangesFor to configure the constrained high speed session and generate the high speed request list. For example, if the application intends to do high speed recording, it can select one FPS range reported by this method, query the video sizes corresponding to this FPS range by #getHighSpeedVideoSizesFor and use one of reported sizes to create a high speed capture session. Note that for the use case of multiple output streams, application must select one unique size from this method to use (e.g., preview and recording streams must have the same size). Otherwise, the high speed session creation will fail. Once the high speed capture session is created, the application can set the FPS range in the recording request lists via android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession#createHighSpeedRequestList.

The FPS ranges reported by this method will have below characteristics: <li>The fpsMin and fpsMax will be a multiple 30fps.</li> <li>The fpsMin will be no less than 30fps, the fpsMax will be no less than 120fps.</li> <li>At least one range will be a fixed FPS range where fpsMin == fpsMax.</li> <li>For each fixed FPS range, there will be one corresponding variable FPS range [30, fps_max] or [60, fps_max]. These kinds of FPS ranges are suitable for preview-only use cases where the application doesn't want the camera device always produce higher frame rate than the display refresh rate. Both 30fps and 60fps preview rate will not be supported for the same recording rate.</li>

Java documentation for android.hardware.camera2.params.StreamConfigurationMap.getHighSpeedVideoFpsRanges().

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