कैमरा_डिवाइस_ऑप्स संरचना संदर्भ
#include < camera.h >
डेटा फ़ील्ड | |
पूर्णांक(* | सेट_प्रीव्यू_विंडो )(स्ट्रक्चर कैमरा_डिवाइस *, स्ट्रक्चर प्रीव्यू_स्ट्रीम_ऑप्स *विंडो) |
खालीपन(* | सेट_कॉलबैक )(स्ट्रक्चर कैमरा_डिवाइस *, कैमरा_नोटिफ़ाइ_कॉलबैक नोटिफाई_सीबी, कैमरा_डेटा_कॉलबैक डेटा_सीबी, कैमरा_डेटा_टाइमस्टैम्प_कॉलबैक डेटा_सीबी_टाइमस्टैम्प, कैमरा_रिक्वेस्ट_मेमोरी गेट_मेमोरी, शून्य *उपयोगकर्ता) |
खालीपन(* | Enable_msg_type )(struct कैमरा_डिवाइस *, int32_t msg_type) |
खालीपन(* | disable_msg_type )(struct कैमरा_डिवाइस *, int32_t msg_type) |
पूर्णांक(* | msg_type_enabled )(struct कैमरा_डिवाइस *, int32_t msg_type) |
पूर्णांक(* | प्रारंभ_पूर्वावलोकन )(संरचना कैमरा_डिवाइस *) |
खालीपन(* | stop_preview )(struct कैमरा_डिवाइस *) |
पूर्णांक(* | पूर्वावलोकन_सक्षम )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | स्टोर_मेटा_डेटा_इन_बफ़र्स )(स्ट्रक्चर कैमरा_डिवाइस *, इंट इनेबल) |
पूर्णांक(* | स्टार्ट_रिकॉर्डिंग )(स्ट्रक्चर कैमरा_डिवाइस *) |
खालीपन(* | स्टॉप_रिकॉर्डिंग )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | रिकॉर्डिंग_सक्षम )(स्ट्रक्चर कैमरा_डिवाइस *) |
खालीपन(* | रिलीज_रिकॉर्डिंग_फ्रेम )(स्ट्रक्चर कैमरा_डिवाइस *, स्थिरांक शून्य *अपारदर्शी) |
पूर्णांक(* | ऑटो_फोकस )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | कैंसिल_ऑटो_फोकस )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | टेक_पिक्चर )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | कैंसिल_पिक्चर )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | सेट_पैरामीटर )(स्ट्रक्चर कैमरा_डिवाइस *, स्थिरांक चार *पार्म्स) |
चार *(* | get_parameters )(struct कैमरा_डिवाइस *) |
खालीपन(* | पुट_पैरामीटर )(स्ट्रक्चर कैमरा_डिवाइस *, चार *) |
पूर्णांक(* | भेजें_कमांड )(स्ट्रक्चर कैमरा_डिवाइस *, int32_t cmd, int32_t arg1, int32_t arg2) |
खालीपन(* | रिलीज )(स्ट्रक्चर कैमरा_डिवाइस *) |
पूर्णांक(* | डंप )(स्ट्रक्चर कैमरा_डिवाइस *, इंट एफडी) |
विस्तृत विवरण
फ़ील्ड दस्तावेज़ीकरण
int(* ऑटो_फोकस)(स्ट्रक्चर कैमरा_डिवाइस *) |
int(* cancel_auto_focus)(struct कैमरा_डिवाइस *) |
int(* cancel_picture)(struct कैमरा_डिवाइस *) |
शून्य(* disable_msg_type)(struct कैमरा_डिवाइस *, int32_t msg_type) |
किसी संदेश या संदेशों के समूह को अक्षम करें.
एक बार disableMsgType(CAMERA_MSG_VIDEO_FRAME) के लिए कॉल प्राप्त होने पर, कैमरा HAL को DisableMsgType(CAMERA_MSG_VIDEO_FRAME) कॉल से पहले और बाद में कैमराल HAL द्वारा भेजे गए वीडियो रिकॉर्डिंग फ्रेम जारी करने के लिए रिलीजरिकॉर्डिंगफ्रेम() को कॉल करने के लिए अपने क्लाइंट पर निर्भर नहीं रहना चाहिए। कैमरा एचएएल क्लाइंट को disableMsgType(CAMERA_MSG_VIDEO_FRAME) पर कॉल करने के बाद किसी भी वीडियो रिकॉर्डिंग फ्रेम को संशोधित/एक्सेस नहीं करना चाहिए।
int(* डंप)(struct कैमरा_डिवाइस *, int fd) |
शून्य(* Enable_msg_type)(struct कैमरा_डिवाइस *, int32_t msg_type) |
चार*(* get_parameters)(struct कैमरा_डिवाइस *) |
int(* msg_type_enabled)(struct कैमरा_डिवाइस *, int32_t msg_type) |
int(* पूर्वावलोकन_सक्षम)(struct कैमरा_डिवाइस *) |
शून्य (* पुट_पैरामीटर) (स्ट्रक्चर कैमरा_डिवाइस *, चार *) |
जब हम get_parameters को कॉल करते हैं तो कैमरा HAL हमें पैरामीटर पास करने के लिए अपनी मेमोरी का उपयोग करता है। यदि put_parameters NULL नहीं है, तो मेमोरी को कैमरा HAL पर वापस लौटाने के लिए इस फ़ंक्शन का उपयोग करें। यदि put_parameters NULL है, तो आपको मेमोरी जारी करने के लिए free() का उपयोग करना होगा।
int(* रिकॉर्डिंग_सक्षम)(स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य (* रिलीज़) (स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य(* रिलीज़_रिकॉर्डिंग_फ़्रेम)(स्ट्रक्चर कैमरा_डिवाइस *, स्थिरांक शून्य *अपारदर्शी) |
CAMERA_MSG_VIDEO_FRAME द्वारा पहले लौटाया गया रिकॉर्ड फ़्रेम जारी करें।
कैमरा HAL क्लाइंट की ज़िम्मेदारी है कि वह कैमरा HAL द्वारा भेजे गए वीडियो रिकॉर्डिंग फ़्रेम को तब रिलीज़ करे जब कैमरा HAL को संदेश टाइप को अक्षम करने के लिए कॉल प्राप्त हो (CAMERA_MSG_VIDEO_FRAME)। DisableMsgType(CAMERA_MSG_VIDEO_FRAME) के लिए कॉल प्राप्त होने के बाद, वीडियो रिकॉर्डिंग फ्रेम के जीवन-चक्र को प्रबंधित करना कैमरा HAL की जिम्मेदारी है।
int(* भेजें_कमांड)(struct कैमरा_डिवाइस *, int32_t cmd, int32_t arg1, int32_t arg2) |
शून्य(* सेट_कॉलबैक)(स्ट्रक्चर कैमरा_डिवाइस *, कैमरा_नोटिफ़ाइ_कॉलबैक नोटिफाई_सीबी, कैमरा_डेटा_कॉलबैक डेटा_सीबी, कैमरा_डेटा_टाइमस्टैम्प_कॉलबैक डेटा_सीबी_टाइमस्टैंप, कैमरा_रिक्वेस्ट_मेमोरी गेट_मेमोरी, शून्य *उपयोगकर्ता) |
int(* set_parameters)(struct कैमरा_डिवाइस *, स्थिरांक चार *parms) |
int(* set_preview_window)(struct कैमरा_डिवाइस *, struct पूर्वावलोकन_stream_ops *विंडो) |
int(* प्रारंभ_पूर्वावलोकन)(struct कैमरा_डिवाइस *) |
int(* प्रारंभ_रिकॉर्डिंग)(struct कैमरा_डिवाइस *) |
रिकॉर्ड मोड प्रारंभ करें. जब एक रिकॉर्ड छवि उपलब्ध होती है, तो एक CAMERA_MSG_VIDEO_FRAME संदेश संबंधित फ़्रेम के साथ भेजा जाता है। क्लाइंट द्वारा disableMsgType(CAMERA_MSG_VIDEO_FRAME) को कॉल करने से पहले प्रत्येक रिकॉर्ड फ़्रेम को कैमरा HAL क्लाइंट द्वारा रिलीज़रिकॉर्डिंगफ़्रेम() के माध्यम से रिलीज़ किया जाना चाहिए। क्लाइंट द्वारा disableMsgType(CAMERA_MSG_VIDEO_FRAME) को कॉल करने के बाद, वीडियो रिकॉर्डिंग फ्रेम के जीवन-चक्र को प्रबंधित करना कैमरा HAL की जिम्मेदारी है, और क्लाइंट को किसी भी वीडियो रिकॉर्डिंग फ्रेम को संशोधित/एक्सेस नहीं करना चाहिए।
शून्य(* स्टॉप_प्रीव्यू)(स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य(* स्टॉप_रिकॉर्डिंग)(स्ट्रक्चर कैमरा_डिवाइस *) |
int(* store_meta_data_in_buffers)(struct कैमरा_डिवाइस *, int सक्षम) |
रिकॉर्डिंग सत्र के लिए CAMERA_MSG_VIDEO_FRAME के माध्यम से भेजे गए वीडियो बफ़र्स में मेटा डेटा या वास्तविक YUV डेटा संग्रहीत करने के लिए कैमरा HAL से अनुरोध करें। यदि इसे नहीं कहा जाता है, तो डिफ़ॉल्ट कैमरा एचएएल व्यवहार वास्तविक YUV डेटा को वीडियो बफ़र्स में संग्रहीत करना है।
प्रभावी होने के लिए इस विधि को स्टार्टरिकॉर्डिंग() से पहले बुलाया जाना चाहिए।
यदि मेटा डेटा को वीडियो बफ़र्स में संग्रहीत किया जाता है, तो सामग्री की व्याख्या करना और बफ़र में मेटा डेटा की मदद से वास्तविक फ़्रेम डेटा ढूंढना वीडियो बफ़र्स के रिसीवर पर निर्भर है। यह कैसे किया जाता है यह इस पद्धति के दायरे से बाहर है।
कुछ कैमरा एचएएल वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का समर्थन नहीं कर सकते हैं, लेकिन सभी कैमरा एचएएल को वीडियो बफ़र्स में वास्तविक YUV डेटा संग्रहीत करने का समर्थन करना चाहिए। यदि अनुरोध किए जाने पर कैमरा HAL वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का समर्थन नहीं करता है, तो INVALID_OPERATION वापस किया जाना चाहिए। कैमरा एचएएल के लिए वास्तविक फ्रेम डेटा के बजाय मेटा डेटा को सीधे वीडियो एनकोडर तक पहुंचाना बहुत उपयोगी है, क्योंकि यदि वीडियो का आकार बड़ा है तो असम्पीडित फ्रेम डेटा की मात्रा बहुत बड़ी हो सकती है।
- पैरामीटर
सक्षम यदि सत्य है तो कैमरा एचएएल को वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का निर्देश देना; वीडियो बफ़र्स में वास्तविक YUV डेटा संग्रहीत करने के लिए कैमरा HAL को निर्देश देना गलत है।
- रिटर्न
- सफलता पर ठीक है.
int(* टेक_पिक्चर)(स्ट्रक्चर कैमरा_डिवाइस *) |
इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
- हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ कैमरा.एच