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