Référence de structure camera_device_ops

Référence de structure camera_device_ops

#include < camera.h >

Champs de données

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

Description détaillée

Définition à la ligne 99 du fichier camera.h .

Documentation de terrain

int(* auto_focus)(struct camera_device *)

Démarrer la mise au point automatique, la routine de rappel de notification est appelée avec CAMERA_MSG_FOCUS une fois lorsque la mise au point est terminée. autoFocus() sera appelée à nouveau si une autre mise au point automatique est nécessaire.

Définition à la ligne 227 du fichier camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Annule la fonction de mise au point automatique. Si la mise au point automatique est toujours en cours, cette fonction l'annulera. Que la mise au point automatique soit en cours ou non, cette fonction remettra la position de mise au point par défaut. Si l'appareil photo ne prend pas en charge la mise au point automatique, il s'agit d'un no-op.

Définition à la ligne 235 du fichier camera.h .

int(* cancel_picture)(struct camera_device *)

Annulez une image démarrée avec takePicture. Appeler cette méthode lorsqu'aucune photo n'est prise est un non-op.

Définition à la ligne 246 du fichier camera.h .

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

Désactiver un message ou un ensemble de messages.

Une fois reçu un appel à disableMsgType(CAMERA_MSG_VIDEO_FRAME), la caméra HAL ne doit pas compter sur son client pour appeler releaseRecordingFrame() pour libérer les trames d'enregistrement vidéo envoyées par la cameral HAL avant et après l'appel disableMsgType(CAMERA_MSG_VIDEO_FRAME). Les clients Camera HAL ne doivent pas modifier/accéder à une image d'enregistrement vidéo après avoir appelé disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Définition à la ligne 132 du fichier camera.h .

int(* dump)(struct camera_device *, int fd)

État de vidage du matériel de la caméra

Définition à la ligne 282 du fichier camera.h .

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

Les trois fonctions suivantes prennent toutes un msg_type, qui est un masque binaire des messages définis dans include/ui/Camera.h Activer un message ou un ensemble de messages.

Définition à la ligne 120 du fichier camera.h .

char*(* get_parameters)(struct camera_device *)

Récupérez les paramètres de la caméra. Le tampon renvoyé par la caméra HAL doit lui être renvoyé avec put_parameters, si put_parameters n'est pas NULL.

Définition à la ligne 258 du fichier camera.h .

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

Demande si un message ou un ensemble de messages est activé. Notez que cela fonctionne comme un ET, si l'un des messages interrogés est désactivé, cela renverra faux.

Définition à la ligne 139 du fichier camera.h .

int(* preview_enabled)(struct camera_device *)

Renvoie vrai si l'aperçu est activé.

Définition à la ligne 154 du fichier camera.h .

void(* put_parameters)(struct camera_device *, char *)

La caméra HAL utilise sa propre mémoire pour nous transmettre les paramètres lorsque nous appelons get_parameters. Utilisez cette fonction pour retourner la mémoire à la caméra HAL, si put_parameters n'est pas NULL. Si put_parameters est NULL, alors vous devez utiliser free() pour libérer la mémoire.

Définition à la ligne 265 du fichier camera.h .

int(* recording_enabled)(struct camera_device *)

Renvoie vrai si l'enregistrement est activé.

Définition à la ligne 208 du fichier camera.h .

void(* release)(struct camera_device *)

Libérez les ressources matérielles détenues par cet objet. Notez que cela n'est pas fait dans le destructeur.

Définition à la ligne 277 du fichier camera.h .

void(* release_recording_frame)(struct camera_device *, const void *opaque)

Libère une image d'enregistrement précédemment renvoyée par CAMERA_MSG_VIDEO_FRAME.

