Updated: April 19, 2023

The image data and metadata from the camera buffer


#include <camera/camera_api.h>
typedef struct {
    camera_frametype_t frametype;
    uint64_t framesize;
    uint8_t* framebuf;
    uint64_t framemetasize;
    void* framemeta;
    int64_t frametimestamp;
    camera_framedesc_t framedesc;
} camera_buffer_t;


camera_frametype_t frametype
The type of frame descriptor that is used to distinguish between members of the framedesc union.
uint64_t framesize
The size of the camera_buffer_t structure.

This does not describe the size of the image data pointed to by framebuf. The actual image size must be computed using format-specific fields in the appropriate camera_framedesc_t member.

uint8_t* framebuf
A pointer to the frame data.
uint64_t framemetasize
The size of the associated metadata.
void* framemeta
A pointer to the associated metadata.
int64_t frametimestamp
The timestamp when the buffer was filled.

The timestamp is referenced to the system monotonic clock (CLOCK_MONOTONIC) and is in units of micro-seconds.

camera_framedesc_t framedesc
The union which describes the geometry of the image data being reported by the framebuf field (see camera_framedesc_t).




The camera buffer structure conveys image data between the API and an application and describes the format of the image data.