Tài liệu tham khảo về cấu trúc camera2_frame_queue_dst_ops
#include <
camera2.h
>
Trường dữ liệu |
|
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) |
Nội dung mô tả chi tiết
Giao thức hàng đợi đầu ra khung hình:
Khung này chứa hàng đợi và nội dung của hàng đợi. Ban đầu, hàng đợi này sẽ trống.
- Khi sẵn sàng điền khung siêu dữ liệu đầu ra, thiết bị phải xoá một vùng đệm siêu dữ liệu có kích thước bắt buộc khỏi hàng đợi.
- Sau đó, phương thức này sẽ điền vào vùng đệm siêu dữ liệu và đặt vùng đệm đó vào hàng đợi khung bằng cách sử dụng enqueue_frame. Khung này sẽ sở hữu khung.
- Trong trường hợp xảy ra lỗi, yêu cầu xoá sạch quy trình hoặc tắt máy, thiết bị phải trả về mọi khung hình bị ảnh hưởng đã bị xoá khỏi hàng đợi cho khung bằng cách gọi cancel_frame.
Tài liệu về trường
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) |
Lấy vùng đệm siêu dữ liệu trống để điền từ khung. Vùng đệm siêu dữ liệu mới sẽ có đủ chỗ cho số mục siêu dữ liệu, cộng với dung lượng lưu trữ bổ sung data_bytes. Các khung được loại bỏ khỏi hàng đợi ở đây phải được trả về khung bằng cancel_frame hoặc enqueue_frame.
int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
Tài liệu cho cấu trúc này được tạo từ tệp sau:
- hardware/libhardware/include/hardware/ camera2.h