การส่งบัฟเฟอร์กล้องของผู้ผลิตรายเดียวไปยังผู้บริโภคหลายราย

ฟีเจอร์นี้จะแนะนำชุดเมธอดที่ช่วยให้ไคลเอ็นต์กล้องเพิ่มและนำพื้นผิวเอาต์พุตออกได้แบบไดนามิก ขณะที่เซสชันการจับภาพทำงานอยู่และกล้องกำลังสตรีม เอาต์พุตใหม่สามารถแมปกับสตรีมจากกล้องที่แชร์ซึ่งผู้ใช้เลือกได้ หลังจากเพิ่มพื้นผิวแล้ว คุณจะนำพื้นผิวออกได้ทุกเมื่อ

แนวคิดทั่วไปคือการแชร์บัฟเฟอร์ที่เชื่อมโยงกับสตรีมจากกล้องหนึ่งๆ ภายในพื้นผิวเอาต์พุตหลายรายการ ตัวนับการอ้างอิงภายในจะติดตามบัฟเฟอร์เมื่อบัฟเฟอร์พร้อมสำหรับการประมวลผลเพิ่มเติมในฝั่งผู้ใช้ เมื่อผู้ใช้ทั้งหมดทำงานที่เกี่ยวข้องเสร็จแล้ว บัฟเฟอร์จะถูกนำออกจากคิวและพร้อมใช้งานสำหรับกล้อง

การแชร์บัฟเฟอร์

รูปที่ 1 การแชร์บัฟเฟอร์

รูปที่ 1 แสดงสถานการณ์ตัวอย่างที่บัฟเฟอร์ซึ่งประมวลผลโดยสตรีมจากกล้อง 2 จะแนบและถอดออกแบบไดนามิก มีการนับการอ้างอิง และจัดการโดยคอมโพเนนต์ตัวแยกสตรีมภายในสตรีมเอาต์พุตที่แชร์โดยเฉพาะภายในบริการกล้อง

ตัวอย่างและแหล่งที่มา

การใช้งานหลักของฟีเจอร์นี้อยู่ใน Camera3StreamSplitter โมดูล ดูเอกสารประกอบเกี่ยวกับฟีเจอร์นี้ได้ในข้อมูลอ้างอิงสำหรับนักพัฒนาแอป

การใช้งาน

คุณไม่จำเป็นต้องใช้งานในฝั่ง Camera HAL เนื่องจากฟีเจอร์นี้ใช้งานในฝั่งเฟรมเวิร์ก

การตรวจสอบ

การใช้งานของคุณต้องผ่านเคส CTS ที่ครอบคลุมฟีเจอร์นี้จากโมดูล MultiViewTest และไลบรารี JNI ดั้งเดิม สำหรับ Native API