Referência da estrutura camera2_stream_ops
#include <
camera2.h
>
Campos de dados |
|
int(* | dequeue_buffer )(const struct camera2_stream_ops *w, buffer_handle_t **buffer) |
int(* | enqueue_buffer )(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer) |
int(* | cancel_buffer )(const struct camera2_stream_ops *w, buffer_handle_t *buffer) |
int(* | set_crop )(const struct camera2_stream_ops *w, int left, int top, int right, int bottom) |
Descrição detalhada
Interface da fila de saída do fluxo de imagens. Um conjunto desses métodos é fornecido ao dispositivo HAL em allocate_stream() e usado para interagir com a fila de buffer gralloc para esse stream. Elas não podem ser chamadas até que allocate_stream seja retornado.
Documentação do campo
int(* cancel_buffer)(const struct camera2_stream_ops *w, buffer_handle_t *buffer) |
int(* dequeue_buffer)(const struct camera2_stream_ops *w, buffer_handle_t **buffer) |
Receber um buffer para preencher da fila. O tamanho e o formato do buffer são fixos para um determinado stream (definido em allocate_stream), e o passo precisa ser consultado no módulo gralloc da plataforma. O buffer gralloc será alocado com base nas flags de uso fornecidas por allocate_stream e será bloqueado para uso.
int(* enqueue_buffer)(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer) |
Envio de um buffer preenchido para o stream a ser usado pelo consumidor.
O carimbo de data/hora representa o horário de início da exposição da primeira linha da imagem. Ele precisa ser de um relógio monótono e é medido em nanossegundos. Os carimbos de data/hora não precisam ser comparáveis entre câmeras diferentes ou instâncias consecutivas da mesma câmera. No entanto, eles precisam ser comparáveis entre os fluxos da mesma câmera. Se uma captura produzir buffers para vários fluxos, cada fluxo precisa ter o mesmo carimbo de data/hora para esse buffer, e esse carimbo precisa corresponder ao carimbo nos metadados do frame de saída.
int(* set_crop)(const struct camera2_stream_ops *w, int left, int top, int right, int bottom) |
A documentação desse struct foi gerada com base no seguinte arquivo:
- hardware/libhardware/include/hardware/ camera2.h