মিডিয়া রিসোর্স ম্যানেজারের জন্য SoC ভেন্ডর ডিপেন্ডেন্সি

এই ডকুমেন্টটি সিস্টেম অন চিপ ভেন্ডরদের (SoCs) সঠিকভাবে অগ্রাধিকার, অপারেটিং রেট এবং Android মিডিয়া রিসোর্স ম্যানেজারের জন্য প্রয়োজনীয় হুক প্রয়োগ করতে সাহায্য করার উদ্দেশ্যে লেখা হয়েছে।

OMX_ErrorInsufficientResources

কোডেক কম্পোনেন্টকে OMX_ErrorInsufficientResources GetHandle, Init, UseBuffer, AllocateBuffer বা স্টেট ট্রানজিশন রিটার্ন করতে হবে যদি পর্যাপ্ত রিসোর্স না থাকার কারণে ব্যর্থতা ঘটে। সম্ভাব্য প্রিএম্পট মিডিয়া রিসোর্সকে অন্যান্য কম অগ্রাধিকারের প্রসেস থেকে নির্দেশক হিসেবে মিডিয়া রিসোর্স ম্যানেজার দ্বারা ত্রুটি কোড ব্যবহার করা হবে।

catching OMX_ErrorInsufficientResources (পাস) বা অন্য কোনও সমস্যা (ফেল) না হওয়া পর্যন্ত প্রতিটি কোডেক বারবার বরাদ্দ, কনফিগার ও শুরু করার জন্য Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্ট রয়েছে।

OMX_IndexConfigPriority

এই কনফিগারেশন, অ্যাপ্লিকেশনকে পছন্দসই কোডেক অগ্রাধিকার বর্ণনা করতে দেয়।

সংশ্লিষ্ট মানটি একটি পূর্ণসংখ্যা। বেশি ভ্যালু মানে কম অগ্রাধিকার। বর্তমানে, শুধুমাত্র দুটি লেভেল কাজ করে:

  • ০: রিয়েল-টাইম অগ্রাধিকার - অর্থাৎ, কোডেককে রিয়েল-টাইমে প্রদত্ত পারফর্ম্যান্স কনফিগারেশন (যেমন, ফ্রেমরেট) সাপোর্ট করতে হবে। এটি শুধুমাত্র মিডিয়া প্লেব্যাক, ক্যাপচার এবং সম্ভবত রিয়েল-টাইম কমিউনিকেশন পরিস্থিতিতে ব্যবহার করা হবে, যদি সর্বোচ্চ চেষ্টা করেও পারফর্ম্যান্স উপযুক্ত না হয়।
  • ১: নন-রিয়েলটাইম প্রায়োরিটি (বেস্ট এফর্ট)। এটি হল ডিফল্ট ভ্যালু।

কোডেক কনফিগারেশন ও রিসোর্স প্ল্যানিংয়ে ইঙ্গিত হিসেবে এটি ব্যবহার করার জন্য ভেন্ডরকে সাজেস্ট করা হয় - যাতে অ্যাপ্লিকেশনের রিয়েল-টাইম প্রয়োজনীয়তা বোঝা যায়।

০ হিসেবে কনফিগার করা না থাকলে রিয়েল-টাইম অগ্রাধিকার আছে বলে ধরে নেবেন না।

OMX_IndexConfigOperatingRate

এই কনফিগারেশন অ্যাপ্লিকেশনকে ভিডিওর জন্য অপারেটিং ফ্রেম রেট বা অডিওর জন্য স্যাম্পেল রেট বর্ণনা করতে দেয় যেখানে কোডেককে কাজ করতে হবে।

হাই-স্পিড/স্লো-মোশন ভিডিও ক্যাপচারের মতো ক্ষেত্রে এটি ব্যবহার করা হয়, যেখানে ভিডিও এনকোডার ফর্ম্যাটে টার্গেট প্লেব্যাক রেট (যেমন, ৩০fps) থাকে, কিন্তু কম্পোনেন্টকে অবশ্যই হাই অপারেটিং ক্যাপচার রেট (যেমন, ২৪০fps) হ্যান্ডেল করতে হবে।

এই রেট রিসোর্স প্ল্যানিং ও অপারেটিং পয়েন্ট সেট করার জন্য ব্যবহার করা উচিত।