Referencia de estructura camera_device_ops

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

Definición en la línea 99 del archivo camera.h .

Documentación de campo

int(* enfoque_automático)(estructura camera_device *)

Inicie el enfoque automático, la rutina de devolución de llamada de notificación se llama con CAMERA_MSG_FOCUS una vez que se completa el enfoque. se volverá a llamar a autoFocus() si se necesita otro enfoque automático.

Definición en la línea 227 del archivo camera.h .

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.

Definición en la línea 235 del archivo camera.h .

int(* cancelar_imagen)(estructura camera_device *)

Cancele una imagen que se inició con takePicture. Llamar a este método cuando no se está tomando ninguna fotografía no es una operación.

Definición en la línea 246 del archivo camera.h .

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).

Definición en la línea 132 del archivo camera.h .

int(* volcado)(estructura camera_device *, int fd)

Estado de volcado del hardware de la cámara

Definición en la línea 282 del archivo camera.h .

void(* enable_msg_type)(struct camera_device *, int32_t msg_type)

Las tres funciones siguientes toman un tipo de mensaje, que es una máscara de bits de los mensajes definidos en include/ui/Camera.h Habilitar un mensaje o un conjunto de mensajes.

Definición en la línea 120 del archivo camera.h .

char*(* get_parameters)(struct camera_device *)

Recuperar los parámetros de la cámara. El búfer devuelto por la cámara HAL debe devolverse con put_parameters, si put_parameters no es NULL.

Definición en la línea 258 del archivo camera.h .

int(* tipo_mensaje_habilitado)(estructura camera_device *, int32_t tipo_mensaje)

Consulta si un mensaje o un conjunto de mensajes está habilitado. Tenga en cuenta que esto funciona como un AND, si alguno de los mensajes consultados está apagado, devolverá falso.

Definición en la línea 139 del archivo camera.h .

int(* preview_enabled)(estructura camera_device *)

Devuelve verdadero si la vista previa está habilitada.

Definición en la línea 154 del archivo camera.h .

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.

Definición en la línea 265 del archivo camera.h .

int(* grabación_habilitada)(estructura camera_device *)

Devuelve verdadero si la grabación está habilitada.

Definición en la línea 208 del archivo camera.h .

void(* liberación)(estructura camera_device *)

Libere los recursos de hardware propiedad de este objeto. Tenga en cuenta que esto no se hace en el destructor.

Definición en la línea 277 del archivo camera.h .

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.

Definición en la línea 219 del archivo camera.h .

int(* enviar_comando)(estructura camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

Enviar comando al controlador de la cámara.

Definición en la línea 270 del archivo camera.h .

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)

Establecer las devoluciones de llamadas de notificación y datos

Definición en la línea 105 del archivo camera.h .

int(* set_parameters)(struct camera_device *, const char *parámetros)

Configure los parámetros de la cámara. Esto devuelve BAD_VALUE si algún parámetro no es válido o no es compatible.

Definición en la línea 252 del archivo camera.h .

int(* set_preview_window)(estructura camera_device *, estructura preview_stream_ops *ventana)

Establecer la ANativeWindow a la que se envían los fotogramas de vista previa

Definición en la línea 101 del archivo camera.h .

int(* start_preview)(estructura camera_device *)

Iniciar el modo de vista previa.

Definición en la línea 144 del archivo camera.h .

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.

Definición en la línea 198 del archivo camera.h .

void(* stop_preview)(estructura camera_device *)

Detener una vista previa iniciada previamente.

Definición en la línea 149 del archivo camera.h .

void(* stop_recording)(estructura camera_device *)

Detener una grabación iniciada anteriormente.

Definición en la línea 203 del archivo camera.h .

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.

Definición en la línea 186 del archivo camera.h .

int(* tomar_foto)(estructura camera_device *)

Toma una foto.

Definición en la línea 240 del archivo camera.h .


La documentación para esta estructura se generó a partir del siguiente archivo:
  • hardware/libhardware/include/hardware/ cámara.h