संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

कैमरा_डिवाइस_ऑप्स संरचना संदर्भ

कैमरा_डिवाइस_ऑप्स संरचना संदर्भ

#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)
शून्य(* रिलीज )(स्ट्रक्चर कैमरा_डिवाइस *)
इंट (* डंप ) (स्ट्रक्चर कैमरा_डिवाइस *, इंट एफडी)

विस्तृत विवरण

फ़ाइल कैमरा.एच की लाइन 99 पर परिभाषा।

फील्ड दस्तावेज़ीकरण

इंट (* ऑटो_फोकस) (स्ट्रक्चर कैमरा_डिवाइस *)

ऑटो फोकस प्रारंभ करें, फोकस पूर्ण होने पर अधिसूचना कॉलबैक रूटीन को CAMERA_MSG_FOCUS के साथ कॉल किया जाता है। ऑटोफोकस() को फिर से कॉल किया जाएगा यदि किसी अन्य ऑटो फोकस की आवश्यकता है।

फ़ाइल कैमरा.एच की लाइन 227 पर परिभाषा।

इंट (* कैंसिल_ऑटो_फोकस) (स्ट्रक्चर कैमरा_डिवाइस *)

स्वतः-फ़ोकस फ़ंक्शन रद्द करता है। यदि ऑटो-फ़ोकस अभी भी प्रगति पर है, तो यह फ़ंक्शन उसे रद्द कर देगा। ऑटो-फ़ोकस प्रगति पर है या नहीं, यह फ़ंक्शन फ़ोकस स्थिति को डिफ़ॉल्ट पर लौटा देगा। अगर कैमरा ऑटो-फोकस को सपोर्ट नहीं करता है, तो यह नो-ऑप है।

फ़ाइल कैमरा.एच की लाइन 235 पर परिभाषा।

इंट (* कैंसिल_पिक्चर) (स्ट्रक्चर कैमरा_डिवाइस *)

उस तस्वीर को रद्द करें जिसे टेकपिक्चर के साथ शुरू किया गया था। जब कोई तस्वीर नहीं ली जा रही हो तो इस विधि को कॉल करना नो-ऑप है।

फ़ाइल कैमरा.एच की लाइन 246 पर परिभाषा।

शून्य (* अक्षम_msg_type) (संरचना कैमरा_डिवाइस *, int32_t msg_type)

एक संदेश, या संदेशों के एक सेट को अक्षम करें।

एक बार डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) के लिए कॉल प्राप्त होने के बाद, कैमरा HAL को डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) कॉल से पहले और बाद में कैमराल HAL द्वारा भेजे गए वीडियो रिकॉर्डिंग फ़्रेम को रिलीज़ करने के लिए रिलीज़ रिकॉर्डिंगफ़्रेम () को कॉल करने के लिए अपने क्लाइंट पर निर्भर नहीं रहना चाहिए। अक्षम संदेश टाइप (CAMERA_MSG_VIDEO_FRAME) को कॉल करने के बाद कैमरा एचएएल क्लाइंट को किसी भी वीडियो रिकॉर्डिंग फ्रेम को संशोधित / एक्सेस नहीं करना चाहिए।

फ़ाइल कैमरा.एच की लाइन 132 पर परिभाषा।

इंट (* डंप) (स्ट्रक्चर कैमरा_डिवाइस *, इंट एफडी)

कैमरा हार्डवेयर की डंप स्थिति

फ़ाइल कैमरा.एच की लाइन 282 पर परिभाषा।

शून्य (* enable_msg_type) (स्ट्रक्चर कैमरा_डिवाइस *, int32_t msg_type)

निम्नलिखित तीन कार्य सभी एक msg_type लेते हैं, जो शामिल/ui/Camera.h में परिभाषित संदेशों का एक बिटमास्क है। संदेश सक्षम करें, या संदेशों का सेट।

फ़ाइल कैमरा.एच की पंक्ति 120 पर परिभाषा।

चार*(* get_parameters)(स्ट्रक्चर कैमरा_डिवाइस *)

कैमरा पैरामीटर पुनर्प्राप्त करें। कैमरा एचएएल द्वारा लौटाए गए बफर को put_parameters के साथ वापस लौटाया जाना चाहिए, अगर put_parameters NULL नहीं है।

फ़ाइल कैमरा.एच की लाइन 258 पर परिभाषा।

int(* msg_type_enabled)(struct camera_device *, int32_t msg_type)

पूछें कि क्या संदेश या संदेशों का एक सेट सक्षम है। ध्यान दें कि यह एक AND के रूप में संचालित होता है, यदि पूछे गए संदेशों में से कोई भी बंद है, तो यह झूठी वापसी करेगा।

