Referência da estrutura camera2_frame_queue_dst_ops
#include <
camera2.h
>
Campos de dados |
|
int(* | dequeue_frame )(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer) |
int(* | cancel_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
int(* | enqueue_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
Descrição detalhada
Protocolo da fila de saída de frames:
O framework armazena a fila e o conteúdo dela. No início, a fila está vazia.
- Quando o dispositivo estiver pronto para preencher um frame de metadados de saída, ele precisará retirar da fila um buffer de metadados do tamanho necessário.
- Em seguida, ele precisa preencher o buffer de metadados e colocá-lo na fila de frames usando enqueue_frame. O framework assume a propriedade do frame.
- Em caso de erro, uma solicitação para limpar o pipeline ou encerrar, o dispositivo precisa retornar todos os frames retirados da fila afetados ao framework chamando cancel_frame.
Documentação do campo
int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer) |
Receba um buffer de metadados vazio para preencher do framework. O novo buffer de metadados terá espaço para o número de entradas de metadados, além de data_bytes de armazenamento extra. Os frames retirados da fila aqui precisam ser retornados ao framework com cancel_frame ou enqueue_frame.
int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
A documentação desse struct foi gerada com base no seguinte arquivo:
- hardware/libhardware/include/hardware/ camera2.h