एकल निर्माता एकाधिक उपभोक्ता कैमरा बफ़र परिवहन

यह सुविधा विधियों का एक सेट पेश करती है जो कैमरा क्लाइंट को कैप्चर सत्र सक्रिय होने और कैमरा स्ट्रीमिंग जारी रहने के दौरान आउटपुट सतहों को गतिशील रूप से जोड़ने और हटाने की अनुमति देती है। एक नया आउटपुट एक विशिष्ट, उपयोगकर्ता-चयनित साझा कैमरा स्ट्रीम पर मैप कर सकता है। सतह जोड़ने के बाद इसे किसी भी समय हटाया जा सकता है।

सामान्य विचार एक विशेष कैमरा स्ट्रीम से जुड़े बफ़र्स को कई आउटपुट सतहों के भीतर साझा करना है। एक आंतरिक संदर्भ काउंटर बफ़र्स पर नज़र रखता है क्योंकि वे उपभोक्ता पक्ष पर आगे की प्रक्रिया के लिए तैयार हो जाते हैं। जब सभी उपभोक्ता अपना-अपना कार्य पूरा कर लेते हैं तो बफ़र कतार से हट जाता है और कैमरे के लिए उपलब्ध हो जाता है।

बफ़र साझाकरण

चित्र 1. बफ़र साझाकरण

चित्र 1 एक उदाहरण परिदृश्य को दर्शाता है जहां कैमरा स्ट्रीम 2 द्वारा संसाधित बफ़र्स को गतिशील रूप से संलग्न और अलग किया जाता है, संदर्भ गिना जाता है, और कैमरा सेवा के भीतर एक समर्पित साझा आउटपुट स्ट्रीम के अंदर स्ट्रीम स्प्लिटर घटक द्वारा प्रबंधित किया जाता है।

उदाहरण और स्रोत

इस सुविधा का मुख्य कार्यान्वयन Camera3StreamSplitter मॉड्यूल में पाया जा सकता है। इस सुविधा पर दस्तावेज़ीकरण डेवलपर संदर्भ में पाया जा सकता है:

कार्यान्वयन

कैमरा एचएएल पक्ष पर किसी कार्यान्वयन की आवश्यकता नहीं है क्योंकि यह सुविधा फ्रेमवर्क पक्ष पर लागू की गई है।

मान्यकरण

आपके कार्यान्वयन को सीटीएस मामलों को पास करना होगा जो मल्टीव्यूटेस्ट मॉड्यूल और मूल एपीआई के लिए मूल जेएनआई लाइब्रेरी से इस सुविधा को कवर करते हैं।