Справочник по структуре camera2_frame_queue_dst_ops
Справочник по структуре camera2_frame_queue_dst_ops
#include < camera2.h >
Поля данных | |
интервал(* | dequeue_frame )(const struct camera2_frame_queue_dst_ops *q, записи size_t, size_t data_bytes, camera_metadata_t **buffer) |
интервал(* | cancel_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
интервал(* | enqueue_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
Подробное описание
Протокол очереди вывода кадров:
Фреймворк хранит очередь и ее содержимое. В начале очередь пуста.
- Когда устройство готово заполнить выходной кадр метаданных, оно должно извлечь из очереди буфер метаданных необходимого размера.
- Затем он должен заполнить буфер метаданных и поместить его в очередь кадров с помощью enqueue_frame. Фреймворк берет на себя ответственность за фрейм.
- В случае ошибки, запроса на очистку конвейера или завершения работы устройство должно вернуть в платформу все затронутые выведенные из очереди кадры, вызвав cancel_frame.
Полевая документация
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, size_t data_bytes, camera_metadata_t **buffer) |
Получите пустой буфер метаданных для заполнения из платформы. В новом буфере метаданных будет место для количества записей метаданных, а также дополнительное пространство в data_bytes. Кадры, исключенные здесь из очереди, должны быть возвращены в платформу либо с помощью cancel_frame, либо с помощью enqueue_frame.
int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
Документация для этой структуры была создана из следующего файла:
- Аппаратное обеспечение/libhardware/include/hardware/ camera2.h