Referencia de la estructura camera_device_ops

Referencia de la estructura camera_device_ops

#include < camera.h >

Campos de datos

int(*  set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
 
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 *user)
 
void(*  enable_msg_type )(struct camera_device *, int32_t msg_type)
 
void(*  disable_msg_type )(struct camera_device *, int32_t msg_type)
 
int(*  msg_type_enabled )(struct camera_device *, int32_t msg_type)
 
int(*  start_preview )(struct camera_device *)
 
void(*  stop_preview )(struct camera_device *)
 
int(*  preview_enabled )(struct camera_device *)
 
int(*  store_meta_data_in_buffers )(struct camera_device *, int enable)
 
int(*  start_recording )(struct camera_device *)
 
void(*  stop_recording )(struct camera_device *)
 
int(*  recording_enabled )(struct camera_device *)
 
void(*  release_recording_frame )(struct camera_device *, const void *opaque)
 
int(*  auto_focus )(struct camera_device *)
 
int(*  cancel_auto_focus )(struct camera_device *)
 
int(*  take_picture )(struct camera_device *)
 
int(*  cancel_picture )(struct camera_device *)
 
int(*  set_parameters )(struct camera_device *, const char *parms)
 
char *(*  get_parameters )(struct camera_device *)
 
void(*  put_parameters )(struct camera_device *, char *)
 
int(*  send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
 
void(*  release )(struct camera_device *)
 
int(*  dump )(struct camera_device *, int fd)
 

Descripción detallada

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

Documentación de campos

int(* auto_focus)(struct camera_device *)

Inicia el enfoque automático. Se llama a la rutina de devolución de llamada de notificación 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 curso, esta función lo cancelará. Independientemente de si el enfoque automático está en curso o no, esta función restablecerá la posición de enfoque a la predeterminada. Si la cámara no admite el enfoque automático, no se realizará ninguna acción.

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

int(* cancel_picture)(struct camera_device *)

Cancela una foto que se inició con takePicture. Llamar a este método cuando no se está tomando una foto no tiene efecto.

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

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

Inhabilitar un mensaje o un conjunto de mensajes

Una vez que se recibe una llamada a disableMsgType(CAMERA_MSG_VIDEO_FRAME), el sistema HAL de la cámara no debe depender de su cliente para llamar a releaseRecordingFrame() y liberar los fotogramas de grabación de video que envía el sistema HAL de la cámara antes y después de la llamada a disableMsgType(CAMERA_MSG_VIDEO_FRAME). Los clientes de HAL de la cámara no deben modificar ni acceder a ningún fotograma de grabación de video después de llamar a disableMsgType(CAMERA_MSG_VIDEO_FRAME).

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

int(* dump)(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 que muestra el HAL de la cámara se debe devolver con put_parameters, si put_parameters no es nulo.

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

int(* msg_type_enabled)(struct camera_device *, int32_t msg_type)

Consulta si un mensaje o un conjunto de mensajes está habilitado. Ten en cuenta que esto funciona como un operador Y. Si alguno de los mensajes consultados está desactivado, se mostrará un valor falso.

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

int(* preview_enabled)(struct camera_device *)

Muestra 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 *)

El HAL de la cámara usa su propia memoria para pasarnos los parámetros cuando llamamos a get_parameters. Usa esta función para devolver la memoria al HAL de la cámara, si put_parameters no es NULL. Si put_parameters es NULL, debes usar free() para liberar la memoria.

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

int(* recording_enabled)(struct camera_device *)

Muestra verdadero si la grabación está habilitada.

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

void(* release)(struct camera_device *)

Libera los recursos de hardware que pertenecen a este objeto. Ten 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 *opaque)

Libera un fotograma de registro que CAMERA_MSG_VIDEO_FRAME mostró anteriormente.

Es responsabilidad del cliente de la HAL de la cámara liberar los fotogramas de grabación de video que envía la HAL de la cámara antes de que esta reciba una llamada a disableMsgType(CAMERA_MSG_VIDEO_FRAME). Después de recibir la llamada a disableMsgType(CAMERA_MSG_VIDEO_FRAME), es responsabilidad del HAL de la cámara administrar el ciclo de vida de los fotogramas 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)

Envía el 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 *user)

Configura las devoluciones de llamada de notificaciones y datos

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

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

Establece los parámetros de la cámara. Muestra BAD_VALUE si algún parámetro no es válido o no se admite.

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

int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window)

Establece el ANativeWindow al 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 *)

Inicia el modo de vista previa.

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

int(* start_recording)(struct camera_device *)

Inicia el modo de grabación. Cuando hay una imagen de grabación disponible, se envía un mensaje CAMERA_MSG_VIDEO_FRAME con el fotograma correspondiente. Un cliente HAL de la cámara debe liberar cada fotograma de grabación a través de releaseRecordingFrame() antes de que el cliente llame a disableMsgType(CAMERA_MSG_VIDEO_FRAME). Después de que el cliente llama a disableMsgType(CAMERA_MSG_VIDEO_FRAME), es responsabilidad del HAL de la cámara administrar el ciclo de vida de los fotogramas de grabación de video, y el cliente no debe modificar ni acceder a ningún fotograma 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 con anterioridad

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

void(* stop_recording)(struct camera_device *)

Detener una grabación iniciada con anterioridad

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

int(* store_meta_data_in_buffers)(struct camera_device *, int enable)

Solicita al HAL de la cámara que almacene metadatos o datos YUV reales en los búferes de video que se envían a través de CAMERA_MSG_VIDEO_FRAME para una sesión de grabación. Si no se llama, el comportamiento predeterminado del HAL de la cámara es almacenar datos YUV reales en los búferes de video.

Para que sea eficaz, se debe llamar a este método antes de startRecording().

Si los metadatos se almacenan en los búferes de video, el receptor de los búferes de video es quien debe interpretar el contenido y encontrar los datos de fotogramas reales con la ayuda de los metadatos del búfer. La forma en que se hace esto está fuera del alcance de este método.

Es posible que algunos HAL de la cámara no admitan el almacenamiento de metadatos en los búferes de video, pero todos deberían admitir el almacenamiento de datos YUV reales en los búferes de video. Si el HAL de la cámara no admite el almacenamiento de metadatos en los búferes de video cuando se solicita, se debe mostrar INVALID_OPERATION. Es muy útil que el HAL de la cámara pase metadatos en lugar de los datos de fotogramas reales directamente al codificador de video, ya que la cantidad de datos de fotogramas sin comprimir puede ser muy grande si el tamaño del video es grande.

Parámetros
habilitar Es verdadero si se le indica al HAL de la cámara que almacene metadatos en los búferes de video; es falso si se le indica al HAL de la cámara que almacene datos YUV reales en los búferes de video.
Muestra
OK si la operación fue exitosa.

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

int(* take_picture)(struct camera_device *)

Toma una foto.

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


La documentación de esta struct se generó a partir del siguiente archivo: