A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Referencia de la estructura camera_device_ops
#include <
camera.h
>
|
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)
|
|
Definición en la línea
99
del archivo
camera.h
.
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
.
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
.
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
.
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
.
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
.
Muestra verdadero si la vista previa está habilitada.
Definición en la línea
154
del archivo
camera.h
.
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
.
Muestra verdadero si la grabación está habilitada.
Definición en la línea
208
del archivo
camera.h
.
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
.
Configura las devoluciones de llamada de notificaciones y datos
Definición en la línea
105
del archivo
camera.h
.
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
.
Establece el ANativeWindow al que se envían los fotogramas de vista previa.
Definición en la línea
101
del archivo
camera.h
.
Inicia el modo de vista previa.
Definición en la línea
144
del archivo
camera.h
.
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
.
Detener una vista previa iniciada con anterioridad
Definición en la línea
149
del archivo
camera.h
.
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
.
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:
-
hardware/libhardware/include/hardware/
camera.h
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-03-26 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-03-26 (UTC)"],[],[]]