مرجع الهيكل الخاص بكاميرا2_frame_queue_dst_ops
مرجع الهيكل الخاص بكاميرا2_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/تشمل/الأجهزة/ الكاميرا2.h