การอ้างอิงโครงสร้าง camera_device_ops
#include < camera.h >
เขตข้อมูล | |
อินท์(* | set_preview_window ) (struct camera_device *, struct Preview_stream_ops * หน้าต่าง) |
เป็นโมฆะ(* | set_callbacks ) (struct กล้อง_อุปกรณ์ *, กล้อง_notify_callback notify_cb, กล้อง_data_callback data_cb, กล้อง_data_timestamp_callback data_cb_timestamp, กล้อง_request_memory get_memory, เป็นโมฆะ * ผู้ใช้) |
เป็นโมฆะ(* | Enable_msg_type ) (struct camera_device *, int32_t msg_type) |
เป็นโมฆะ(* | Disable_msg_type ) (struct camera_device *, int32_t msg_type) |
อินท์(* | msg_type_enabled )(struct camera_device *, int32_t msg_type) |
อินท์(* | start_preview )(struct camera_device *) |
เป็นโมฆะ(* | stop_preview ) (struct camera_device *) |
อินท์(* | Preview_enabled )(struct กล้อง_อุปกรณ์ *) |
อินท์(* | store_meta_data_in_buffers ) (struct camera_device *, เปิดใช้งาน int) |
อินท์(* | start_recording )(struct กล้อง_อุปกรณ์ *) |
เป็นโมฆะ(* | stop_recording ) (struct camera_device *) |
อินท์(* | การบันทึก_เปิดใช้งาน )(struct camera_device *) |
เป็นโมฆะ(* | release_recording_frame ) (struct camera_device *, const void *ทึบแสง) |
อินท์(* | auto_focus ) (struct camera_device *) |
อินท์(* | cancel_auto_focus ) (struct camera_device *) |
อินท์(* | take_picture ) (struct camera_device *) |
อินท์(* | cancel_picture ) (struct กล้อง_อุปกรณ์ *) |
อินท์(* | set_parameters ) (struct camera_device *, const char *parms) |
ถ่าน *(* | get_parameters ) (struct camera_device *) |
เป็นโมฆะ(* | put_parameters ) (struct camera_device *, char *) |
อินท์(* | send_command ) (struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
เป็นโมฆะ(* | ปล่อย )(struct camera_device *) |
อินท์(* | ดัมพ์ )(struct camera_device *, int fd) |
คำอธิบายโดยละเอียด
เอกสารภาคสนาม
int(* auto_focus)(struct camera_device *) |
int(* cancel_auto_focus)(struct camera_device *) |
int(* cancel_picture)(struct กล้อง_อุปกรณ์ *) |
เป็นโมฆะ (* Disable_msg_type) (struct camera_device *, int32_t msg_type) |
ปิดการใช้งานข้อความหรือชุดข้อความ
เมื่อได้รับการเรียกให้ปิดการใช้งาน MsgType(CAMERA_MSG_VIDEO_FRAME) กล้อง HAL ไม่ควรพึ่งพาไคลเอ็นต์ในการเรียก releaseRecordingFrame() เพื่อปล่อยเฟรมการบันทึกวิดีโอที่ส่งออกโดย Cameral HAL ก่อนและหลังการเรียก DisableMsgType(CAMERA_MSG_VIDEO_FRAME) ไคลเอนต์กล้อง HAL จะต้องไม่แก้ไข/เข้าถึงเฟรมการบันทึกวิดีโอใด ๆ หลังจากเรียก DisableMsgType(CAMERA_MSG_VIDEO_FRAME)
int(* dump)(struct camera_device *, int fd) |
เป็นโมฆะ (* Enable_msg_type) (struct camera_device *, int32_t msg_type) |
ถ่าน * (* get_parameters) (struct camera_device *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
int(* Preview_enabled)(struct กล้อง_อุปกรณ์ *) |
เป็นโมฆะ (* put_parameters) (struct camera_device *, char *) |
int(* การบันทึก_เปิดใช้งาน)(struct กล้อง_อุปกรณ์ *) |
เป็นโมฆะ (* ปล่อย) (struct camera_device *) |
เป็นโมฆะ (* 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 มีหน้าที่รับผิดชอบในการจัดการวงจรชีวิตของเฟรมการบันทึกวิดีโอ
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
เป็นโมฆะ (* set_callbacks) (struct camera_device *, camera_notify_callback notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void * ผู้ใช้) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(struct camera_device *, struct Preview_stream_ops *หน้าต่าง) |
int(* start_preview)(struct camera_device *) |
int(* start_recording)(struct camera_device *) |
เริ่มโหมดบันทึก เมื่อมีภาพที่บันทึกไว้ ข้อความ CAMERA_MSG_VIDEO_FRAME จะถูกส่งไปพร้อมกับเฟรมที่เกี่ยวข้อง ทุกเฟรมบันทึกจะต้องได้รับการเผยแพร่โดยไคลเอนต์กล้อง HAL ผ่าน releaseRecordingFrame() ก่อนที่ไคลเอนต์จะเรียก DisableMsgType(CAMERA_MSG_VIDEO_FRAME) หลังจากที่ไคลเอ็นต์เรียก DisableMsgType(CAMERA_MSG_VIDEO_FRAME) กล้อง HAL มีหน้าที่รับผิดชอบในการจัดการวงจรชีวิตของเฟรมการบันทึกวิดีโอ และไคลเอ็นต์จะต้องไม่แก้ไข/เข้าถึงเฟรมการบันทึกวิดีโอใดๆ
เป็นโมฆะ (* stop_preview) (struct camera_device *) |
เป็นโมฆะ (* stop_recording) (struct camera_device *) |
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 จริงในบัฟเฟอร์วิดีโอ
- การส่งคืน
- โอเคกับความสำเร็จ
int(* take_picture)(struct กล้อง_อุปกรณ์ *) |
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้:
- ฮาร์ดแวร์ / libhardware / รวม / ฮาร์ดแวร์ / กล้อง h