camera2_frame_queue_dst_ops结构参考

camera2_frame_queue_dst_ops结构参考

#include < camera2.h >

数据字段

整数(* dequeue_frame )(const struct camera2_frame_queue_dst_ops *q,size_t 条目,size_t data_bytes, camera_metadata_t **缓冲区)
整数(* cancel_frame )(const structcamera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
整数(* enqueue_frame )(常量结构camera2_frame_queue_dst_ops * q, camera_metadata_t *缓冲区)

详细说明

帧输出队列协议:

该框架保存队列及其内容。开始时,队列是空的。

  1. 当设备准备好填充输出元数据帧时,它必须将所需大小的元数据缓冲区出列。
  2. 然后它应该填充元数据缓冲区,并使用 enqueue_frame 将其放入帧队列中。框架拥有框架的所有权。
  3. 如果发生错误、请求刷新管道或关闭,设备必须通过调用 cancel_frame 将所有受影响的出队帧返回到框架。

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

现场文档

int(*cancel_frame)(const structcamera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

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

文件camera2.h278行的定义。

int(* dequeue_frame)(const structcamera2_frame_queue_dst_ops *q、size_t 条目、size_t data_bytes、 camera_metadata_t **缓冲区)

从框架获取一个空的元数据缓冲区来填充。新的元数据缓冲区将有空间容纳元数据条目数,以及额外存储的 data_bytes 值。此处出列的帧必须使用 cancel_frame 或 enqueue_frame 返回到框架。

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

int(* enqueue_frame)(const structcamera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

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

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


该结构的文档是从以下文件生成的:
  • 硬件/libhardware/include/hardware/camera2.h