تقدّم هذه الميزة مجموعة من الطرق التي تسمح لعملاء الكاميرا بإضافة مساحات العرض للإخراج و إزالتها بشكل ديناميكي أثناء نشاط جلسة الالتقاط و بث الكاميرا. يمكن ربط مخرج جديد ببث محدد يختاره المستخدم من الكاميرا المشتركة. بعد إضافة سطح، يمكن إزالته في أي وقت.
وتتلخّص الفكرة العامة في مشاركة وحدات التخزين المؤقت المرتبطة ببث كاميرا معيّن ضمن مساحات عرض متعددة. يتتبّع عداد مرجعي داخلي المخازن المؤقتة عندما تصبح جاهزة لإجراء المزيد من المعالجة من جانب المستهلك. عندما يُكمل جميع المستهلكين مهامهم، تتم إزالة المخزن المؤقت من "قائمة الانتظار" ويُصبح متاحًا للكاميرا.
الشكل 1: مشاركة ذاكرة التخزين المؤقت
يوضّح الشكل 1 مثالاً على سيناريو يتم فيه ربط وفصل العناصر المخزّنة مؤقتًا التي تتم معالجتها من خلال مجرى البث 2 للكاميرا بشكل ديناميكي، ويتم احتساب عدد الإحالات وإدارتها من خلال عنصر "مُقسِّم البث" داخل مجرى إخراج مشترَك مخصّص ضمن خدمة الكاميرا.
الأمثلة والمصدر
يمكن العثور على التنفيذ الأساسي لهذه الميزة في وحدة
Camera3StreamSplitter
. يمكن العثور على مستندات عن هذه الميزة في مرجع المطوّرين:
التنفيذ
لا يلزم تنفيذ أيّ عملية من جانب Camera HAL لأنّ هذه الميزة تتم تنفيذها من جانب إطار العمل.
التحقُّق
يجب أن يجتاز التنفيذ حالات CTS التي تغطي هذه الميزة من وحدة MultiViewTest ومكتبة JNI الأصلية لواجهة برمجة التطبيقات الأصلية.