फ़ाइल कैमरा.एच की पंक्ति 139 पर परिभाषा।

इंट (* प्रीव्यू_इनेबल्ड) (स्ट्रक्चर कैमरा_डिवाइस *)

पूर्वावलोकन सक्षम होने पर सत्य लौटाता है।

फ़ाइल कैमरा.एच की लाइन 154 पर परिभाषा।

शून्य (* put_parameters) (संरचना कैमरा_डिवाइस *, चार *)

जब हम get_parameters को कॉल करते हैं, तो कैमरा HAL हमें पैरामीटर पास करने के लिए अपनी मेमोरी का उपयोग करता है। यदि put_parameters NULL नहीं है, तो मेमोरी को वापस कैमरा HAL में वापस करने के लिए इस फ़ंक्शन का उपयोग करें। यदि put_parameters NULL है, तो आपको मेमोरी जारी करने के लिए फ्री () का उपयोग करना होगा।

फ़ाइल कैमरा.एच की लाइन 265 पर परिभाषा।

इंट (* रिकॉर्डिंग_इनेबल्ड) (स्ट्रक्चर कैमरा_डिवाइस *)

यदि रिकॉर्डिंग सक्षम है तो सत्य लौटाता है।

फ़ाइल कैमरा.एच की पंक्ति 208 पर परिभाषा।

शून्य (* रिलीज) (संरचना कैमरा_डिवाइस *)

इस ऑब्जेक्ट के स्वामित्व वाले हार्डवेयर संसाधनों को रिलीज़ करें। ध्यान दें कि यह विनाशक में नहीं किया जाता है।

फ़ाइल कैमरा.एच की लाइन 277 पर परिभाषा।

शून्य (* रिलीज_रिकॉर्डिंग_फ्रेम) (स्ट्रक्चर कैमरा_डिवाइस *, कॉन्स्ट शून्य * अपारदर्शी)

CAMERA_MSG_VIDEO_FRAME द्वारा पहले लौटाए गए रिकॉर्ड फ़्रेम को रिलीज़ करें।

कैमरा एचएएल द्वारा डिसएबल मैसेज टाइप (CAMERA_MSG_VIDEO_FRAME) को कॉल प्राप्त करने से पहले कैमरा एचएएल द्वारा भेजे गए वीडियो रिकॉर्डिंग फ्रेम को रिलीज करना कैमरा एचएएल क्लाइंट की जिम्मेदारी है। डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) के लिए कॉल प्राप्त करने के बाद, वीडियो रिकॉर्डिंग फ्रेम के जीवन-चक्र को प्रबंधित करने के लिए कैमरा एचएएल की जिम्मेदारी है।

फ़ाइल कैमरा.एच की लाइन 219 पर परिभाषा।

int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

कैमरा ड्राइवर को कमांड भेजें।

फ़ाइल कैमरा.एच की लाइन 270 पर परिभाषा।

शून्य (* set_callbacks) (संरचना कैमरा_डिवाइस *, कैमरा_नोटिफ़_कॉलबैक सूचित_सीबी, कैमरा_डेटा_कॉलबैक डेटा_सीबी, कैमरा_डेटा_टाइमस्टैम्प_कॉलबैक डेटा_सीबी_टाइमस्टैम्प, कैमरा_रेक्वेस्ट_मेमोरी get_memory, शून्य * उपयोगकर्ता)

अधिसूचना और डेटा कॉलबैक सेट करें

फ़ाइल कैमरा.एच की लाइन 105 पर परिभाषा।

int(* set_parameters)(struct camera_device *, const char *parms)

कैमरा पैरामीटर सेट करें। यदि कोई पैरामीटर अमान्य है या समर्थित नहीं है तो यह BAD_VALUE लौटाता है।

फ़ाइल कैमरा.एच की लाइन 252 पर परिभाषा।

int (* set_preview_window ) (स्ट्रक्चर कैमरा_डिवाइस *, स्ट्रक्चर प्रीव्यू_स्ट्रीम_ऑप्स * विंडो)

AnativeWindow सेट करें जिसमें पूर्वावलोकन फ़्रेम भेजे जाते हैं

फ़ाइल कैमरा.एच की लाइन 101 पर परिभाषा।

इंट (* start_preview) (स्ट्रक्चर कैमरा_डिवाइस *)

पूर्वावलोकन मोड प्रारंभ करें।

फ़ाइल कैमरा.एच की पंक्ति 144 पर परिभाषा।

