การอ้างอิงโครงสร้าง 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 struct camera2_frame_queue_dst_ops *q, camera_metadata_t *บัฟเฟอร์)
อินท์(* enqueue_frame ) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * บัฟเฟอร์)

คำอธิบายโดยละเอียด

โปรโตคอลคิวเอาท์พุตเฟรม:

กรอบงานจะเก็บคิวและเนื้อหาไว้ เมื่อเริ่มต้นคิวจะว่างเปล่า

  1. เมื่ออุปกรณ์พร้อมที่จะเติมเฟรมข้อมูลเมตาเอาต์พุต อุปกรณ์จะต้องแยกบัฟเฟอร์ข้อมูลเมตาที่มีขนาดที่ต้องการ
  2. จากนั้นควรเติมบัฟเฟอร์ข้อมูลเมตา และวางไว้บนคิวเฟรมโดยใช้ enqueue_frame เฟรมเวิร์กจะเป็นเจ้าของเฟรม
  3. ในกรณีที่เกิดข้อผิดพลาด คำขอล้างไปป์ไลน์ หรือการปิดระบบ อุปกรณ์จะต้องส่งคืนเฟรมที่ออกจากคิวที่ได้รับผลกระทบไปยังเฟรมเวิร์กโดยการเรียก cancel_frame

คำจำกัดความที่บรรทัด 263 ของไฟล์ camera2.h

เอกสารภาคสนาม

int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *บัฟเฟอร์)

ส่งคืนบัฟเฟอร์ข้อมูลเมตาที่ออกจากคิวไปยังเฟรมเวิร์กเพื่อนำมาใช้ซ้ำ อย่าทำเครื่องหมายว่าเต็มแล้ว ใช้เมื่อพบข้อผิดพลาดหรือล้างคิวคำขอภายใน

คำจำกัดความที่บรรทัด 278 ของไฟล์ camera2.h

int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, รายการ size_t, size_t data_bytes, camera_metadata_t **บัฟเฟอร์)

รับบัฟเฟอร์ข้อมูลเมตาว่างเพื่อเติมเต็มจากกรอบงาน บัฟเฟอร์ข้อมูลเมตาใหม่จะมีที่ว่างสำหรับจำนวนรายการของรายการข้อมูลเมตา รวมถึง data_bytes ของพื้นที่เก็บข้อมูลเพิ่มเติม เฟรมที่ออกจากคิวที่นี่จะต้องส่งคืนไปยังเฟรมเวิร์กด้วย cancel_frame หรือ enqueue_frame

คำจำกัดความที่บรรทัด 270 ของไฟล์ camera2.h

int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *บัฟเฟอร์)

วางเฟรมข้อมูลเมตาที่เสร็จสมบูรณ์บนคิวเอาท์พุตเฟรม

คำจำกัดความที่บรรทัด 284 ของไฟล์ camera2.h


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
  • ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / camera2.h