คุณสมบัตินี้จะแนะนำชุดวิธีการที่ช่วยให้ไคลเอนต์กล้องสามารถเพิ่มและลบพื้นผิวเอาต์พุตแบบไดนามิกในขณะที่เซสชั่นการถ่ายภาพทำงานอยู่และการสตรีมของกล้องยังดำเนินอยู่ เอาต์พุตใหม่สามารถแมปกับสตรีม กล้องที่ใช้ร่วมกัน เฉพาะเจาะจงที่ผู้ใช้เลือก หลังจากเพิ่มพื้นผิวแล้ว ก็สามารถลบออกได้ตลอดเวลา
แนวคิดทั่วไปคือการแบ่งปันบัฟเฟอร์ที่เกี่ยวข้องกับสตรีมของกล้องเฉพาะภายในพื้นผิวเอาต์พุตหลายแบบ ตัวนับอ้างอิงภายในจะติดตามบัฟเฟอร์เมื่อพร้อมสำหรับการประมวลผลเพิ่มเติมในฝั่งผู้บริโภค เมื่อผู้บริโภคทั้งหมดทำงานของตนเสร็จสิ้น บัฟเฟอร์จะถูกแยกออกและพร้อมใช้งานสำหรับกล้อง
รูปที่ 1. การแบ่งใช้บัฟเฟอร์
รูปที่ 1 แสดงให้เห็นสถานการณ์ตัวอย่างหนึ่งที่บัฟเฟอร์ที่ประมวลผลโดยสตรีมกล้อง 2 แนบและแยกออกแบบไดนามิก นับการอ้างอิง และจัดการโดยส่วนประกอบตัวแยกสตรีมภายในสตรีมเอาต์พุตที่ใช้ร่วมกันโดยเฉพาะภายในบริการกล้อง
ตัวอย่างและที่มา
การใช้งานหลักของคุณสมบัตินี้สามารถพบได้ในโมดูล Camera3StreamSplitter
เอกสารเกี่ยวกับคุณสมบัตินี้สามารถพบได้ในข้อมูลอ้างอิงของนักพัฒนา:
การนำไปปฏิบัติ
ไม่จำเป็นต้องดำเนินการใดๆ ในฝั่ง Camera HAL เนื่องจากคุณลักษณะนี้ถูกนำไปใช้ในด้านเฟรมเวิร์ก
การตรวจสอบ
การใช้งานของคุณจะต้องผ่านกรณี CTS ที่ครอบคลุมคุณลักษณะนี้จากโมดูล MultiViewTest และ ไลบรารี JNI ดั้งเดิม สำหรับ API ดั้งเดิม