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)
vide(* 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)
vide(* activer_msg_type )(struct camera_device *, int32_t msg_type)
vide(* 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 *)
vide(* stop_preview )(struct camera_device *)
entier(* preview_enabled )(struct camera_device *)
entier(* store_meta_data_in_buffers )(struct camera_device *, int activer)
entier(* start_recording )(struct camera_device *)
vide(* stop_recording )(struct camera_device *)
entier(* enregistrement_enabled )(struct camera_device *)
vide(* 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(* Cancel_picture )(struct camera_device *)
entier(* set_parameters )(struct camera_device *, const char *parms)
char *(* get_parameters )(struct camera_device *)
vide(* put_parameters )(struct camera_device *, char *)
entier(* send_command (struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
vide(* 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émarrez 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 rappelé 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 ramènera la position de mise au point à sa valeur par défaut. Si l'appareil photo ne prend pas en charge la mise au point automatique, ce n'est pas une opération.

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

int(* Cancel_picture)(struct camera_device *)

Annulez une photo démarrée avec takePicture. Appeler cette méthode lorsqu’aucune photo n’est prise n’est pas une opération.

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

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

Désactivez 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 images d'enregistrement vidéo envoyées par la caméra HAL avant et après l'appel DisableMsgType(CAMERA_MSG_VIDEO_FRAME). Les clients Camera HAL ne doivent modifier/accéder à aucune 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 dump du matériel de la caméra

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

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

Les trois fonctions suivantes prennent toutes un msg_type, qui est un masque de bits 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)

Demandez 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 restituer 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(* enregistrement_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 appartenant à 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 de la caméra HAL de libérer les images d'enregistrement vidéo envoyées par la caméra HAL avant que la caméra HAL ne reçoive un appel pour désactiver MsgType (CAMERA_MSG_VIDEO_FRAME). Après avoir reçu l'appel à DisableMsgType(CAMERA_MSG_VIDEO_FRAME), il est de la responsabilité de la caméra HAL de gérer le cycle de vie des images 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)

Définissez 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éfinir l'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émarrez le mode aperçu.

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

int(* start_recording)(struct camera_device *)

Démarrez 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 est de la responsabilité de la caméra HAL de gérer le cycle de vie des images d'enregistrement vidéo, et le client ne doit modifier/accéder à aucune image d'enregistrement vidéo.

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

void(* stop_preview)(struct camera_device *)

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

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

void(* stop_recording)(struct camera_device *)

Arrêtez un enregistrement précédemment commencé.

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

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

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 les données YUV réelles 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 d'image réelles à l'aide des métadonnées contenues dans le tampon. La manière dont cela est réalisé sort du cadre de cette méthode.

Certains HAL de caméra peuvent ne pas prendre en charge le stockage de métadonnées dans les tampons vidéo, mais tous 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'on lui demande de le faire, INVALID_OPERATION doit être renvoyée. Il est très utile que le HAL de la caméra transmette les 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 grande.

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 :
  • matériel/libhardware/include/hardware/ camera.h