การอ้างอิงโครงสร้าง camera2_stream_ops
#include < camera2.h >
เขตข้อมูล | |
อินท์(* | dequeue_buffer ) (const struct camera2_stream_ops *w, buffer_handle_t **บัฟเฟอร์) |
อินท์(* | enqueue_buffer ) (const struct camera2_stream_ops *w, การประทับเวลา int64_t, buffer_handle_t *buffer) |
อินท์(* | cancel_buffer )(const struct camera2_stream_ops *w, buffer_handle_t *บัฟเฟอร์) |
อินท์(* | set_crop )(const struct camera2_stream_ops *w, int ซ้าย, int บน, int ขวา, int ล่าง) |
คำอธิบายโดยละเอียด
อินเตอร์เฟซคิวสตรีมภาพเอาท์พุต ชุดของวิธีการเหล่านี้มีให้กับอุปกรณ์ HAL ใน allowance_stream() และใช้เพื่อโต้ตอบกับคิวบัฟเฟอร์ gralloc สำหรับสตรีมนั้น อาจไม่ถูกเรียกจนกว่าหลังจาก allowance_stream ส่งคืน
เอกสารภาคสนาม
int(* cancel_buffer)(const struct camera2_stream_ops *w, buffer_handle_t *บัฟเฟอร์) |
int(* dequeue_buffer)(const struct camera2_stream_ops *w, buffer_handle_t **บัฟเฟอร์) |
รับบัฟเฟอร์เพื่อเติมจากคิว ขนาดและรูปแบบของบัฟเฟอร์ได้รับการแก้ไขสำหรับสตรีมที่กำหนด (กำหนดใน allowance_stream) และควรสอบถามก้าวย่างจากโมดูลแพลตฟอร์ม gralloc บัฟเฟอร์ gralloc จะได้รับการจัดสรรตามแฟล็กการใช้งานที่จัดสรรโดย allowance_stream และจะถูกล็อคสำหรับการใช้งาน
int (* enqueue_buffer) (const struct camera2_stream_ops *w, int64_t การประทับเวลา, buffer_handle_t *buffer) |
ดันบัฟเฟอร์ที่เติมไปยังสตรีมที่ผู้บริโภคจะใช้
การประทับเวลาแสดงถึงเวลาที่เริ่มเปิดรับแสงของแถวแรกของรูปภาพ ต้องมาจากนาฬิกาแบบโมโนโทนิก และวัดเป็นนาโนวินาที การประทับเวลาไม่จำเป็นต้องเปรียบเทียบระหว่างกล้องที่แตกต่างกัน หรืออินสแตนซ์ที่ต่อเนื่องกันของกล้องเดียวกัน อย่างไรก็ตาม จะต้องเปรียบเทียบระหว่างสตรีมจากกล้องตัวเดียวกันได้ หากการบันทึกหนึ่งครั้งสร้างบัฟเฟอร์สำหรับหลายสตรีม แต่ละสตรีมจะต้องมีการประทับเวลาเดียวกันสำหรับบัฟเฟอร์นั้น และการประทับเวลานั้นจะต้องตรงกับการประทับเวลาในข้อมูลเมตาของเฟรมเอาต์พุต
int(* set_crop)(const struct camera2_stream_ops *w, int ซ้าย, int บน, int ขวา, int ล่าง) |
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
- ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / camera2.h