camera3_stream_buffer Struct Reference
#include < camera3.h >
Campos de Dados | |
camera3_stream_t * | Stream |
buffer_handle_t * | amortecedor |
int | status |
int | adquirir cerca |
int | release_fence |
Descrição detalhada
camera3_stream_buffer_t:
Um único buffer de um stream camera3. Inclui um identificador para seu fluxo pai, o identificador para o próprio buffer gralloc e barreiras de sincronização
O buffer não especifica se deve ser usado para entrada ou saída; que é determinado por seu tipo de fluxo pai e como o buffer é passado para o dispositivo HAL.
Documentação de Campo
int aquis_fence |
A cerca de sincronização de aquisição para este buffer. O HAL deve esperar neste fence fd antes de tentar ler ou escrever neste buffer.
A estrutura pode ser definida como -1 para indicar que nenhuma espera é necessária para este buffer.
Quando o HAL retorna um buffer de saída para a estrutura com process_capture_result (), o purchase_fence deve ser definido como -1. Se o HAL nunca espera no purchase_fence devido a um erro no preenchimento de um buffer, ao chamar process_capture_result () o HAL deve definir o release_fence do buffer como o purchase_fence passado a ele pelo framework. Isso permitirá que a estrutura espere em cima do muro antes de reutilizar o buffer.
Para buffers de entrada, o HAL não deve alterar o campo buyer_fence durante a chamada process_capture_request ().
> = CAMERA_DEVICE_API_VERSION_3_2:
Quando o HAL retorna um buffer de entrada para a estrutura com process_capture_result (), o purchase_fence deve ser definido como -1. Se o HAL nunca espera pelo limite de aquisição do buffer de entrada devido a um erro, os limites de sincronização devem ser tratados da mesma forma que são tratados para os buffers de saída.
buffer_handle_t * buffer |
int release_fence |
O limite de sincronização de liberação para este buffer. O HAL deve definir essa cerca ao retornar buffers para a estrutura ou escrever -1 para indicar que não é necessário esperar por esse buffer.
Para os buffers de saída, as cercas devem ser definidas no array output_buffers passado para process_capture_result ().
<= CAMERA_DEVICE_API_VERSION_3_1:
Para o buffer de entrada, o limite de liberação deve ser definido pela chamada process_capture_request ().
> = CAMERA_DEVICE_API_VERSION_3_2:
Para o buffer de entrada, as cercas devem ser definidas no input_buffer passado para process_capture_result ().
Depois de sinalizar o release_fence para esse buffer, o HAL não deve fazer mais nenhuma tentativa de acessar esse buffer, pois a propriedade foi totalmente transferida de volta para a estrutura.
Se um fence de -1 foi especificado, a propriedade deste buffer é transferida de volta imediatamente após a chamada de process_capture_result.
status interno |
Estado atual do buffer, um dos valores camera3_buffer_status_t. A estrutura não passará buffers para o HAL que estão em um estado de erro. Caso um buffer não possa ser preenchido pelo HAL, ele deve ter seu status configurado para CAMERA3_BUFFER_STATUS_ERROR quando retornado ao framework com process_capture_result ().
camera3_stream_t * stream |
A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
- hardware / libhardware / include / hardware / camera3.h