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
Documentation de terrain
int(* auto_focus)(struct camera_device *) |
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.
int(* Cancel_picture)(struct camera_device *) |
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).
int(* dump)(struct camera_device *, int fd) |
void(* activate_msg_type)(struct camera_device *, int32_t msg_type) |
char*(* get_parameters)(struct camera_device *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
int(* preview_enabled)(struct camera_device *) |
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.
int(* enregistrement_enabled)(struct camera_device *) |
void(* release)(struct camera_device *) |
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.
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
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) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window) |
int(* start_preview)(struct camera_device *) |
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.
void(* stop_preview)(struct camera_device *) |
void(* stop_recording)(struct camera_device *) |
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.
int(* take_picture)(struct camera_device *) |
La documentation de cette structure a été générée à partir du fichier suivant :
- matériel/libhardware/include/hardware/ camera.h