referencia de estructura camera_device_ops
#include < camera.h >
Campos de información | |
En t(* | set_preview_window )(estructura camera_device *, estructura previa_stream_ops *ventana) |
vacío(* | 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 *usuario) |
vacío(* | enable_msg_type (struct camera_device *, int32_t msg_type) |
vacío(* | desactivar_msg_type )(struct camera_device *, int32_t msg_type) |
En t(* | msg_type_enabled (struct camera_device *, int32_t msg_type) |
En t(* | start_preview )(struct camera_device *) |
vacío(* | stop_preview )(struct camera_device *) |
En t(* | vista previa_enabled (estructura cámara_dispositivo *) |
En t(* | store_meta_data_in_buffers )(struct camera_device *, int enable) |
En t(* | start_recording )(struct camera_device *) |
vacío(* | stop_recording )(struct camera_device *) |
En t(* | grabación_enabled (estructura cámara_dispositivo *) |
vacío(* | release_recording_frame )(struct camera_device *, const void *opaco) |
En t(* | auto_focus )(estructura cámara_dispositivo *) |
En t(* | cancel_auto_focus )(struct camera_device *) |
En t(* | tomar_foto (estructura cámara_dispositivo *) |
En t(* | cancelar_imagen ) (estructura cámara_dispositivo *) |
En t(* | set_parameters )(struct camera_device *, const char *parms) |
carácter *(* | get_parameters )(struct camera_device *) |
vacío(* | put_parameters )(struct camera_device *, char *) |
En t(* | send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
vacío(* | lanzamiento ) (struct camera_device *) |
En t(* | volcar )(struct camera_device *, int fd) |
Descripción detallada
Documentación de campo
int(* auto_focus)(estructura cámara_dispositivo *) |
int(* cancel_auto_focus)(struct camera_device *) |
Cancela la función de enfoque automático. Si el enfoque automático aún está en progreso, esta función lo cancelará. Ya sea que el enfoque automático esté en progreso o no, esta función devolverá la posición de enfoque a la posición predeterminada. Si la cámara no admite el enfoque automático, esto no es posible.
int(* cancelar_imagen)(estructura cámara_dispositivo *) |
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
Deshabilitar un mensaje o un conjunto de mensajes.
Una vez recibida una llamada para desactivarMsgType(CAMERA_MSG_VIDEO_FRAME), la cámara HAL no debe depender de su cliente para llamar a releaseRecordingFrame() para liberar fotogramas de grabación de vídeo enviados por la cámara HAL antes y después de la llamada desactivarMsgType(CAMERA_MSG_VIDEO_FRAME). Los clientes Camera HAL no deben modificar ni acceder a ningún fotograma de grabación de vídeo después de llamar a enableMsgType(CAMERA_MSG_VIDEO_FRAME).
int(* volcado)(struct camera_device *, int fd) |
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
char*(* get_parameters)(struct camera_device *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
int(* vista previa_enabled)(struct camera_device *) |
void(* put_parameters)(struct camera_device *, char *) |
La cámara HAL usa su propia memoria para pasarnos los parámetros cuando llamamos a get_parameters. Utilice esta función para devolver la memoria a la cámara HAL, si put_parameters no es NULL. Si put_parameters es NULL, entonces debes usar free() para liberar la memoria.
int(* grabación_enabled)(struct camera_device *) |
void(* lanzamiento)(struct camera_device *) |
void(* release_recording_frame)(struct camera_device *, const void *opaco) |
Libera un fotograma de registro devuelto previamente por CAMERA_MSG_VIDEO_FRAME.
Es responsabilidad del cliente de la cámara HAL liberar los cuadros de grabación de video enviados por la cámara HAL antes de que la cámara HAL reciba una llamada para desactivarMsgType(CAMERA_MSG_VIDEO_FRAME). Después de recibir la llamada para desactivarMsgType(CAMERA_MSG_VIDEO_FRAME), es responsabilidad de la cámara HAL administrar el ciclo de vida de los cuadros de grabación de video.
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
void(* 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 *usuario) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(estructura cámara_dispositivo *, estructura vista previa_stream_ops *ventana) |
int(* start_preview)(struct camera_device *) |
int(* start_recording)(struct camera_device *) |
Inicie el modo de grabación. Cuando una imagen de grabación está disponible, se envía un mensaje CAMERA_MSG_VIDEO_FRAME con el fotograma correspondiente. Cada fotograma de grabación debe ser liberado por un cliente HAL de cámara a través de releaseRecordingFrame() antes de que el cliente llame a enableMsgType(CAMERA_MSG_VIDEO_FRAME). Después de que el cliente llama a enableMsgType(CAMERA_MSG_VIDEO_FRAME), es responsabilidad de la cámara HAL administrar el ciclo de vida de los cuadros de grabación de video, y el cliente no debe modificar ni acceder a ningún cuadro de grabación de video.
void(* stop_preview)(struct camera_device *) |
void(* stop_recording)(struct camera_device *) |
int(* store_meta_data_in_buffers)(struct camera_device *, int enable) |
Solicite a la cámara HAL que almacene metadatos o datos YUV reales en los buffers de video enviados a través de CAMERA_MSG_VIDEO_FRAME para una sesión de grabación. Si no se llama, el comportamiento predeterminado de la cámara HAL es almacenar datos YUV reales en los buffers de video.
Este método debe llamarse antes de startRecording() para que sea efectivo.
Si los metadatos se almacenan en los buffers de video, corresponde al receptor de los buffers de video interpretar el contenido y encontrar los datos del cuadro real con la ayuda de los metadatos en el buffer. Cómo se hace esto está fuera del alcance de este método.
Es posible que algunas cámaras HAL no admitan el almacenamiento de metadatos en los búferes de video, pero todas las cámaras HAL deberían admitir el almacenamiento de datos YUV reales en los búferes de video. Si la cámara HAL no admite el almacenamiento de metadatos en los buffers de video cuando se solicita hacerlo, se debe devolver INVALID_OPERATION. Es muy útil que la cámara HAL pase metadatos en lugar de los datos del cuadro real directamente al codificador de video, ya que la cantidad de datos del cuadro sin comprimir puede ser muy grande si el tamaño del video es grande.
- Parámetros
permitir si es verdadero, para indicarle a la cámara HAL que almacene metadatos en los buffers de video; false para indicarle a la cámara HAL que almacene datos YUV reales en los buffers de video.
- Devoluciones
- OK en caso de éxito.
int(* tomar_foto)(estructura cámara_dispositivo *) |
La documentación para esta estructura se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ camera.h