Référence de structure camera3_stream_buffer

Référence de structure camera3_stream_buffer

#include < camera3.h >

Champs de données

camera3_stream_t *flux
buffer_handle_t *amortir
intstatut
intAcquérir_Fence
intrelease_fence

Description détaillée

camera3_stream_buffer_t:

Un tampon unique à partir d'un flux camera3. Il inclut un handle vers son flux parent, le handle vers le tampon gralloc lui-même et des clôtures de synchronisation

Le tampon ne spécifie pas s'il doit être utilisé pour l'entrée ou la sortie; qui est déterminé par son type de flux parent et la manière dont la mémoire tampon est transmise au périphérique HAL.

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

Documentation sur le terrain

int acquérir_fence

La clôture d'acquisition de synchronisation pour ce tampon. Le HAL doit attendre sur cette clôture fd avant d'essayer de lire ou d'écrire dans ce tampon.

Le cadre peut être mis à -1 pour indiquer qu'aucune attente n'est nécessaire pour ce tampon.

Lorsque le HAL retourne un tampon de sortie au framework avec process_capture_result (), la valeur acquise_fence doit être définie sur -1. Si le HAL n'attend jamais sur la fonction Acquisition_fence en raison d'une erreur de remplissage d'un tampon, lors de l'appel de process_capture_result (), le HAL doit définir le release_fence du tampon pour qu'il soit l'acquis_fence qui lui est passé par le framework. Cela permettra au framework d'attendre sur la clôture avant de réutiliser le tampon.

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

> = CAMERA_DEVICE_API_VERSION_3_2:

Lorsque le HAL retourne un tampon d'entrée au framework avec process_capture_result (), la valeur acquise_fence doit être définie sur -1. Si le HAL n'attend jamais la clôture d'acquisition du tampon d'entrée en raison d'une erreur, les clôtures 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 * tampon

Le handle natif du tampon

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

int release_fence

La clôture de synchronisation de libération pour ce tampon. Le HAL doit définir cette clôture lors du retour des tampons vers le framework, ou écrire -1 pour indiquer qu'aucune attente n'est requise pour ce tampon.

Pour les tampons de sortie, les clôtures doivent être définies dans le tableau output_buffers passé à process_capture_result ().

<= CAMERA_DEVICE_API_VERSION_3_1:

Pour le tampon d'entrée, la clôture de publication doit être définie par l'appel process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

Pour le tampon d'entrée, les clôtures doivent être définies dans le tampon d'entrée passé à process_capture_result ().

Après avoir signalé la release_fence pour ce tampon, le HAL ne devrait plus tenter d'accéder à ce tampon car la propriété a été entièrement transférée vers le framework.

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

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

état int

État actuel du tampon, une des valeurs de camera3_buffer_status_t. Le framework ne passera pas les tampons à la HAL qui sont dans un état d'erreur. Dans le cas où un tampon ne pourrait pas être rempli par la 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 .

Le handle du flux auquel ce tampon est associé

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


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