referencia de estructura camera3_stream_buffer

referencia de estructura camera3_stream_buffer

#include < camera3.h >

Campos de información

cámara3_stream_t * arroyo
buffer_handle_t * buffer
En t estado
En t adquirir_valla
En t valla_liberación

Descripción detallada

cámara3_stream_buffer_t:

Un único búfer de una transmisión de cámara3. Incluye un identificador para su secuencia principal, un identificador para el búfer gralloc y barreras de sincronización.

El búfer no especifica si se utilizará para entrada o salida; eso está determinado por su tipo de flujo principal y cómo se pasa el búfer al dispositivo HAL.

Definición en la línea 1755 del archivo camera3.h .

Documentación de campo

int adquirir_valla

El límite de sincronización de adquisición para este búfer. El HAL debe esperar en este fd de valla antes de intentar leer o escribir en este búfer.

El marco se puede establecer en -1 para indicar que no es necesario esperar para este búfer.

Cuando HAL devuelve un búfer de salida al marco con Process_capture_result(), adquirir_fence debe establecerse en -1. Si HAL nunca espera en adquirir_fence debido a un error al llenar un búfer, al llamar a Process_capture_result(), HAL debe configurar Release_fence del búfer para que sea el adquirir_fence que le pasa el marco. Esto permitirá que el marco espere en la valla antes de reutilizar el búfer.

Para los buffers de entrada, HAL no debe cambiar el campo adquirir_fence durante la llamada a process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Cuando HAL devuelve un búfer de entrada al marco con Process_capture_result(), adquirir_fence debe establecerse en -1. Si HAL nunca espera el límite de adquisición del búfer de entrada debido a un error, los límites de sincronización deben manejarse de manera similar a como se manejan para los búferes de salida.

Definición en la línea 1800 del archivo camera3.h .

buffer_handle_t* búfer

El identificador nativo del búfer.

Definición en la línea 1764 del archivo camera3.h .

int liberación_valla

El límite de sincronización de lanzamiento para este búfer. HAL debe establecer esta barrera al devolver buffers al marco, o escribir -1 para indicar que no es necesario esperar para este buffer.

Para los buffers de salida, las barreras deben establecerse en la matriz output_buffers pasada a Process_capture_result().

<= CAMERA_DEVICE_API_VERSION_3_1:

Para el búfer de entrada, la barrera de liberación debe establecerse mediante la llamada Process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Para el búfer de entrada, las barreras deben establecerse en el búfer de entrada pasado a Process_capture_result().

Después de señalar la liberación_fence para este búfer, HAL no debe realizar más intentos de acceder a este búfer ya que la propiedad se ha transferido completamente al marco.

Si se especificó un límite de -1, la propiedad de este búfer se transfiere inmediatamente después de la llamada de Process_capture_result.

Definición en la línea 1827 del archivo camera3.h .

estado entero

Estado actual del búfer, uno de los valores de camera3_buffer_status_t. El marco no pasará buffers al HAL que estén en estado de error. En caso de que HAL no pueda llenar un búfer, su estado debe establecerse en CAMERA3_BUFFER_STATUS_ERROR cuando se devuelve al marco con Process_capture_result().

Definición en la línea 1773 del archivo camera3.h .

camera3_stream_t * secuencia

El identificador de la secuencia a la que está asociado este búfer

Definición en la línea 1759 del archivo camera3.h .


La documentación para esta estructura se generó a partir del siguiente archivo:
  • hardware/libhardware/include/hardware/ camera3.h