Documentation de référence sur la struct camera_device_ops

Référence de la struct camera_device_ops

#include < camera.h >

Champs de données

int(*  set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
 
void(*  set_callbacks )(struct CameraDevice *, CameraNotifyCallback notify_cb, CameraDataCallback data_cb, CameraDataTimestampCallback data_cb_timestamp, CameraRequestMemory 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)
 

Description détaillée

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

Documentation des champs

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 la mise au point terminée. autoFocus() sera appelé à 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 le mode autofocus est toujours en cours, cette fonction l'annule. Que le mode autofocus soit en cours ou non, cette fonction rétablit la position de mise au point par défaut. Si l'appareil photo n'est pas compatible avec le mode autofocus, cette opération n'a aucun effet.

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

int(* cancel_picture)(struct Camera_device *)

Annuler une photo lancée avec takePicture. Appeler cette méthode lorsqu'aucune photo n'est prise n'a aucun effet.

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 qu'un appel à disableMsgType(CAMERA_MSG_VIDEO_FRAME) a été reçu, le HAL de la caméra ne doit pas s'appuyer sur son client pour appeler releaseRecordingFrame() afin de libérer les images d'enregistrement vidéo envoyées par le HAL de la caméra avant et après l'appel disableMsgType(CAMERA_MSG_VIDEO_FRAME). Les clients HAL de la caméra ne doivent pas modifier ni accéder à un frame 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 acceptent toutes un msg_type, qui est un masque de bits des messages définis dans include/ui/Camera.h Activez 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 l'appareil photo. Le tampon renvoyé par le HAL de la caméra 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)

Interrogez si un message ou un ensemble de messages est activé. Notez que cette opération fonctionne comme une opération AND. Si l'un des messages interrogés est désactivé, la valeur renvoyée sera "false".

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

int(* preview_enabled)(struct camera_device *)

Renvoie la valeur "true" si l'aperçu est activé.

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

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

Le HAL de l'appareil photo utilise sa propre mémoire pour nous transmettre les paramètres lorsque nous appelons get_parameters. Utilisez cette fonction pour renvoyer la mémoire à l'HAL de la caméra, si put_parameters n'est pas NULL. Si put_parameters est NULL, 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 la valeur "true" 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 effectué dans le destructeur.

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

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

Libérez un frame d'enregistrement précédemment renvoyé par CAMERA_MSG_VIDEO_FRAME.

Il est de la responsabilité du client HAL de la caméra de libérer les images d'enregistrement vidéo envoyées par le HAL de la caméra avant que le HAL de la caméra ne reçoive un appel pour désactiver le type de message(CAMERA_MSG_VIDEO_FRAME). Une fois qu'il a reçu l'appel de disableMsgType(CAMERA_MSG_VIDEO_FRAME), c'est le HAL de l'appareil photo qui est chargé 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)

Envoyer une commande au pilote de l'appareil photo

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

void(* set_callbacks)(struct CameraDevice *, CameraNotifyCallback notify_cb, CameraDataCallback data_cb, CameraDataTimestampCallback data_cb_timestamp, CameraRequestMemory get_memory, void *user)

Définir les rappels de notification et 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. Cette valeur renvoie BAD_VALUE si un paramètre est non valide ou non compatible.

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 frames d'aperçu sont envoyés

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

int(* start_preview)(struct Camera_device *)

Lancez le mode Aperçu.

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

int(* start_recording)(struct Camera_device *)

Activez le mode Enregistrement. Lorsqu'une image d'enregistrement est disponible, un message CAMERA_MSG_VIDEO_FRAME est envoyé avec le frame correspondant. Chaque frame d'enregistrement doit être libéré 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), c'est le HAL de la caméra qui est chargé de gérer le cycle de vie des frames d'enregistrement vidéo. Le client ne doit pas modifier ni accéder à ces frames.

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

void(* stop_preview)(struct Camera_device *)

Arrêter un aperçu précédemment lancé.

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

void(* stop_recording)(struct Camera_device *)

Arrêter un enregistrement précédemment démarré.

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

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

Demandez au HAL de l'appareil photo 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 du HAL de la caméra consiste à stocker des données YUV réelles dans les tampons vidéo.

Pour être efficace, cette méthode doit être appelée avant startRecording().

Si des métadonnées sont stockées dans les tampons vidéo, il appartient au destinataire des tampons vidéo d'interpréter le contenu et de trouver les données de frame réelles à l'aide des métadonnées du tampon. La façon de procéder n'entre pas dans le cadre de cette méthode.

Il est possible que certains HAL de caméra ne soient pas compatibles avec le stockage de métadonnées dans les tampons vidéo, mais tous les HAL de caméra doivent être compatibles avec le stockage de données YUV réelles dans les tampons vidéo. Si le HAL de l'appareil photo n'est pas compatible avec le stockage des métadonnées dans les tampons vidéo lorsqu'il est demandé, INVALID_OPERATION doit être renvoyé. Il est très utile que le HAL de la caméra transmette directement des métadonnées plutôt que les données de trame réelles à l'encodeur vidéo, car la quantité de données de trame non compressées peut être très importante si la taille de la vidéo est importante.

Paramètres
activer Si la valeur est "true", le HAL de l'appareil photo est invité à stocker des métadonnées dans les tampons vidéo. Si la valeur est "false", le HAL de l'appareil photo est invité à stocker des données YUV réelles dans les tampons vidéo.
Renvoie
OK en cas de réussite.

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

int(* take_picture)(struct Camera_device *)

Prenez une photo.

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


La documentation de ce struct a été générée à partir du fichier suivant :