camera_device_ops 結構參考
camera_device_ops 結構參考
#include < camera.h >
詳細說明
現場文檔
int(* auto_focus)(結構camera_device *) |
int(*cancel_auto_focus)(結構camera_device *) |
int(*cancel_picture)(結構camera_device *) |
void(*disable_msg_type)(結構camera_device *,int32_t msg_type) |
int(* dump)(結構camera_device *, int fd) |
void(*enable_msg_type)(結構camera_device *,int32_t msg_type) |
char*(* get_parameters)(結構camera_device *) |
int(* msg_type_enabled)(結構camera_device *, int32_t msg_type) |
int(* Preview_enabled)(結構camera_device *) |
void(* put_parameters)(結構camera_device *, char *) |
int(* 錄音啟用)(結構camera_device *) |
void(*釋放)(結構camera_device *) |
void(*release_recording_frame)( structcamera_device *,constvoid*opaque) |
int(* send_command)(結構camera_device *,int32_t cmd,int32_t arg1,int32_t arg2) |
void(* set_callbacks)(結構camera_device *, camera_notify_callback notification_cb, c amera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory,void_memory) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(結構camera_device *,結構preview_stream_ops *視窗) |
int(* start_preview)(結構camera_device *) |
int(* start_recording)(結構camera_device *) |
無效(* stop_preview)(結構camera_device *) |
void(* stop_recording)(結構camera_device *) |
int(* store_meta_data_in_buffers)(結構camera_device *,int啟用) |
請相機 HAL 將元資料或實際 YUV 資料儲存在透過 CAMERA_MSG_VIDEO_FRAME 發送的視訊緩衝區中以進行錄製會話。如果未調用,預設相機 HAL 行為是將真實的 YUV 資料儲存在視訊緩衝區中。
該方法應在 startRecording() 之前呼叫才能生效。
如果元資料儲存在視訊緩衝區中,則由視訊緩衝區的接收器來解釋內容並藉助緩衝區中的元資料找到實際的幀資料。如何完成此操作超出了本方法的範圍。
某些相機 HAL 可能不支援在視訊緩衝區中儲存元數據,但所有相機 HAL 都應支援在視訊緩衝區中儲存真實的 YUV 資料。如果相機 HAL 在請求執行操作時不支援將元資料儲存在視訊緩衝區中,則必須傳回 INVALID_OPERATION。對於相機 HAL 來說,將元資料而不是實際幀資料直接傳遞給視訊編碼器非常有用,因為如果視訊尺寸很大,則未壓縮的幀資料量可能會非常大。
- 參數
使能夠 如果為 true,則指示相機 HAL 將元資料儲存在視訊緩衝區中; false 指示相機 HAL 將真實的 YUV 資料儲存在視訊緩衝區中。
- 退貨
- 就成功了。
int(* take_picture)(結構camera_device *) |
該結構的文檔是從以下文件產生的:
- 硬體/libhardware/include/hardware/camera.h