camera2_frame_queue_dst_ops 结构体参考文档

camera2_frame_queue_dst_ops 结构体参考文档

#include < camera2.h >

数据字段

int(*  dequeue_frame )(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer)
 
int(*  cancel_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
 
int(*  enqueue_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
 

详细说明

帧输出队列协议:

该框架会保留队列及其内容。开始时,队列为空。

  1. 当设备准备好填充输出元数据帧时,必须从队列中移除所需大小的元数据缓冲区。
  2. 然后,它应填充元数据缓冲区,并使用 enqueue_frame 将其放置在帧队列中。框架会获得帧的所有权。
  3. 如果发生错误、请求刷新流水线或关闭,设备必须通过调用 cancel_frame 将所有受影响的已移出队列的帧返回给框架。

定义位于文件 camera2.h 263 行。

字段文档

int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

将已从队列中移出的元数据缓冲区返回给框架以供重复使用;请勿将其标记为已填充。在遇到错误或刷新内部请求队列时使用。

定义位于文件 camera2.h 278 行。

int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer)

获取一个空的元数据缓冲区,以便从框架中填充。新的元数据缓冲区将有足够的空间来存储 entries 个元数据条目,以及 data_bytes 字节的额外存储空间。此处从队列中移除的帧必须使用 cancel_frame 或 enqueue_frame 返回给框架。

定义位于文件 camera2.h 270 行。

int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

将完成的元数据帧放置在帧输出队列中。

定义位于文件 camera2.h 284 行。


此结构体的文档是根据以下文件生成的: