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.