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

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

Documentación de campo

int(* auto_focus)(estructura cámara_dispositivo *)

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

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

int(* cancelar_imagen)(estructura cámara_dispositivo *)

Cancele una fotografía 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(* 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).

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

int(* volcado)(struct 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 siguientes tres funciones toman un msg_type, que es una máscara de bits de los mensajes definidos en include/ui/Camera.h Habilita un mensaje o un conjunto de mensajes.

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

char*(* get_parameters)(struct camera_device *)

Recupera 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(* msg_type_enabled)(struct camera_device *, int32_t msg_type)

Consultar 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á desactivado, devolverá falso.

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

int(* vista previa_enabled)(struct 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 debes usar free() para liberar la memoria.

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

int(* grabación_enabled)(struct camera_device *)

Devuelve verdadero si la grabación está habilitada.

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

void(* lanzamiento)(struct 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 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.

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

int(* send_command)(struct 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 notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *usuario)

Configurar las notificaciones y las devoluciones de llamadas de datos

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

int(* set_parameters)(struct camera_device *, const char *parms)

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 cámara_dispositivo *, estructura vista previa_stream_ops *ventana)

Establezca la ventana ANativa 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)(struct camera_device *)

Inicie el modo de vista previa.

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

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.

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

void(* stop_preview)(struct camera_device *)

Detener una vista previa iniciada anteriormente.

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

void(* stop_recording)(struct 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 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.

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

int(* tomar_foto)(estructura cámara_dispositivo *)

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/ camera.h