कैमरा3_स्ट्रीम_बफ़र संरचना संदर्भ
#include < camera3.h >
डेटा फ़ील्ड | |
कैमरा3_स्ट्रीम_टी * | धारा |
बफ़र_हैंडल_t * | बफर |
int यहाँ | स्थिति |
int यहाँ | अधिग्रहण_बाड़ |
int यहाँ | रिहाई_बाड़ |
विस्तृत विवरण
कैमरा3_स्ट्रीम_बफ़र_टी:
कैमरा3 स्ट्रीम से एक एकल बफ़र। इसमें इसकी मूल स्ट्रीम के लिए एक हैंडल, ग्रालोक बफ़र के लिए हैंडल और सिंक बाड़ शामिल हैं
बफ़र निर्दिष्ट नहीं करता है कि इसका उपयोग इनपुट या आउटपुट के लिए किया जाना है या नहीं; यह उसके मूल स्ट्रीम प्रकार और बफर को एचएएल डिवाइस तक कैसे पहुंचाया जाता है, से निर्धारित होता है।
फ़ील्ड दस्तावेज़ीकरण
int अधिग्रहण_बाड़ |
इस बफ़र के लिए सिंक बाड़ प्राप्त करें। एचएएल को इस बफ़र से पढ़ने या लिखने का प्रयास करने से पहले इस बाड़ एफडी पर प्रतीक्षा करनी चाहिए।
यह इंगित करने के लिए कि इस बफ़र के लिए कोई प्रतीक्षा आवश्यक नहीं है, फ़्रेमवर्क को -1 पर सेट किया जा सकता है।
जब एचएएल प्रोसेस_कैप्चर_रिजल्ट() के साथ फ्रेमवर्क में आउटपुट बफर लौटाता है, तो एक्वायर_फेंस को -1 पर सेट किया जाना चाहिए। यदि बफर भरने में त्रुटि के कारण एचएएल कभी भी एक्वायर_फेंस पर इंतजार नहीं करता है, तो प्रोसेस_कैप्चर_रिजल्ट() को कॉल करते समय एचएएल को बफर के रिलीज_फेंस को फ्रेमवर्क द्वारा पास किए गए एक्वायर_फेंस के रूप में सेट करना होगा। यह ढांचे को बफर का पुन: उपयोग करने से पहले बाड़ पर इंतजार करने की अनुमति देगा।
इनपुट बफ़र्स के लिए, एचएएल को प्रोसेस_कैप्चर_रेक्वेस्ट() कॉल के दौरान एक्वायर_फ़ेंस फ़ील्ड को नहीं बदलना चाहिए।
>= CAMERA_DEVICE_API_VERSION_3_2:
जब एचएएल प्रोसेस_कैप्चर_रिजल्ट() के साथ फ्रेमवर्क में एक इनपुट बफर लौटाता है, तो एक्वायर_फेंस को -1 पर सेट किया जाना चाहिए। यदि एचएएल किसी त्रुटि के कारण इनपुट बफर अधिग्रहण बाड़ पर कभी इंतजार नहीं करता है, तो सिंक बाड़ को आउटपुट बफर के लिए जिस तरह से संभाला जाता है उसी तरह से संभाला जाना चाहिए।
पूर्णांक रिलीज़_फ़ेंस |
इस बफ़र के लिए रिलीज़ सिंक बाड़। फ्रेमवर्क में बफ़र्स लौटाते समय एचएएल को इस बाड़ को सेट करना होगा, या यह इंगित करने के लिए -1 लिखना होगा कि इस बफ़र के लिए किसी प्रतीक्षा की आवश्यकता नहीं है।
आउटपुट बफ़र्स के लिए, फ़ेंस को प्रोसेस_कैप्चर_रिजल्ट() को दिए गए आउटपुट_बफ़र्स ऐरे में सेट किया जाना चाहिए।
<= CAMERA_DEVICE_API_VERSION_3_1:
इनपुट बफ़र के लिए, रिलीज़ फ़ेंस को प्रोसेस_कैप्चर_रेक्वेस्ट() कॉल द्वारा सेट किया जाना चाहिए।
>= CAMERA_DEVICE_API_VERSION_3_2:
इनपुट बफ़र के लिए, फ़ेंस को प्रोसेस_कैप्चर_रिज़ल्ट() को दिए गए इनपुट_बफ़र में सेट किया जाना चाहिए।
इस बफ़र के लिए रिलीज़_फेंस को संकेत देने के बाद, एचएएल को इस बफ़र तक पहुंचने के लिए कोई और प्रयास नहीं करना चाहिए क्योंकि स्वामित्व पूरी तरह से फ्रेमवर्क में वापस स्थानांतरित कर दिया गया है।
यदि -1 की बाड़ निर्दिष्ट की गई थी तो इस बफ़र का स्वामित्व प्रक्रिया_कैप्चर_परिणाम के कॉल पर तुरंत वापस स्थानांतरित कर दिया जाता है।
पूर्ण स्थिति |
बफ़र की वर्तमान स्थिति, कैमरा3_बफ़र_स्टैटस_टी मानों में से एक। फ़्रेमवर्क एचएएल को बफ़र्स पास नहीं करेगा जो त्रुटि स्थिति में हैं। यदि एचएएल द्वारा कोई बफर नहीं भरा जा सका, तो प्रोसेस_कैप्चर_रिजल्ट() के साथ फ्रेमवर्क में वापस आने पर इसकी स्थिति CAMERA3_BUFFER_STATUS_ERROR पर सेट होनी चाहिए।
कैमरा3_स्ट्रीम_टी * स्ट्रीम |
इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
- हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ कैमरा3.एच