بنية camera3_stream_buffer

بنية camera3_stream_buffer

#include < camera3.h >

حقول البيانات

camera3_stream_t stream
 
buffer_handle_t *  التخزين المؤقت
 
int  status
 
int  acquire_fence
 
int  release_fence
 

وصف مفصّل

camera3_stream_buffer_t:

ذاكرة تخزين مؤقت واحدة من بث كاميرا3 ويتضمن معرّفًا للبث الرئيسي، ومعرّفًا لوحدة تخزين gralloc نفسها، وحدود المزامنة.

لا يحدِّد المخزن المؤقت ما إذا كان سيتم استخدامه للإدخال أو الإخراج، ويتم تحديد ذلك حسب نوع البث الرئيسي وكيفية تمرير المخزن المؤقت إلى جهاز HAL.

التعريف في السطر 1755 من الملف camera3.h .

مستندات الحقل

int acquire_fence

الحصول على سياج المزامنة لهذا المخزن المؤقت يجب أن ينتظر HAL على fd هذا قبل محاولة القراءة من هذا المخزن المؤقت أو الكتابة فيه.

يمكن ضبط الإطار على -1 للإشارة إلى أنّه ليس من الضروري الانتظار لهذا المخزن المؤقت.

عندما يعرض HAL مخزنًا مؤقتًا للإخراج إلى إطار العمل باستخدام عملية process_capture_result()‎، يجب ضبط acquire_fence على -1. إذا لم ينتظر HAL أبدًا على acquire_fence بسبب خطأ في ملء المخزن المؤقت، عند استدعاء process_capture_result()، يجب أن يضبط HAL قيمة release_fence للمخزن المؤقت لتكون acquire_fence التي تم تمريرها إليه من خلال الإطار. سيسمح ذلك للإطار بالانتظار قبل إعادة استخدام المخزن المؤقت.

بالنسبة إلى وحدات تخزين المؤقتة للدخل، يجب ألا يغيّر HAL حقل acquire_fence أثناء طلب process_capture_request()‎.

‫‎>= CAMERA_DEVICE_API_VERSION_3_2:

عندما يعرض HAL وحدة تخزين مؤقت للإدخال إلى إطار العمل باستخدام process_capture_result()‎، يجب ضبط acquire_fence على -1. إذا لم ينتظر HAL أبدًا على سياج اكتساب مخزن مؤقت للإدخال بسبب خطأ، يجب التعامل مع سياج المزامنة بشكل مشابه للطريقة التي يتم بها التعامل مع مخازن مؤقتة للإخراج.

التعريف في السطر 1800 من الملف camera3.h .

buffer_handle_t* buffer

الاسم المعرِّف الأصلي للذاكرة المؤقتة

التعريف في السطر 1764 من الملف camera3.h .

int release_fence

حدّ مزامنة الإصدار لهذا المخزن المؤقت. يجب أن يضبط HAL هذا الفاصل عند إرجاع المخزن المؤقت إلى إطار العمل، أو يكتب -1 للإشارة إلى أنّه لا يلزم الانتظار لهذا المخزن المؤقت.

بالنسبة إلى وحدات تخزين الإخراج، يجب ضبط حدودها في صفيف output_buffers الذي يتم تمريره إلى دالة process_capture_result().

‫<= CAMERA_DEVICE_API_VERSION_3_1:

بالنسبة إلى وحدة تخزين مؤقت للإدخال، يجب ضبط حدود الإصدار من خلال طلب process_capture_request()‎.

‫‎>= CAMERA_DEVICE_API_VERSION_3_2:

بالنسبة إلى وحدة تخزين مؤقت للإدخال، يجب ضبط حدود الإطارات في input_buffer التي تم تمريرها إلى process_capture_result().

بعد إرسال إشارة release_fence لهذا المخزن المؤقت، يجب ألا يحاول HAL الوصول إلى هذا المخزن المؤقت مرة أخرى لأنّه تم نقل الملكية بالكامل مرة أخرى إلى إطار العمل.

إذا تم تحديد قيمة -1 للحاجز، يتم نقل ملكية هذا المخزن المؤقت مرة أخرى على الفور عند استدعاء process_capture_result.

التعريف في السطر 1827 من الملف camera3.h .

حالة int

الحالة الحالية للذاكرة المؤقتة، وهي إحدى قيم camera3_buffer_status_t. لن يُرسِل إطار العمل وحدات التخزين المؤقت إلى HAL التي تكون في حالة خطأ. في حال تعذّر على HAL ملء المخزن المؤقت، يجب ضبط حالته على CAMERA3_BUFFER_STATUS_ERROR عند إرجاعه إلى إطار العمل باستخدام process_capture_result().

التعريف في السطر 1773 من الملف camera3.h .

الاسم المعرِّف للبث المرتبط بهذا المخزن المؤقت

التعريف في السطر 1759 من الملف camera3.h .


تم إنشاء مستندات هذه البنية من الملف التالي: