camera_device_ops স্ট্রাকট রেফারেন্স

camera_device_ops স্ট্রাকট রেফারেন্স

#include < camera.h >

ডেটা ক্ষেত্র

int(* set_preview_window )(struct camera_device *, struct preview_stream_ops *উইন্ডো)
অকার্যকর(* 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 )(struct camera_device *, int32_t msg_type)
অকার্যকর(* disable_msg_type )(struct camera_device *, int32_t msg_type)
int(* msg_type_enabled )(struct camera_device *, int32_t msg_type)
int(* start_preview )(struct camera_device *)
অকার্যকর(* stop_preview )(struct camera_device *)
int(* পূর্বরূপ_সক্ষম )( কামরা_ডিভাইস *)
int(* store_meta_data_in_buffers )(struct camera_device *, int enable)
int(* start_recording )(struct camera_device *)
অকার্যকর(* স্টপ_রেকর্ডিং )( কামরা_ডিভাইস *)
int(* রেকর্ডিং_সক্ষম )( কামরা_ডিভাইস *)
অকার্যকর(* রিলিজ_রেকর্ডিং_ফ্রেম )(স্ট্রাকট ক্যামেরা_ডিভাইস *, কনস্ট void *অস্বচ্ছ)
int(* অটো_ফোকাস )( কামরা_ডিভাইস *)
int(* cancel_auto_focus )(struct camera_device *)
int(* টেক_পিকচার )( কামরা_ডিভাইস *)
int(* cancel_picture )(struct camera_device *)
int(* set_parameters )(struct camera_device *, const char *parms)
চর *(* get_parameters )(struct camera_device *)
অকার্যকর(* put_parameters )(struct camera_device *, char *)
int(* send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
অকার্যকর(* মুক্তি )( কামরা_ডিভাইস *)
int(* ডাম্প )(struct camera_device *, int fd)

বিস্তারিত বিবরণ

ফাইল camera.h এর লাইন 99 এ সংজ্ঞা।

ফিল্ড ডকুমেন্টেশন

int(* auto_focus)(struct camera_device *)

স্বয়ংক্রিয় ফোকাস শুরু করুন, ফোকাস সম্পূর্ণ হলে একবার CAMERA_MSG_FOCUS এর সাথে বিজ্ঞপ্তি কলব্যাক রুটিন কল করা হয়৷ autoFocus() আবার কল করা হবে যদি অন্য অটো ফোকাসের প্রয়োজন হয়।

ফাইল camera.h এর লাইন 227 এ সংজ্ঞা।

int(* cancel_auto_focus)(struct camera_device *)

অটো-ফোকাস ফাংশন বাতিল করে। যদি অটো-ফোকাস এখনও প্রগতিতে থাকে, তাহলে এই ফাংশনটি এটি বাতিল করবে। স্বয়ংক্রিয়-ফোকাস চলছে বা না হোক, এই ফাংশনটি ফোকাস অবস্থানকে ডিফল্টে ফিরিয়ে দেবে। যদি ক্যামেরা স্বয়ংক্রিয়-ফোকাস সমর্থন না করে তবে এটি একটি নো-অপ।

ফাইল ক্যামেরার 235 লাইনে সংজ্ঞা।

int(* cancel_picture)(struct camera_device *)

টেকপিকচার দিয়ে শুরু করা একটি ছবি বাতিল করুন। যখন কোন ছবি তোলা হচ্ছে না তখন এই পদ্ধতিতে কল করা একটি নো-অপ।

ফাইল ক্যামেরার 246 লাইনে সংজ্ঞা।

void(* disable_msg_type)(struct camera_device *, int32_t msg_type)

একটি বার্তা, বা বার্তাগুলির একটি সেট অক্ষম করুন৷

একবার নিষ্ক্রিয়MsgType(CAMERA_MSG_VIDEO_FRAME) কল করার জন্য, ক্যামেরা HAL কে তার ক্লায়েন্টের উপর নির্ভর করা উচিত নয় রিলিজ রেকর্ডিংফ্রেম() কে নিষ্ক্রিয়MsgType(CAMERA_MSG_VIDEO_FRAME) কলের আগে এবং পরে ক্যামেরাল HAL দ্বারা পাঠানো ভিডিও রেকর্ডিং ফ্রেমগুলি প্রকাশ করতে। ক্যামেরা HAL ক্লায়েন্টদের অবশ্যই disableMsgType(CAMERA_MSG_VIDEO_FRAME) কল করার পরে কোনও ভিডিও রেকর্ডিং ফ্রেম পরিবর্তন/অ্যাক্সেস করা উচিত নয়৷

ফাইল camera.h এর 132 লাইনে সংজ্ঞা।

int(* ডাম্প)(struct camera_device *, int fd)

ক্যামেরা হার্ডওয়্যারের ডাম্প অবস্থা

ফাইল ক্যামেরার 282 লাইনে সংজ্ঞা।

void(* enable_msg_type)(struct camera_device *, int32_t msg_type)

নিম্নলিখিত তিনটি ফাংশন একটি msg_type নেয়, যা অন্তর্ভুক্ত/ui/Camera.h এ সংজ্ঞায়িত বার্তাগুলির একটি বিটমাস্ক একটি বার্তা বা বার্তাগুলির সেট সক্ষম করুন৷

ফাইল ক্যামেরার 120 লাইনে সংজ্ঞা।

char*(* get_parameters)(struct camera_device *)

ক্যামেরা পরামিতি পুনরুদ্ধার করুন. ক্যামেরা HAL দ্বারা প্রত্যাবর্তিত বাফার অবশ্যই পুট_প্যারামিটার সহ এটিতে ফেরত দিতে হবে, যদি put_parameters NULL না হয়।

ফাইল ক্যামেরার 258 লাইনে সংজ্ঞা।

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

একটি বার্তা, বা বার্তাগুলির একটি সেট, সক্ষম করা আছে কিনা তা অনুসন্ধান করুন৷ মনে রাখবেন যে এটি একটি AND হিসাবে কাজ করে, যদি জিজ্ঞাসা করা বার্তাগুলির মধ্যে কোনটি বন্ধ থাকে তবে এটি মিথ্যা হয়ে যাবে৷

ফাইল camera.h এর 139 লাইনে সংজ্ঞা।

int(* preview_enabled)(struct camera_device *)

প্রিভিউ সক্ষম হলে সত্য ফেরত দেয়।

ফাইল camera.h এর লাইন 154 এ সংজ্ঞা।

void(* put_parameters)(struct camera_device *, char *)

যখন আমরা get_parameters কল করি তখন ক্যামেরা HAL আমাদের প্যারামিটার পাস করতে তার নিজস্ব মেমরি ব্যবহার করে। পুট_প্যারামিটার NULL না হলে ক্যামেরা HAL-এ মেমরি ফিরিয়ে দিতে এই ফাংশনটি ব্যবহার করুন। যদি put_parameters NULL হয়, তাহলে আপনাকে মেমরি রিলিজ করতে free() ব্যবহার করতে হবে।

ফাইল ক্যামেরার 265 লাইনে সংজ্ঞা।

int(* recording_enabled)(struct camera_device *)

রেকর্ডিং সক্ষম হলে সত্য ফেরত দেয়।

ফাইল ক্যামেরার 208 লাইনে সংজ্ঞা।

অকার্যকর (* প্রকাশ) (কাঠামো ক্যামেরা_ডিভাইস *)

এই বস্তুর মালিকানাধীন হার্ডওয়্যার সংস্থানগুলি ছেড়ে দিন। মনে রাখবেন যে এটি ধ্বংসকারীতে করা হয় না

ফাইল ক্যামেরার 277 লাইনে সংজ্ঞা।

void(* release_recording_frame)(struct camera_device *, const void *অস্বচ্ছ)

CAMERA_MSG_VIDEO_FRAME দ্বারা পূর্বে ফিরে আসা একটি রেকর্ড ফ্রেম প্রকাশ করুন৷

ক্যামেরা HAL ক্লায়েন্টের দায়িত্ব হল ক্যামেরা HAL দ্বারা পাঠানো ভিডিও রেকর্ডিং ফ্রেমগুলি রিলিজ করার আগে ক্যামেরা HAL-এর দ্বারা নিষ্ক্রিয়MsgType(CAMERA_MSG_VIDEO_FRAME) করার জন্য একটি কল আসে৷ এটি নিষ্ক্রিয়MsgType(CAMERA_MSG_VIDEO_FRAME) করার জন্য কল পাওয়ার পরে, ভিডিও রেকর্ডিং ফ্রেমের জীবনচক্র পরিচালনা করা ক্যামেরা HAL-এর দায়িত্ব৷

ফাইল ক্যামেরার 219 লাইনে সংজ্ঞা।

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

ক্যামেরা ড্রাইভারকে কমান্ড পাঠান।

ফাইল camera.h এর লাইন 270 এ সংজ্ঞা।

void(* 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)

বিজ্ঞপ্তি এবং ডেটা কলব্যাক সেট করুন

ফাইল camera.h এর লাইন 105 এ সংজ্ঞা।

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

ক্যামেরা প্যারামিটার সেট করুন। কোনো প্যারামিটার অবৈধ বা সমর্থিত না হলে এটি BAD_VALUE প্রদান করে।

ফাইল ক্যামেরার 252 লাইনে সংজ্ঞা।

int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window)

