camera_get_supported_vf_rotations()

Updated: April 19, 2023

Retrieve the list of supported viewfinder rotation angles

Synopsis:

#include <camera/camera_api.h>
camera_error_t camera_get_supported_vf_rotations(camera_handle_t handle,
                                                 camera_frametype_t frametype,
                                                 uint32_t numasked,
                                                 uint32_t *numsupported,
                                                 uint32_t *rotations,
                                                 bool *nonsquare)

Arguments:

handle
The handle returned by a call to the camera_open() function.
frametype
The frame type to query supported rotations for. Using CAMERA_FRAMETYPE_UNSPECIFIED will return the supported rotations for the currently configured frame type (see camera_frametype_t).
numasked
The requested number of viewfinder rotations to return in the rotations array.
numsupported
The returned number of viewfinder rotations supported by the specified camera.
rotations
A pointer to a uint32_t array. The array is updated with the viewfinder rotations supported by the camera.
nonsquare
A value that is updated to reflect whether the camera supports viewfinder image rotations that are not square angles (i.e., multiples of 90 degrees).

Library:

libcamapi

Description:

After you use this function to retrieve the viewfinder rotations that are supported by the camera, you can configure the viewfinder rotation using camera_set_vf_property().

Typical rotations are multiples of 90 degrees (called square rotations), such as 0, 90, 180, and 270. For cameras that support only square rotations, a value of false will be returned in the nonsquare argument.

Ensure that the rotations argument points to an array that has at least numasked elements allocated. To determine an appropriate size for this array, you can invoke this function in presizing mode by setting the numasked argument to 0 or the rotations argument to NULL. The function then returns, in the numsupported argument, the maximum array size required. You can then allocate an array of this size, store its address in rotations, and invoke the function again with numasked set to that previous numsupported value.

Returns:

CAMERA_EOK when the function successfully completes, otherwise another camera_error_t value that provides the reason that the call failed.