| Updated: October 28, 2024 |
Status of the camera device
#include <camera/camera_api.h>
typedef enum {
CAMERA_STATUS_UNKNOWN = 0,
CAMERA_STATUS_DISCONNECTED,
CAMERA_STATUS_CONNECTED,
CAMERA_STATUS_POWERDOWN,
CAMERA_STATUS_VIDEOVF,
CAMERA_STATUS_MM_ERROR,
CAMERA_STATUS_FILESIZE_ERROR,
CAMERA_STATUS_NOSPACE_ERROR,
CAMERA_STATUS_CAPTURE_ABORTED,
CAMERA_STATUS_FILESIZE_WARNING,
CAMERA_STATUS_FOCUS_CHANGE,
CAMERA_STATUS_RESOURCENOTAVAIL,
CAMERA_STATUS_VIDEO_PAUSE,
CAMERA_STATUS_VIDEO_RESUME,
CAMERA_STATUS_POWERUP,
CAMERA_STATUS_FRAME_DROPPED,
CAMERA_STATUS_FILESIZE_LIMIT_WARNING,
CAMERA_STATUS_VIEWFINDER_ACTIVE,
CAMERA_STATUS_BUFFER_UNDERFLOW,
CAMERA_STATUS_VIEWFINDER_ERROR
} camera_devstatus_t;
This is typical when the device is going into a standby state. The extra uint16_t value can be interpreted as follows:
Recordings will stop with this error when the size is getting too close to the limit.
The default is 60 seconds, but you can change the time-remaining threshold using the camera_set_video_filesize_warning() function.
The extra uint16_t value can be interpreted as follows:
You can call the camera_get_focus_state() function to retrieve further details, including the focus region co-ordinates.
You should release camera resources by returning buffers, stopping recordings, and stopping viewfinders. This event happens when the device is about to enter standby mode or a higher-priority process needs access to resources that are shared with the camera. The extra uint16_t value can be interpreted as follows:
For more important information related to the triggering of this status event, see Resource Management and the camera_register_resource() function.
This pause is due to resources needed for video encoding being currently unavailable (i.e., needed elsewhere). While encoding is paused, there will be a gap in the video file. Your application may stop video encoding when this status event is received. When resources become available, a CAMERA_STATUS_VIDEO_RESUME status change will be sent.
This status typically occurs when the device returns from the standby (i.e., CAMERA_STATUS_POWERDOWN) state.
The uint16_t extra argument contains the camera_eventkey_t associated with the buffer queue that overflowed.
This status event is generated after the user has called camera_set_video_filesize_limit() to set a non-zero file size limit and it was determined that the file size limit will be reached in the configured warning time.
This is sent initially after entering CAMERA_STATUS_VIDEOVF to indicate that we have received our first viewfinder buffer. This is also sent after we recover from an error such as CAMERA_STATUS_BUFFER_UNDERFLOW or CAMERA_STATUS_VIEWFINDER_ERROR to indicate that streaming is back to working as expected.
When the viewfinder has recovered, a CAMERA_STATUS_VIEWFINDER_ACTIVE indication will be given.
When the viewfinder has recovered, a CAMERA_STATUS_VIEWFINDER_ACTIVE indication will be given.
These values are delivered to the status callback functions or via the camera_get_status_details() function whenever the status of the camera changes.
Status changes may also convey additional information as a uint16_t value where indicated.