ANativeWindow সেট করুন যেখানে প্রিভিউ ফ্রেম পাঠানো হবে

ফাইল ক্যামেরার 101 লাইনে সংজ্ঞা।

int(* start_preview)(struct camera_device *)

প্রিভিউ মোড শুরু করুন।

ফাইল ক্যামেরার 144 লাইনে সংজ্ঞা।

int(* start_recording)(struct camera_device *)

রেকর্ড মোড শুরু করুন। যখন একটি রেকর্ড ইমেজ পাওয়া যায়, তখন সংশ্লিষ্ট ফ্রেমের সাথে একটি CAMERA_MSG_VIDEO_FRAME বার্তা পাঠানো হয়। ক্লায়েন্ট নিষ্ক্রিয়MsgType(CAMERA_MSG_VIDEO_FRAME) কল করার আগে প্রতিটি রেকর্ড ফ্রেম অবশ্যই একটি ক্যামেরা HAL ক্লায়েন্ট দ্বারা releaseRecordingFrame() এর মাধ্যমে প্রকাশ করতে হবে। ক্লায়েন্ট নিষ্ক্রিয়MsgType(CAMERA_MSG_VIDEO_FRAME) কল করার পরে, ভিডিও রেকর্ডিং ফ্রেমের জীবনচক্র পরিচালনা করা ক্যামেরা HAL-এর দায়িত্ব, এবং ক্লায়েন্টকে কোনও ভিডিও রেকর্ডিং ফ্রেম পরিবর্তন/অ্যাক্সেস করা উচিত নয়৷

