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

camera_device_ops การอ้างอิงโครงสร้าง

camera_device_ops การอ้างอิงโครงสร้าง

#include < camera.h >

เขตข้อมูล

int (* set_preview_window ) (struct camera_device *, struct หน้าต่าง preview_stream_ops *)
เป็นโมฆะ (* set_callbacks ) (struct camera_device *, camera_notify_callback alert_cb , camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, ผู้ใช้ว่างเปล่า)
เป็นโมฆะ (* enable_msg_type ) (struct camera_device *, int32_t msg_type)
เป็นโมฆะ (* disable_msg_type ) (struct camera_device *, int32_t msg_type)
int (* msg_type_enabled ) (struct camera_device *, int32_t msg_type)
int (* start_preview ) (struct camera_device *)
เป็นโมฆะ (* stop_preview ) (struct camera_device *)
int (* preview_enabled ) (struct camera_device *)
int (* store_meta_data_in_buffers ) (struct camera_device *, การเปิดใช้งาน int)
int (* start_recording ) (struct camera_device *)
เป็นโมฆะ (* stop_recording ) (struct camera_device *)
int (* recording_enabled ) (struct camera_device *)
เป็นโมฆะ (* release_recording_frame ) (struct camera_device *, const void * ทึบแสง)
int (* auto_focus ) (struct camera_device *)
int (* cancel_auto_focus ) (struct camera_device *)
int (* take_picture ) (struct camera_device *)
int (* cancel_picture ) (struct camera_device *)
int (* set_parameters ) (struct camera_device *, const char * parms)
ถ่าน * (* get_parameters ) (struct camera_device *)
เป็นโมฆะ (* put_parameters ) (struct camera_device *, char *)
int (* send_command ) (struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
เป็นโมฆะ (* ปล่อย ) (struct camera_device *)
int (* ดัมพ์ ) (struct camera_device *, int fd)

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

นิยามที่บรรทัด 99 ของไฟล์ camera.h

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

int (* auto_focus) (struct camera_device *)

เริ่มต้นโฟกัสอัตโนมัติรูทีนการโทรกลับการแจ้งเตือนจะถูกเรียกด้วย CAMERA_MSG_FOCUS หนึ่งครั้งเมื่อการโฟกัสสมบูรณ์ autoFocus () จะถูกเรียกอีกครั้งหากต้องการโฟกัสอัตโนมัติอื่น

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

int (* cancel_auto_focus) (struct camera_device *)

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

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

int (* cancel_picture) (struct camera_device *)

ยกเลิกรูปภาพที่เริ่มต้นด้วยการถ่ายภาพ การเรียกใช้วิธีนี้เมื่อไม่มีการถ่ายภาพคือไม่มีการเปิด

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

เป็นโมฆะ (* disable_msg_type) (struct camera_device *, int32_t msg_type)

ปิดใช้งานข้อความหรือชุดข้อความ

เมื่อได้รับการโทรไปที่ disableMsgType (CAMERA_MSG_VIDEO_FRAME) กล้อง HAL ไม่ควรพึ่งพาลูกค้าในการโทรออก releaseRecordingFrame () เพื่อปล่อยเฟรมการบันทึกวิดีโอที่ส่งโดย cameral HAL ก่อนและหลังการปิดการใช้งาน (CAMERA_MSG_VIDEO_FRAME) ไคลเอนต์ HAL ของกล้องจะต้องไม่แก้ไข / เข้าถึงเฟรมการบันทึกวิดีโอใด ๆ หลังจากเรียกใช้ disableMsgType (CAMERA_MSG_VIDEO_FRAME)

นิยามที่บรรทัดที่ 132 ของไฟล์ camera.h

int (* การถ่ายโอนข้อมูล) (struct camera_device *, int fd)

สถานะการถ่ายโอนข้อมูลของฮาร์ดแวร์กล้อง

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

เป็นโมฆะ (* enable_msg_type) (struct camera_device *, int32_t msg_type)

สามฟังก์ชั่นต่อไปนี้ใช้ msg_type ซึ่งเป็น bitmask ของข้อความที่กำหนดในการรวม / ui / Camera.h เปิดใช้งานข้อความหรือชุดของข้อความ

นิยามที่บรรทัดที่ 120 ของไฟล์ camera.h

ถ่าน * (* get_parameters) (struct camera_device *)

ดึงพารามิเตอร์กล้อง บัฟเฟอร์ที่ส่งคืนโดย HAL ของกล้องจะต้องถูกส่งคืนด้วย put_parameters ถ้า put_parameters ไม่ใช่ NULL

นิยามที่บรรทัด 258 ของไฟล์ camera.h

int (* msg_type_enabled) (struct camera_device *, int32_t msg_type)

สอบถามว่าเปิดใช้งานข้อความหรือชุดข้อความ โปรดทราบว่าสิ่งนี้ทำงานเป็น AND หากข้อความใด ๆ ที่ถูกสอบถามถูกปิดการใช้งานสิ่งนี้จะส่งคืนค่าเท็จ

นิยามที่บรรทัดที่ 139 ของไฟล์ camera.h

int (* preview_enabled) (struct camera_device *)

ผลตอบแทนจริงถ้าเปิดใช้งานแสดงตัวอย่าง

นิยามที่บรรทัดที่ 154 ของไฟล์ camera.h

เป็นโมฆะ (* put_parameters) (struct camera_device *, char *)

กล้อง HAL ใช้หน่วยความจำของตัวเองเพื่อส่งพารามิเตอร์ให้เราเมื่อเราเรียกใช้ get_parameters ใช้ฟังก์ชันนี้เพื่อส่งคืนหน่วยความจำกลับไปที่กล้อง HAL ถ้า put_parameters ไม่ใช่ NULL ถ้า put_parameters เป็น NULL คุณต้องใช้ free () เพื่อปลดหน่วยความจำ

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

int (* recording_enabled) (struct camera_device *)

ผลตอบแทนจริงถ้าเปิดใช้งานการบันทึก

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

เป็นโมฆะ (* ปล่อย) (struct camera_device *)

ปล่อยทรัพยากรฮาร์ดแวร์ที่เป็นเจ้าของโดยวัตถุนี้ โปรดทราบว่าสิ่งนี้ ไม่ได้ ทำใน destructor

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

เป็นโมฆะ (* release_recording_frame) (struct camera_device *, const void * ทึบแสง)

ปล่อยเฟรมบันทึกที่ส่งคืนโดย CAMERA_MSG_VIDEO_FRAME ก่อนหน้านี้

เป็นความรับผิดชอบของลูกค้าที่ใช้กล้อง HAL ในการปล่อยเฟรมบันทึกวิดีโอที่ส่งออกโดยกล้อง HAL ก่อนที่กล้อง HAL จะได้รับสายให้ปิดการใช้งาน MsgType (CAMERA_MSG_VIDEO_FRAME) หลังจากได้รับการเรียกให้ปิดการใช้งานประเภท mSgType (CAMERA_MSG_VIDEO_FRAME) เป็นความรับผิดชอบของกล้อง HAL ในการจัดการวงจรชีวิตของเฟรมบันทึกวิดีโอ

นิยามที่บรรทัด 219 ของไฟล์ camera.h

int (* send_command) (struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

ส่งคำสั่งไปยังไดรเวอร์กล้อง

นิยามที่บรรทัดที่ 270 ของไฟล์ camera.h

เป็นโมฆะ (* set_callbacks) (struct camera_device *, camera_notify_callback alert_cb , camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, ผู้ใช้ที่เป็นโมฆะ)

ตั้งค่าการแจ้งเตือนและการเรียกกลับข้อมูล

นิยามที่บรรทัดที่ 105 ของไฟล์ camera.h

int (* set_parameters) (struct camera_device *, const char * parms)

ตั้งค่าพารามิเตอร์ของกล้อง สิ่งนี้จะส่งกลับ BAD_VALUE หากพารามิเตอร์ใด ๆ ไม่ถูกต้องหรือไม่รองรับ

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

int (* set_preview_window) (struct camera_device *, struct หน้าต่าง preview_stream_ops *)

ตั้ง ANativeWindow เป็นเฟรมตัวอย่างที่ส่ง

นิยามที่บรรทัด 101 ของไฟล์ camera.h

int (* start_preview) (struct camera_device *)

เริ่มโหมดแสดงตัวอย่าง

นิยามที่บรรทัดที่ 144 ของไฟล์ camera.h

int (* start_recording) (struct camera_device *)

เริ่มโหมดบันทึก เมื่อภาพบันทึกพร้อมใช้งานข้อความ CAMERA_MSG_VIDEO_FRAME จะถูกส่งพร้อมเฟรมที่เกี่ยวข้อง ทุกเฟรมเรคคอร์ดจะต้องได้รับการปล่อยตัวจากไคลเอนต์ HAL ของกล้องผ่านทาง releaseRecordingFrame () ก่อนที่ไคลเอ็นต์จะเรียกใช้ disableMsgType (CAMERA_MSG_VIDEO_FRAME) หลังจากที่ไคลเอ็นต์เรียกใช้ disableMsgType (CAMERA_MSG_VIDEO_FRAME) เป็นความรับผิดชอบของกล้อง HAL ในการจัดการวงจรชีวิตของเฟรมการบันทึกวิดีโอและลูกค้าจะต้องไม่แก้ไข / เข้าถึงเฟรมการบันทึกวิดีโอใด ๆ

นิยามที่บรรทัดที่ 198 ของไฟล์ camera.h

เป็นโมฆะ (* stop_preview) (struct camera_device *)

หยุดการแสดงตัวอย่างที่เริ่มต้นก่อนหน้านี้

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

เป็นโมฆะ (* stop_recording) (struct camera_device *)

หยุดการบันทึกที่เริ่มต้นก่อนหน้านี้

นิยามที่บรรทัด 203 ของไฟล์ camera.h

int (* store_meta_data_in_buffers) (struct camera_device *, เปิดใช้งาน int)

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

ควรเรียกวิธีนี้ก่อน startRecording () เพื่อให้มีประสิทธิภาพ

หากข้อมูลเมตาถูกเก็บไว้ในบัฟเฟอร์วิดีโอมันขึ้นอยู่กับตัวรับสัญญาณของบัฟเฟอร์วิดีโอเพื่อตีความเนื้อหาและเพื่อค้นหาข้อมูลเฟรมจริงด้วยความช่วยเหลือของข้อมูลเมตาในบัฟเฟอร์ วิธีการทำเช่นนี้อยู่นอกขอบเขตของวิธีการนี้

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

พารามิเตอร์
ทำให้สามารถ ถ้าเป็นจริงเพื่อแนะนำให้กล้อง HAL จัดเก็บข้อมูลเมตาในบัฟเฟอร์วิดีโอ false เพื่อสั่งให้กล้อง HAL จัดเก็บข้อมูล YUV จริงในบัฟเฟอร์วิดีโอ
ผลตอบแทน
ตกลงเกี่ยวกับความสำเร็จ

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

int (* take_picture) (struct camera_device *)

ถ่ายภาพ.

นิยามที่บรรทัดที่ 240 ของไฟล์ camera.h


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