camera2_frame_queue_dst_ops مرجع ساختار
camera2_frame_queue_dst_ops مرجع ساختار
#include < camera2.h >
فیلدهای داده | |
int(* | dequeue_frame )(const struct camera2_frame_queue_dst_ops *q، size_t ورودی، size_t داده_بایت، camera_metadata_t **بافر) |
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) |
توصیف همراه با جزئیات
پروتکل صف خروجی فریم:
فریم ورک صف و محتویات آن را نگه می دارد. در شروع، صف خالی است.
- هنگامی که دستگاه آماده پر کردن یک فریم فراداده خروجی است، باید یک بافر ابرداده با اندازه مورد نیاز را از صف خارج کند.
- سپس باید بافر ابرداده را پر کرده و با استفاده از 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) |
یک بافر ابرداده خالی برای پر کردن از چارچوب دریافت کنید. بافر ابرداده جدید فضایی برای تعداد ورودیهای ورودیهای فراداده، به علاوه داده_بایت فضای ذخیرهسازی اضافی خواهد داشت. فریمهایی که در اینجا قرار میگیرند باید با cancel_frame یا enqueue_frame به چارچوب برگردانده شوند.
int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
مستندات این ساختار از فایل زیر تولید شده است:
- hardware/libhardware/include/hardware/ camera2.h