ফাইল ক্যামেরার 198 লাইনে সংজ্ঞা।

void(* stop_preview)(struct camera_device *)

পূর্বে শুরু হওয়া একটি পূর্বরূপ বন্ধ করুন।

ফাইল ক্যামেরার 149 নম্বর লাইনে সংজ্ঞা।

void(* stop_recording)(struct camera_device *)

আগে শুরু হওয়া রেকর্ডিং বন্ধ করুন।

ফাইল ক্যামেরার 203 লাইনে সংজ্ঞা।

int(* store_meta_data_in_buffers)(struct camera_device *, int সক্ষম)

একটি রেকর্ডিং সেশনের জন্য CAMERA_MSG_VIDEO_FRAME এর মাধ্যমে পাঠানো ভিডিও বাফারগুলিতে মেটা ডেটা বা বাস্তব YUV ডেটা সঞ্চয় করার জন্য ক্যামেরা HAL-কে অনুরোধ করুন৷ যদি এটি বলা না হয়, ডিফল্ট ক্যামেরা HAL আচরণ হল ভিডিও বাফারগুলিতে বাস্তব YUV ডেটা সংরক্ষণ করা।

কার্যকর হওয়ার জন্য startRecording() এর আগে এই পদ্ধতিটি কল করা উচিত।

যদি ভিডিও বাফারগুলিতে মেটা ডেটা সংরক্ষণ করা হয়, তবে বিষয়বস্তুগুলি ব্যাখ্যা করা এবং বাফারে মেটা ডেটার সাহায্যে প্রকৃত ফ্রেম ডেটা খুঁজে বের করা ভিডিও বাফারগুলির রিসিভারের উপর নির্ভর করে। এটি কীভাবে করা হয় তা এই পদ্ধতির সুযোগের বাইরে।

কিছু ক্যামেরা HALs ভিডিও বাফারে মেটা ডেটা সংরক্ষণ করা সমর্থন নাও করতে পারে, তবে সমস্ত ক্যামেরা HAL-এর উচিত ভিডিও বাফারে প্রকৃত YUV ডেটা সংরক্ষণ করা সমর্থন করা। যদি ক্যামেরা HAL ভিডিও বাফারে মেটা ডেটা সংরক্ষণ করা সমর্থন না করে যখন এটি করার অনুরোধ করা হয়, INVALID_OPERATION অবশ্যই ফেরত দিতে হবে৷ ভিডিও এনকোডারে সরাসরি প্রকৃত ফ্রেম ডেটার পরিবর্তে মেটা ডেটা পাস করার জন্য ক্যামেরা HAL-এর পক্ষে খুবই উপযোগী, যেহেতু ভিডিওর আকার বড় হলে অসংকুচিত ফ্রেম ডেটার পরিমাণ খুব বড় হতে পারে।

পরামিতি
সক্ষম ভিডিও বাফারে মেটা ডেটা সঞ্চয় করার জন্য ক্যামেরা HAL-কে নির্দেশ দেওয়ার জন্য সত্য হলে; ভিডিও বাফারে বাস্তব YUV ডেটা সংরক্ষণ করার জন্য ক্যামেরা HAL-কে নির্দেশ দেওয়ার জন্য মিথ্যা।
রিটার্নস
সাফল্যের উপর ঠিক আছে.

ফাইল ক্যামেরার 186 লাইনে সংজ্ঞা।

int(* take_picture)(struct camera_device *)

একটি ছবি তোল.

ফাইল ক্যামেরার 240 লাইনে সংজ্ঞা।


এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
  • hardware/libhardware/include/hardware/ camera.h