कैमरा_डिवाइस_ऑप्स संरचना संदर्भ
#include < camera.h >
डेटा फ़ील्ड | |
इंट (* | set_preview_window )(स्ट्रक्चर कैमरा_डिवाइस *, स्ट्रक्चर प्रीव्यू_स्ट्रीम_ऑप्स *विंडो) |
शून्य(* | set_callbacks )(struct camera_device *, camera_notify_callback notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user) |
शून्य(* | enable_msg_type )(स्ट्रक्चर कैमरा_डिवाइस *, int32_t msg_type) |
शून्य(* | disable_msg_type )(स्ट्रक्चर कैमरा_डिवाइस *, int32_t msg_type) |
इंट (* | msg_type_enabled )(struct camera_device *, int32_t msg_type) |
इंट (* | start_preview )(स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य(* | stop_preview )(स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | पूर्वावलोकन_सक्षम) (संरचना कैमरा_डिवाइस * ) |
इंट (* | store_meta_data_in_buffers )(स्ट्रक्चर कैमरा_डिवाइस *, इंट इनेबल) |
इंट (* | start_recording )(स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य(* | स्टॉप_रिकॉर्डिंग ) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | रिकॉर्डिंग_इनेबल्ड )(स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य(* | रिलीज_रेकॉर्डिंग_फ्रेम ) (स्ट्रक्चर कैमरा_डिवाइस *, कॉन्स्ट शून्य * अपारदर्शी) |
इंट (* | ऑटो_फोकस )(स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | कैंसिल_ऑटो_फोकस ) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | take_Picture )(स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | कैंसिल_पिक्चर ) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | set_parameters )(struct camera_device *, const char *parms) |
चार *(* | get_parameters )(स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य(* | put_parameters )(स्ट्रक्चर कैमरा_डिवाइस *, चार *) |
इंट (* | send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
शून्य(* | रिलीज )(स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* | डंप ) (स्ट्रक्चर कैमरा_डिवाइस *, इंट एफडी) |
विस्तृत विवरण
फील्ड दस्तावेज़ीकरण
इंट (* ऑटो_फोकस) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* कैंसिल_ऑटो_फोकस) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* कैंसिल_पिक्चर) (स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य (* अक्षम_msg_type) (संरचना कैमरा_डिवाइस *, int32_t msg_type) |
एक संदेश, या संदेशों के एक सेट को अक्षम करें।
एक बार डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) के लिए कॉल प्राप्त होने के बाद, कैमरा HAL को डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) कॉल से पहले और बाद में कैमराल HAL द्वारा भेजे गए वीडियो रिकॉर्डिंग फ़्रेम को रिलीज़ करने के लिए रिलीज़ रिकॉर्डिंगफ़्रेम () को कॉल करने के लिए अपने क्लाइंट पर निर्भर नहीं रहना चाहिए। अक्षम संदेश टाइप (CAMERA_MSG_VIDEO_FRAME) को कॉल करने के बाद कैमरा एचएएल क्लाइंट को किसी भी वीडियो रिकॉर्डिंग फ्रेम को संशोधित / एक्सेस नहीं करना चाहिए।
इंट (* डंप) (स्ट्रक्चर कैमरा_डिवाइस *, इंट एफडी) |
शून्य (* enable_msg_type) (स्ट्रक्चर कैमरा_डिवाइस *, int32_t msg_type) |
चार*(* get_parameters)(स्ट्रक्चर कैमरा_डिवाइस *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
इंट (* प्रीव्यू_इनेबल्ड) (स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य (* put_parameters) (संरचना कैमरा_डिवाइस *, चार *) |
जब हम get_parameters को कॉल करते हैं, तो कैमरा HAL हमें पैरामीटर पास करने के लिए अपनी मेमोरी का उपयोग करता है। यदि put_parameters NULL नहीं है, तो मेमोरी को वापस कैमरा HAL में वापस करने के लिए इस फ़ंक्शन का उपयोग करें। यदि put_parameters NULL है, तो आपको मेमोरी जारी करने के लिए फ्री () का उपयोग करना होगा।
इंट (* रिकॉर्डिंग_इनेबल्ड) (स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य (* रिलीज) (संरचना कैमरा_डिवाइस *) |
शून्य (* रिलीज_रिकॉर्डिंग_फ्रेम) (स्ट्रक्चर कैमरा_डिवाइस *, कॉन्स्ट शून्य * अपारदर्शी) |
CAMERA_MSG_VIDEO_FRAME द्वारा पहले लौटाए गए रिकॉर्ड फ़्रेम को रिलीज़ करें।
कैमरा एचएएल द्वारा डिसएबल मैसेज टाइप (CAMERA_MSG_VIDEO_FRAME) को कॉल प्राप्त करने से पहले कैमरा एचएएल द्वारा भेजे गए वीडियो रिकॉर्डिंग फ्रेम को रिलीज करना कैमरा एचएएल क्लाइंट की जिम्मेदारी है। डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) के लिए कॉल प्राप्त करने के बाद, वीडियो रिकॉर्डिंग फ्रेम के जीवन-चक्र को प्रबंधित करने के लिए कैमरा एचएएल की जिम्मेदारी है।
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
शून्य (* set_callbacks) (संरचना कैमरा_डिवाइस *, कैमरा_नोटिफ़_कॉलबैक सूचित_सीबी, कैमरा_डेटा_कॉलबैक डेटा_सीबी, कैमरा_डेटा_टाइमस्टैम्प_कॉलबैक डेटा_सीबी_टाइमस्टैम्प, कैमरा_रेक्वेस्ट_मेमोरी get_memory, शून्य * उपयोगकर्ता) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int (* set_preview_window ) (स्ट्रक्चर कैमरा_डिवाइस *, स्ट्रक्चर प्रीव्यू_स्ट्रीम_ऑप्स * विंडो) |
इंट (* start_preview) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* start_recording) (स्ट्रक्चर कैमरा_डिवाइस *) |
रिकॉर्ड मोड प्रारंभ करें। जब कोई रिकॉर्ड छवि उपलब्ध होती है, तो संबंधित फ़्रेम के साथ एक CAMERA_MSG_VIDEO_FRAME संदेश भेजा जाता है। प्रत्येक रिकॉर्ड फ़्रेम को एक कैमरा एचएएल क्लाइंट द्वारा रिलीज़ रिकॉर्डिंगफ़्रेम () के माध्यम से रिलीज़ किया जाना चाहिए, इससे पहले कि क्लाइंट डिसेबल मैसेज टाइप (CAMERA_MSG_VIDEO_FRAME) को कॉल करे। क्लाइंट डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) को कॉल करने के बाद, वीडियो रिकॉर्डिंग फ्रेम के जीवन-चक्र को प्रबंधित करने के लिए कैमरा एचएएल की जिम्मेदारी है, और क्लाइंट को किसी भी वीडियो रिकॉर्डिंग फ्रेम को संशोधित / एक्सेस नहीं करना चाहिए।
शून्य (* स्टॉप_प्रीव्यू) (स्ट्रक्चर कैमरा_डिवाइस *) |
शून्य (* स्टॉप_रिकॉर्डिंग) (स्ट्रक्चर कैमरा_डिवाइस *) |
इंट (* store_meta_data_in_buffers) (स्ट्रक्चर कैमरा_डिवाइस *, इंट इनेबल) |
रिकॉर्डिंग सत्र के लिए CAMERA_MSG_VIDEO_FRAME के माध्यम से भेजे गए वीडियो बफ़र्स में मेटा डेटा या वास्तविक YUV डेटा संग्रहीत करने के लिए कैमरा HAL से अनुरोध करें। यदि इसे नहीं कहा जाता है, तो डिफ़ॉल्ट कैमरा HAL व्यवहार वीडियो बफ़र्स में वास्तविक YUV डेटा संग्रहीत करना है।
प्रभावी होने के लिए इस विधि को startRecording() से पहले बुलाया जाना चाहिए।
यदि मेटा डेटा को वीडियो बफ़र्स में संग्रहीत किया जाता है, तो यह वीडियो बफ़र्स के रिसीवर पर निर्भर करता है कि वह सामग्री की व्याख्या करे और बफ़र में मेटा डेटा की सहायता से वास्तविक फ़्रेम डेटा का पता लगाए। यह कैसे किया जाता है यह इस पद्धति के दायरे से बाहर है।
कुछ कैमरा एचएएल वीडियो बफर में मेटा डेटा संग्रहीत करने का समर्थन नहीं कर सकते हैं, लेकिन सभी कैमरा एचएएल को वीडियो बफर में वास्तविक वाईयूवी डेटा संग्रहीत करने का समर्थन करना चाहिए। यदि कैमरा एचएएल वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का समर्थन नहीं करता है, जब इसे करने का अनुरोध किया जाता है, तो INVALID_OPERATION वापस किया जाना चाहिए। कैमरा एचएएल के लिए वास्तविक फ्रेम डेटा के बजाय सीधे वीडियो एन्कोडर को मेटा डेटा पास करना बहुत उपयोगी है, क्योंकि वीडियो का आकार बड़ा होने पर असम्पीडित फ्रेम डेटा की मात्रा बहुत बड़ी हो सकती है।
- मापदंडों
सक्षम करना यदि कैमरा एचएएल को वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का निर्देश देना सही है; वीडियो बफ़र्स में वास्तविक YUV डेटा संग्रहीत करने के लिए कैमरा HAL को निर्देश देने के लिए झूठा।
- रिटर्न
- सफलता पर ठीक है।
इंट (* टेक_पिक्चर) (स्ट्रक्चर कैमरा_डिवाइस *) |
इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था:
- हार्डवेयर/ लिबहार्डवेयर /शामिल/हार्डवेयर/कैमरा