Referencia de estructura camera_device_ops
#include < camera.h >
Campos de información | |
En t(* | set_preview_window )(estructura camera_device *, estructura preview_stream_ops *ventana) |
vacío(* | set_callbacks )(struct camera_device *, camera_notify_callback notificar_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user) |
vacío(* | enable_msg_type )(struct camera_device *, int32_t msg_type) |
vacío(* | disabled_msg_type )(struct camera_device *, int32_t msg_type) |
En t(* | msg_type_enabled )(estructura camera_device *, int32_t msg_type) |
En t(* | start_preview )(estructura camera_device *) |
vacío(* | stop_preview )(estructura camera_device *) |
En t(* | preview_enabled )(estructura camera_device *) |
En t(* | store_meta_data_in_buffers )(struct camera_device *, int enable) |
En t(* | start_recording )(estructura camera_device *) |
vacío(* | detener_grabación )(estructura camera_device *) |
En t(* | grabación_habilitada )(estructura camera_device *) |
vacío(* | release_recording_frame )(struct camera_device *, const void *opaco) |
En t(* | auto_focus )(estructura camera_device *) |
En t(* | cancel_auto_focus )(estructura camera_device *) |
En t(* | tomar_foto )(estructura camera_device *) |
En t(* | cancel_picture )(estructura camera_device *) |
En t(* | set_parameters )(struct camera_device *, const char *parámetros) |
carácter *(* | get_parameters )(estructura camera_device *) |
vacío(* | put_parameters )(struct camera_device *, char *) |
En t(* | enviar_comando )(estructura cámara_dispositivo *, int32_t cmd, int32_t arg1, int32_t arg2) |
vacío(* | liberar )(estructura camera_device *) |
En t(* | volcado )(estructura camera_device *, int fd) |
Descripción detallada
Documentación de campo
int(* enfoque_automático)(estructura camera_device *) |
int(* cancel_auto_focus)(estructura camera_device *) |
Cancela la función de enfoque automático. Si el enfoque automático aún está en curso, esta función lo cancelará. Ya sea que el enfoque automático esté en curso o no, esta función devolverá la posición de enfoque a la predeterminada. Si la cámara no es compatible con el enfoque automático, esto no funciona.
int(* cancelar_imagen)(estructura camera_device *) |
void(* disabled_msg_type)(struct camera_device *, int32_t msg_type) |
Deshabilitar un mensaje o un conjunto de mensajes.
Una vez recibida una llamada para deshabilitar MsgType (CAMERA_MSG_VIDEO_FRAME), la cámara HAL no debe depender de que su cliente llame a releaseRecordingFrame () para liberar los cuadros de grabación de video enviados por la cámara HAL antes y después de la llamada de deshabilitar MsgType (CAMERA_MSG_VIDEO_FRAME). Los clientes de Camera HAL no deben modificar/acceder a ningún cuadro de grabación de video después de llamar a disabledMsgType(CAMERA_MSG_VIDEO_FRAME).
int(* volcado)(estructura camera_device *, int fd) |
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
char*(* get_parameters)(struct camera_device *) |
int(* tipo_mensaje_habilitado)(estructura camera_device *, int32_t tipo_mensaje) |
int(* preview_enabled)(estructura 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 debe usar free() para liberar la memoria.
int(* grabación_habilitada)(estructura camera_device *) |
void(* liberación)(estructura camera_device *) |
void(* release_recording_frame)(struct camera_device *, const void *opaco) |
Libera un marco de registro previamente devuelto 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 desactivar MsgType (CAMERA_MSG_VIDEO_FRAME). Después de recibir la llamada para deshabilitar MsgType (CAMERA_MSG_VIDEO_FRAME), es responsabilidad de la HAL de la cámara administrar el ciclo de vida de los cuadros de grabación de video.
int(* enviar_comando)(estructura camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
void(* set_callbacks)(struct camera_device *, camera_notify_callback notificar_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user) |
int(* set_parameters)(struct camera_device *, const char *parámetros) |
int(* set_preview_window)(estructura camera_device *, estructura preview_stream_ops *ventana) |
int(* start_preview)(estructura camera_device *) |
int(* start_recording)(estructura camera_device *) |
Iniciar el modo de grabación. Cuando hay una imagen de registro disponible, se envía un mensaje CAMERA_MSG_VIDEO_FRAME con el marco 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 disabledMsgType(CAMERA_MSG_VIDEO_FRAME). Después de que el cliente llame a disabledMsgType(CAMERA_MSG_VIDEO_FRAME), es responsabilidad de la HAL de la cámara administrar el ciclo de vida de los cuadros de grabación de video, y el cliente no debe modificar/acceder a ningún cuadro de grabación de video.
void(* stop_preview)(estructura camera_device *) |
void(* stop_recording)(estructura 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 búferes de video enviados a través de CAMERA_MSG_VIDEO_FRAME para una sesión de grabación. Si no se llama, el comportamiento HAL predeterminado de la cámara es almacenar datos YUV reales en los búferes de video.
Este método debe llamarse antes de startRecording() para que sea efectivo.
Si los metadatos se almacenan en los búferes de video, depende del receptor de los búferes de video interpretar los contenidos y encontrar los datos de cuadros reales con la ayuda de los metadatos en el búfer. Cómo se hace esto está fuera del alcance de este método.
Es posible que algunas HAL de cámara no admitan el almacenamiento de metadatos en los búferes de video, pero todas las HAL de cámara 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 búferes de video cuando se le solicita que lo haga, se debe devolver INVALID_OPERATION. Es muy útil que la cámara HAL pase metadatos en lugar de los datos de cuadros reales directamente al codificador de video, ya que la cantidad de datos de cuadros sin comprimir puede ser muy grande si el tamaño del video es grande.
- Parámetros
habilitar si es verdadero para indicarle a la cámara HAL que almacene metadatos en los búferes de video; false para indicar a la cámara HAL que almacene datos YUV reales en los búferes de video.
- Devoluciones
- Aceptar en el éxito.
int(* tomar_foto)(estructura camera_device *) |
La documentación para esta estructura se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ cámara.h