نقل بيانات مخبّر الكاميرا من منتج واحد إلى عدة مستخدِمين

تقدّم هذه الميزة مجموعة من الطرق التي تتيح لبرامج الكاميرا إضافة أسطح الإخراج وإزالتها بشكل ديناميكي أثناء نشاط جلسة الالتقاط واستمرار بث الكاميرا. يمكن ربط ناتج جديد ببث كاميرا مشتركة محدّد يختاره المستخدم. بعد إضافة سطح، يمكن إزالته في أي وقت.

الفكرة العامة هي مشاركة المخازن المؤقتة المرتبطة ببث كاميرا معيّن ضمن عدة مساحات عرض. يحتفظ عدّاد المراجع الداخلية بسجلّ للمخازن المؤقتة عندما تصبح جاهزة لمزيد من المعالجة من جهة المستهلك. عندما يكمل جميع المستهلكين مهامهم، تتم إزالة المخزن المؤقت من قائمة الانتظار ويصبح متاحًا للكاميرا.

مشاركة المخزن المؤقت

الشكل 1: مشاركة المخزن المؤقت

يوضّح الشكل 1 سيناريو مثالاً يتم فيه ربط المخازن المؤقتة التي تتم معالجتها بواسطة بث الكاميرا 2 وفصلها بشكل ديناميكي، ويتم احتساب عدد المراجع لها وإدارتها بواسطة مكوّن مقسّم البث داخل بث إخراج مشترك مخصّص ضمن خدمة الكاميرا.

الأمثلة والمصدر

يمكن العثور على التنفيذ الأساسي لهذه الميزة في الوحدة Camera3StreamSplitter. يمكنك العثور على مستندات حول هذه الميزة في مرجع المطوّرين:

التنفيذ

لا يلزم تنفيذ أي إجراء على مستوى طبقة تجريد الأجهزة (HAL) الخاصة بالكاميرا، لأنّ هذه الميزة يتم تنفيذها على مستوى إطار العمل.

التحقق من صحة البيانات

يجب أن يجتاز التنفيذ حالات CTS التي تغطي هذه الميزة من وحدة MultiViewTest ومكتبة JNI الأصلية للواجهة الأصلية.