Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

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 บัฟเฟอร์ **)
int (* cancel_frame ) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * บัฟเฟอร์)
int (* enqueue_frame ) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * บัฟเฟอร์)

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

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

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

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

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

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

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

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

คำจำกัดความที่บรรทัด 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


เอกสารสำหรับ struct นี้ถูกสร้างขึ้นจากไฟล์ต่อไปนี้:
  • hardware / libhardware / include / hardware / camera2.h