Camera3_stream_buffer Struct Referencia

Camera3_stream_buffer Struct Referencia

#include < camera3.h >

Campos de información

camera3_stream_t *Arroyo
buffer_handle_t *buffer
En testado
En tadquirir_valla
En trelease_fence

Descripción detallada

camera3_stream_buffer_t:

Un solo búfer de una transmisión de camera3. Incluye un identificador para su flujo principal, el identificador para el búfer gralloc en sí y vallas de sincronización

El búfer no especifica si se utilizará para entrada o salida; que 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_fence

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

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

Cuando el HAL devuelve un búfer de salida al marco con process_capture_result (), el valor del valor adquirido debe establecerse en -1. Si el HAL nunca espera a la barrera de adquisición debido a un error en el llenado de un búfer, al llamar a process_capture_result (), la HAL debe configurar la valla de liberación del búfer para que sea la valla de adquisición que le pasa el marco. Esto permitirá que el marco espere en la cerca antes de reutilizar el búfer.

Para los búferes de entrada, la HAL no debe cambiar el campo Copper_fence durante la llamada process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

Cuando el HAL devuelve un búfer de entrada al marco con process_capture_result (), el valor de adquisición debe establecerse en -1. Si el HAL nunca espera a que el búfer de entrada adquiera la cerca debido a un error, las vallas 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 * buffer

El identificador nativo del búfer

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

int release_fence

La barrera de sincronización de liberación para este búfer. El HAL debe establecer este límite al devolver búferes al marco, o escribir -1 para indicar que no se requiere esperar para este búfer.

Para los búferes de salida, las cercas deben establecerse en la matriz output_buffers pasada a process_capture_result ().

<= CAMERA_DEVICE_API_VERSION_3_1:

Para el búfer de entrada, el límite de liberación debe establecerse mediante la llamada process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

Para el búfer de entrada, las vallas deben establecerse en el input_buffer pasado a process_capture_result ().

Después de señalar el release_fence para este búfer, la HAL no debería hacer ningún intento adicional de acceder a este búfer, ya que la propiedad se ha transferido completamente de nuevo al marco.

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

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

estado int

Estado actual del búfer, uno de los valores de camera3_buffer_status_t. El marco no pasará búferes al HAL que estén en un estado de error. En caso de que HAL no pueda llenar un búfer, debe tener su estado establecido 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 .

El identificador de la secuencia con el 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