camera3_stream_buffer Struct Reference

camera3_stream_buffer Struct Reference

#include < camera3.h >

Campos de Dados

camera3_stream_t *Stream
buffer_handle_t *amortecedor
intstatus
intadquirir cerca
intrelease_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.

Definição na linha 1755 do arquivo camera3.h .

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.

Definição na linha 1800 do arquivo camera3.h .

buffer_handle_t * buffer

O identificador nativo para o buffer

Definição na linha 1764 do arquivo camera3.h .

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.

Definição na linha 1827 do arquivo camera3.h .

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 ().

Definição na linha 1773 do arquivo camera3.h .

O identificador do fluxo ao qual este buffer está associado

Definição na linha 1759 do arquivo camera3.h .


A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
  • hardware / libhardware / include / hardware / camera3.h