इंट (* start_recording) (स्ट्रक्चर कैमरा_डिवाइस *)

रिकॉर्ड मोड प्रारंभ करें। जब कोई रिकॉर्ड छवि उपलब्ध होती है, तो संबंधित फ़्रेम के साथ एक CAMERA_MSG_VIDEO_FRAME संदेश भेजा जाता है। प्रत्येक रिकॉर्ड फ़्रेम को एक कैमरा एचएएल क्लाइंट द्वारा रिलीज़ रिकॉर्डिंगफ़्रेम () के माध्यम से रिलीज़ किया जाना चाहिए, इससे पहले कि क्लाइंट डिसेबल मैसेज टाइप (CAMERA_MSG_VIDEO_FRAME) को कॉल करे। क्लाइंट डिसेबल MsgType (CAMERA_MSG_VIDEO_FRAME) को कॉल करने के बाद, वीडियो रिकॉर्डिंग फ्रेम के जीवन-चक्र को प्रबंधित करने के लिए कैमरा एचएएल की जिम्मेदारी है, और क्लाइंट को किसी भी वीडियो रिकॉर्डिंग फ्रेम को संशोधित / एक्सेस नहीं करना चाहिए।

फ़ाइल कैमरा.एच की पंक्ति 198 पर परिभाषा।

शून्य (* स्टॉप_प्रीव्यू) (स्ट्रक्चर कैमरा_डिवाइस *)

पहले शुरू किए गए पूर्वावलोकन को रोकें।

फ़ाइल कैमरा.एच की लाइन 149 पर परिभाषा।

शून्य (* स्टॉप_रिकॉर्डिंग) (स्ट्रक्चर कैमरा_डिवाइस *)

पहले से शुरू की गई रिकॉर्डिंग को रोकें।

फ़ाइल कैमरा.एच की लाइन 203 पर परिभाषा।

इंट (* store_meta_data_in_buffers) (स्ट्रक्चर कैमरा_डिवाइस *, इंट इनेबल)

रिकॉर्डिंग सत्र के लिए CAMERA_MSG_VIDEO_FRAME के ​​माध्यम से भेजे गए वीडियो बफ़र्स में मेटा डेटा या वास्तविक YUV डेटा संग्रहीत करने के लिए कैमरा HAL से अनुरोध करें। यदि इसे नहीं कहा जाता है, तो डिफ़ॉल्ट कैमरा HAL व्यवहार वीडियो बफ़र्स में वास्तविक YUV डेटा संग्रहीत करना है।

प्रभावी होने के लिए इस विधि को startRecording() से पहले बुलाया जाना चाहिए।

यदि मेटा डेटा को वीडियो बफ़र्स में संग्रहीत किया जाता है, तो यह वीडियो बफ़र्स के रिसीवर पर निर्भर करता है कि वह सामग्री की व्याख्या करे और बफ़र में मेटा डेटा की सहायता से वास्तविक फ़्रेम डेटा का पता लगाए। यह कैसे किया जाता है यह इस पद्धति के दायरे से बाहर है।

कुछ कैमरा एचएएल वीडियो बफर में मेटा डेटा संग्रहीत करने का समर्थन नहीं कर सकते हैं, लेकिन सभी कैमरा एचएएल को वीडियो बफर में वास्तविक वाईयूवी डेटा संग्रहीत करने का समर्थन करना चाहिए। यदि कैमरा एचएएल वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का समर्थन नहीं करता है, जब इसे करने का अनुरोध किया जाता है, तो INVALID_OPERATION वापस किया जाना चाहिए। कैमरा एचएएल के लिए वास्तविक फ्रेम डेटा के बजाय सीधे वीडियो एन्कोडर को मेटा डेटा पास करना बहुत उपयोगी है, क्योंकि वीडियो का आकार बड़ा होने पर असम्पीडित फ्रेम डेटा की मात्रा बहुत बड़ी हो सकती है।

मापदंडों
सक्षम करना यदि कैमरा एचएएल को वीडियो बफ़र्स में मेटा डेटा संग्रहीत करने का निर्देश देना सही है; वीडियो बफ़र्स में वास्तविक YUV डेटा संग्रहीत करने के लिए कैमरा HAL को निर्देश देने के लिए झूठा।
रिटर्न
सफलता पर ठीक है।

फ़ाइल कैमरा.एच की लाइन 186 पर परिभाषा।

इंट (* टेक_पिक्चर) (स्ट्रक्चर कैमरा_डिवाइस *)

एक तस्वीर ले लो।

फ़ाइल कैमरा.एच की लाइन 240 पर परिभाषा।


इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था: