使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

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条目,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条目,size_t data_bytes, camera_metadata_t ** buffer)

获取一个空的元数据缓冲区以从框架中进行填充。新的元数据缓冲区将有空间容纳元数据条目的条目数量,外加价值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行定义。


该结构的文档是从以下文件生成的: