Справочник по структуре 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