Il est de la responsabilité du client HAL de la caméra de libérer les trames d'enregistrement vidéo envoyées par la HAL de la caméra avant que la HAL de la caméra ne reçoive un appel à disableMsgType(CAMERA_MSG_VIDEO_FRAME). Après avoir reçu l'appel à disableMsgType(CAMERA_MSG_VIDEO_FRAME), il incombe à la caméra HAL de gérer le cycle de vie des trames d'enregistrement vidéo.

Définition à la ligne 219 du fichier camera.h .

int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

Envoyez la commande au pilote de la caméra.

Définition à la ligne 270 du fichier 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)

Définir la notification et les rappels de données

Définition à la ligne 105 du fichier camera.h .

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

Réglez les paramètres de la caméra. Cela renvoie BAD_VALUE si un paramètre n'est pas valide ou n'est pas pris en charge.

Définition à la ligne 252 du fichier camera.h .

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

Définissez la fenêtre ANativeWindow à laquelle les images d'aperçu sont envoyées

Définition à la ligne 101 du fichier camera.h .

int(* start_preview)(struct camera_device *)

Démarrer le mode aperçu.

Définition à la ligne 144 du fichier camera.h .

int(* start_recording)(struct camera_device *)

Démarrer le mode d'enregistrement. Lorsqu'une image d'enregistrement est disponible, un message CAMERA_MSG_VIDEO_FRAME est envoyé avec la trame correspondante. Chaque image d'enregistrement doit être libérée par un client HAL de caméra via releaseRecordingFrame() avant que le client n'appelle disableMsgType(CAMERA_MSG_VIDEO_FRAME). Une fois que le client a appelé disableMsgType(CAMERA_MSG_VIDEO_FRAME), il incombe à la caméra HAL de gérer le cycle de vie des trames d'enregistrement vidéo, et le client ne doit modifier/accéder à aucune trame d'enregistrement vidéo.

Définition à la ligne 198 du fichier camera.h .

void(* stop_preview)(struct camera_device *)

Arrête un aperçu démarré précédemment.

Définition à la ligne 149 du fichier camera.h .

void(* stop_recording)(struct camera_device *)

Arrête un enregistrement précédemment lancé.

Définition à la ligne 203 du fichier camera.h .

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

Demandez à la caméra HAL de stocker des métadonnées ou des données YUV réelles dans les tampons vidéo envoyés via CAMERA_MSG_VIDEO_FRAME pour une session d'enregistrement. S'il n'est pas appelé, le comportement par défaut de la caméra HAL consiste à stocker de vraies données YUV dans les tampons vidéo.

Cette méthode doit être appelée avant startRecording() pour être efficace.

Si des métadonnées sont stockées dans les tampons vidéo, il appartient au récepteur des tampons vidéo d'interpréter le contenu et de trouver les données de trame réelles à l'aide des métadonnées dans le tampon. Comment cela est fait est en dehors de la portée de cette méthode.

Certaines HAL de caméra peuvent ne pas prendre en charge le stockage de métadonnées dans les tampons vidéo, mais toutes les HAL de caméra doivent prendre en charge le stockage de données YUV réelles dans les tampons vidéo. Si la caméra HAL ne prend pas en charge le stockage des métadonnées dans les tampons vidéo lorsqu'il est demandé de le faire, INVALID_OPERATION doit être renvoyé. Il est très utile pour la caméra HAL de transmettre des métadonnées plutôt que les données d'image réelles directement à l'encodeur vidéo, car la quantité de données d'image non compressées peut être très importante si la taille de la vidéo est importante.

Paramètres
activer si vrai pour demander à la caméra HAL de stocker les métadonnées dans les tampons vidéo ; false pour demander à la caméra HAL de stocker les données YUV réelles dans les tampons vidéo.
Retour
OK en cas de succès.

Définition à la ligne 186 du fichier camera.h .

int(* take_picture)(struct camera_device *)

Prendre une photo.

Définition à la ligne 240 du fichier camera.h .


La documentation de cette structure a été générée à partir du fichier suivant :
  • hardware/libhardware/include/hardware/ camera.h