Référence de structure camera3_stream_buffer
#include < camera3.h >
Champs de données | |
camera3_stream_t * | flux |
tampon_handle_t * | tampon |
int | statut |
int | acquérir_fence |
int | release_fence |
Description détaillée
camera3_stream_buffer_t :
Un seul tampon à partir d’un flux camera3. Il comprend un handle vers son flux parent, le handle vers le tampon gralloc lui-même et des clôtures de synchronisation.
Le tampon ne précise pas s'il doit être utilisé pour l'entrée ou la sortie ; qui est déterminé par son type de flux parent et par la manière dont le tampon est transmis au périphérique HAL.
Documentation de terrain
int acquérir_fence |
Clôture de synchronisation d'acquisition pour ce tampon. Le HAL doit attendre sur cette clôture fd avant de tenter de lire ou d'écrire dans ce tampon.
Le framework peut être mis à -1 pour indiquer qu'aucune attente n'est nécessaire pour ce buffer.
Lorsque le HAL renvoie un tampon de sortie au framework avec process_capture_result(), acquire_fence doit être défini sur -1. Si le HAL n'attend jamais le acquire_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 le acquire_fence qui lui est transmis 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, le HAL ne doit pas modifier le champ acquire_fence pendant 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 la 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.
int release_fence |
Clôture de synchronisation de version pour ce tampon. Le HAL doit définir cette clôture lors du retour des tampons au 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 limite 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 clôtures doivent être définies dans le input_buffer passé à process_capture_result().
Après avoir signalé le release_fence pour ce tampon, la HAL ne doit plus tenter d'accéder à ce tampon 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 retransférée immédiatement lors de l'appel de process_capture_result.
statut international |
État actuel du tampon, l'une des valeurs camera3_buffer_status_t. Le framework ne transmettra pas les tampons au HAL qui sont dans un état d'erreur. Dans le cas où un tampon ne pourrait pas être rempli par le HAL, son statut doit être défini sur CAMERA3_BUFFER_STATUS_ERROR lorsqu'il est renvoyé au framework avec process_capture_result().
camera3_stream_t * flux |
La documentation de cette structure a été générée à partir du fichier suivant :
- matériel/libhardware/include/hardware/ camera3.h