การอ้างอิง Struct camera2_frame_queue_dst_ops
การอ้างอิง Struct 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) |
คำอธิบายโดยละเอียด
โปรโตคอลคิวเอาต์พุตเฟรม
เฟรมเวิร์กจะเก็บคิวและเนื้อหาของคิวไว้ ในตอนเริ่มต้น คิวจะว่างเปล่า
- เมื่ออุปกรณ์พร้อมที่จะกรอกเฟรมข้อมูลเมตาเอาต์พุต อุปกรณ์จะต้องนำบัฟเฟอร์ข้อมูลเมตาขนาดที่ต้องการออกจากคิว
- จากนั้นควรกรอกบัฟเฟอร์ข้อมูลเมตาและวางไว้ในคิวเฟรมโดยใช้ enqueue_frame เฟรมเวิร์กจะเป็นเจ้าของเฟรม
- ในกรณีที่เกิดข้อผิดพลาด คำขอล้างไปป์ไลน์ หรือระบบปิดเครื่อง อุปกรณ์ต้องส่งเฟรมที่ดึงออกจากคิวซึ่งได้รับผลกระทบกลับไปยังเฟรมเวิร์กโดยเรียกใช้ cancel_frame
เอกสารประกอบในสนาม
int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer) |
int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
- hardware/libhardware/include/hardware/ camera2.h