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

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

#include < camera3.h >

ডেটা ক্ষেত্র

camera3_stream_t * প্রবাহ
বাফার_হ্যান্ডেল_টি * বাফার
int অবস্থা
int acquire_fence
int মুক্তি_বেড়া

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

ক্যামেরা3_স্ট্রিম_বাফার_টি:

ক্যামেরা3 স্ট্রিম থেকে একটি একক বাফার। এটির মূল স্ট্রিমের একটি হ্যান্ডেল, গ্র্যালোক বাফারের হ্যান্ডেল এবং সিঙ্ক বেড়া অন্তর্ভুক্ত করে

বাফারটি ইনপুট বা আউটপুটের জন্য ব্যবহার করা হবে কিনা তা নির্দিষ্ট করে না; যেটি তার মূল স্ট্রিমের ধরন দ্বারা নির্ধারিত হয় এবং কীভাবে বাফারটি HAL ডিভাইসে প্রেরণ করা হয়।

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

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

int acquire_fence

এই বাফার জন্য সিঙ্ক বেড়া অর্জন. এই বাফার থেকে পড়ার বা লেখার চেষ্টা করার আগে HAL-কে অবশ্যই এই বেড়া fd-এ অপেক্ষা করতে হবে।

এই বাফারের জন্য কোন অপেক্ষার প্রয়োজন নেই তা নির্দেশ করার জন্য ফ্রেমওয়ার্ক -1 সেট করা হতে পারে।

HAL যখন process_capture_result() দিয়ে ফ্রেমওয়ার্কে একটি আউটপুট বাফার ফেরত দেয়, তখন acquire_fence অবশ্যই -1 সেট করতে হবে। যদি HAL কখনই acquire_fence-এর জন্য অপেক্ষা না করে একটি বাফার পূরণের ত্রুটির কারণে, process_capture_result() কল করার সময় HAL-কে অবশ্যই বাফারের মুক্তি_ফেন সেট করতে হবে যাতে ফ্রেমওয়ার্ক দ্বারা এটিকে পাস করা acquire_fence হতে পারে। এটি বাফার পুনরায় ব্যবহার করার আগে ফ্রেমওয়ার্কটিকে বেড়ার উপর অপেক্ষা করার অনুমতি দেবে।

ইনপুট বাফারের জন্য, HAL অবশ্যই process_capture_request() কলের সময় acquire_fence ক্ষেত্র পরিবর্তন করবে না।

>= CAMERA_DEVICE_API_VERSION_3_2:

HAL যখন process_capture_result() দিয়ে ফ্রেমওয়ার্কে একটি ইনপুট বাফার ফেরত দেয়, তখন acquire_fence অবশ্যই -1 সেট করতে হবে। যদি HAL কখনও একটি ত্রুটির কারণে ইনপুট বাফার অর্জনের বেড়ার জন্য অপেক্ষা না করে, তবে সিঙ্ক বেড়াগুলিকে আউটপুট বাফারগুলির জন্য যেভাবে পরিচালনা করা হয় একইভাবে পরিচালনা করা উচিত।

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

buffer_handle_t* বাফার

বাফার নেটিভ হ্যান্ডেল

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

int release_fence

এই বাফারের জন্য রিলিজ সিঙ্ক বেড়া। ফ্রেমওয়ার্কে বাফার ফেরত দেওয়ার সময় HAL-কে অবশ্যই এই বেড়া সেট করতে হবে, অথবা এই বাফারের জন্য কোন অপেক্ষার প্রয়োজন নেই তা নির্দেশ করতে -1 লিখতে হবে।

আউটপুট বাফারগুলির জন্য, বেড়াগুলিকে অবশ্যই প্রসেস_ক্যাপচার_রেজাল্ট() এ পাস করা output_buffers অ্যারেতে সেট করতে হবে।

<= CAMERA_DEVICE_API_VERSION_3_1:

ইনপুট বাফারের জন্য, প্রসেস_ক্যাপচার_রিকোয়েস্ট() কলের মাধ্যমে রিলিজের বেড়া সেট করতে হবে।

>= CAMERA_DEVICE_API_VERSION_3_2:

ইনপুট বাফারের জন্য, বেড়াগুলি অবশ্যই প্রক্রিয়া_ক্যাপচার_রেজাল্ট() এ পাস করা ইনপুট_বাফারে সেট করতে হবে।

এই বাফারের জন্য release_fence সংকেত দেওয়ার পরে, HAL-এর এই বাফার অ্যাক্সেস করার জন্য আর কোনো প্রচেষ্টা করা উচিত নয় কারণ মালিকানা সম্পূর্ণরূপে ফ্রেমওয়ার্কে হস্তান্তর করা হয়েছে।

যদি -1-এর একটি বেড়া নির্দিষ্ট করা হয় তবে প্রক্রিয়া_ক্যাপচার_রজাল্টের কলের সাথে সাথেই এই বাফারটির মালিকানা হস্তান্তর করা হয়।

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

int অবস্থা

বাফারের বর্তমান অবস্থা, camera3_buffer_status_t মানগুলির মধ্যে একটি৷ ফ্রেমওয়ার্কটি HAL-এর কাছে বাফার পাঠাবে না যেগুলি একটি ত্রুটির অবস্থায় রয়েছে। HAL দ্বারা একটি বাফার পূরণ করা না গেলে, প্রক্রিয়া_ক্যাপচার_রেজাল্ট() এর সাথে ফ্রেমওয়ার্কে ফিরে আসার সময় এটির স্থিতি CAMERA3_BUFFER_STATUS_ERROR এ সেট করা আবশ্যক।

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

camera3_stream_t * স্ট্রীম

এই বাফারটির সাথে যুক্ত স্ট্রিমটির হ্যান্ডেল৷

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


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