Referência de estrutura camera3_stream_buffer

Referência de estrutura camera3_stream_buffer

#include < camera3.h >

Campos de dados

câmera3_stream_t * fluxo
buffer_handle_t * amortecedor
interno status
interno adquirir_fence
interno release_fence

Descrição detalhada

camera3_stream_buffer_t:

Um único buffer de um fluxo camera3. Ele inclui um identificador para seu fluxo pai, um identificador para o próprio buffer gralloc e cercas de sincronização

O buffer não especifica se deve ser usado para entrada ou saída; que é determinado pelo 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 adquirir_fence

O limite de sincronização de aquisição para esse buffer. O HAL deve esperar neste limite antes de tentar ler ou gravar 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 adquire_fence deve ser definido como -1. Se o HAL nunca espera pelo adquire_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 adquire_fence passado a ele pela estrutura. 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 adquire_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 adquire_fence deve ser definido como -1. Se o HAL nunca esperar pela cerca de aquisição do buffer de entrada devido a um erro, as cercas de sincronização deverão ser tratadas de forma semelhante à forma como são tratadas para buffers de saída.

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

buffer_handle_t* buffer

O identificador nativo do buffer

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

int release_fence

O limite de sincronização de liberação para esse buffer. O HAL deve definir esse limite ao retornar buffers para a estrutura ou escrever -1 para indicar que nenhuma espera é necessária para 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 este buffer, o HAL não deve fazer mais nenhuma tentativa de acessar este buffer, pois a propriedade foi totalmente transferida de volta para a estrutura.

Se um limite -1 for especificado, a propriedade desse buffer será 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 estejam em estado de erro. Caso um buffer não possa ser preenchido pelo HAL, ele deverá ter seu status definido como 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 desta estrutura foi gerada a partir do seguinte arquivo:
  • hardware/libhardware/incluir/hardware/ camera3.h