Référence de la struct camera3_stream_buffer

Référence de la struct camera3_stream_buffer

#include < camera3.h >

Champs de données

Camera3_stream_t * flux
 
buffer_handle_t *  tampon
 
int  état
 
int  acquire_fence
 
int  release_fence
 

Description détaillée

camera3_stream_buffer_t:

Un seul tampon à partir d'un flux camera3. Il inclut un gestionnaire de son flux parent, le gestionnaire du tampon gralloc lui-même et des barrières de synchronisation.

La mémoire tampon ne spécifie pas si elle doit être utilisée pour l'entrée ou la sortie. Cela est déterminé par le type de flux parent et la manière dont la mémoire tampon est transmise à l'appareil HAL.

Définition à la ligne  1755 du fichier camera3.h .

Documentation des champs

int acquire_fence

Barrière de synchronisation d'acquisition pour ce tampon. Le HAL doit attendre ce fd de clôture avant de tenter de lire ou d'écrire dans ce tampon.

Le framework peut être défini sur -1 pour indiquer qu'aucun temps d'attente n'est nécessaire pour ce tampon.

Lorsque le HAL renvoie un tampon de sortie au framework avec process_capture_result(), la valeur acquire_fence doit être définie sur -1. Si la HAL n'attend jamais sur le acquire_fence en raison d'une erreur de remplissage d'un tampon, lors de l'appel de process_capture_result(), la HAL doit définir le release_fence du tampon sur l'acquire_fence qui lui est transmis par le framework. Cela permet au framework d'attendre la clôture avant de réutiliser la mémoire tampon.

Pour les tampons d'entrée, le HAL ne doit pas modifier le champ acquire_fence lors de l'appel process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Lorsque le HAL renvoie un tampon d'entrée au framework avec process_capture_result(), acquire_fence doit être défini sur -1. Si le HAL n'attend jamais la barrière d'acquisition du tampon d'entrée en raison d'une erreur, les barrières de synchronisation doivent être gérées de la même manière que pour les tampons de sortie.

Définition à la ligne  1800 du fichier camera3.h .

buffer_handle_t* buffer

Le handle natif vers le tampon

Définition à la ligne  1764 du fichier camera3.h .

int release_fence

Barrière de synchronisation de libération pour ce tampon. Le HAL doit définir cette barrière lorsqu'il renvoie des tampons au framework, ou écrire -1 pour indiquer qu'aucune attente n'est requise pour ce tampon.

Pour les tampons de sortie, les barrières doivent être définies dans le tableau "output_buffers" transmis à process_capture_result().

<= CAMERA_DEVICE_API_VERSION_3_1:

Pour le tampon d'entrée, la barrière de libération doit être définie par l'appel process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Pour le tampon d'entrée, les barrières doivent être définies dans le tampon d'entrée transmis à process_capture_result().

Une fois le release_fence signalé pour ce tampon, le HAL ne doit plus tenter d'y accéder, car la propriété a été entièrement transférée au framework.

Si une clôture de -1 a été spécifiée, la propriété de ce tampon est immédiatement transférée lors de l'appel de process_capture_result.

Définition à la ligne  1827 du fichier camera3.h .

État int

État actuel du tampon, l'une des valeurs camera3_buffer_status_t. Le framework ne transmettra pas de tampons en état d'erreur à la HAL. Si un tampon n'a pas pu être rempli par le HAL, son état doit être défini sur CAMERA3_BUFFER_STATUS_ERROR lorsqu'il est renvoyé au framework avec process_capture_result().

Définition à la ligne  1773 du fichier camera3.h .

Handle du flux auquel ce tampon est associé

Définition à la ligne  1759 du fichier camera3.h .


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