অ্যান্ড্রয়েড ১৪ এবং উচ্চতর সংস্করণে, অডিও HAL ইন্টারফেসটি Stable AIDL ব্যবহার করে সংজ্ঞায়িত করা হয়। অংশীদার এবং SoC বিক্রেতাদের একটি AIDL ইন্টারফেস প্রদানের জন্য তাদের অডিও HAL পুনরায় প্রয়োগ করতে উৎসাহিত করা হচ্ছে।
libaudiohal লাইব্রেরি সম্প্রসারণ করলে AIDL HAL-এর জন্য ফ্রেমওয়ার্ক সাপোর্ট যোগ হয়। AIDL বাস্তবায়নের সাথে সাথে, অডিও নীতি কনফিগারেশন স্পেসিফিকেশন AIDL HAL-এ স্থানান্তরিত হয়। এই পরিবর্তনের সাথে সাথে, অডিও পলিসি ম্যানেজার (APM) বিক্রেতা-প্রদত্ত XML ফাইল থেকে কনফিগারেশন গ্রহণের পরিবর্তে HAL থেকে কনফিগারেশন গ্রহণ করে।
অডিও AIDL HAL API
এই বিভাগটি AIDL-এর জন্য কোর, ইফেক্ট এবং সাধারণ HAL API গুলি বর্ণনা করে।
কার্নেল ড্রাইভারের সাথে ইন্টারঅ্যাক্ট করে এমন অডিও HAL-এর নতুন সংস্করণ বাস্তবায়নের সময় /hardware/interfaces/audio/aidl/default/ AIDL API-এর ডিফল্ট বাস্তবায়নকে রেফারেন্স হিসেবে ব্যবহার করুন।
AIDL-এর জন্য অডিও HAL ডিরেক্টরি কাঠামোর জন্য অডিও HAL README ফাইলটি দেখুন।
কোর এইচএএল
AIDL ব্যবহার করে Core HAL এর কিছু মূল ইন্টারফেস নিম্নরূপ:
-
IModule.aidlহল API-তে প্রবেশের স্থান। - স্ট্রিমগুলি একমুখী এবং অডিওফ্লিংগার দ্বারা
IStreamOut.aidlএবংIStreamIn.aidlএর মাধ্যমে HAL-এ অডিও প্রেরণ বা গ্রহণ করতে ব্যবহৃত হয়। -
ITelephony.aidlটেলিফোনি ফাংশনের জন্য নির্দিষ্ট নিয়ন্ত্রণ প্রদান করে। -
IBluetooth.aidlBT SCO এবং HFP নিয়ন্ত্রণ প্রদান করে যা HIDL API-তেIPrimaryModuleএ ছিল। -
IConfig.aidlসিস্টেম-ব্যাপী কনফিগারেশন প্যারামিটার প্রদান করে। -
ISoundDose.aidlসাউন্ড ডোজ সাপোর্ট প্রদান করে। আরও তথ্যের জন্য সাউন্ড ডোজ দেখুন। - কোর এইচএএল এপিআই-এর সর্বশেষ সংস্করণটি
/hardware/interfaces/audio/aidl/android/hardware/audio/core/তৈরি হচ্ছে । - কোর এইচএএল এপিআই-এর সর্বশেষ প্রকাশিত সংস্করণটি
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/এ রয়েছে।
HAL এর প্রভাব
AIDL ব্যবহার করে Effects HAL-এর কিছু মূল ইন্টারফেস নিম্নরূপ:
-
IFactory.aidlহল API-তে প্রবেশের স্থান। -
Descriptor.aidlএকটি প্রভাব বাস্তবায়নের জন্য ক্ষমতা এবং বৈশিষ্ট্যের মতো সমস্ত তথ্য রয়েছে। -
Capability.aidlএমন প্রভাব ক্ষমতা সংজ্ঞায়িত করে যা রানটাইমে পরিবর্তন হয় না। -
Parameter.aidlইফেক্ট ইনস্ট্যান্স দ্বারা সমর্থিত সমস্ত প্যারামিটার সংজ্ঞায়িত করে। -
IEffect.aidlনির্দিষ্ট প্রভাবের উদাহরণগুলি কনফিগার এবং নিয়ন্ত্রণ করতে ব্যবহৃত হয়। প্রভাব-নির্দিষ্ট পার্সেবলগুলি প্রভাবের নামে নামকরণ করা হয়েছে।
Effects HAL API-এর সর্বশেষ সংস্করণটি
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/তৈরি করা হচ্ছে ।Effects HAL API-এর সর্বশেষ প্রকাশিত সংস্করণটি
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effectএ রয়েছে।
আরও তথ্যের জন্য অডিও এফেক্টস দেখুন।
কমন এইচএএল
বিভিন্ন HAL যেমন BT HAL, কোর এবং ইফেক্টস অডিও HAL-এর মধ্যে ভাগ করা ডেটা স্ট্রাকচার এবং ইন্টারফেসগুলি সাধারণ HAL-এর মধ্যে রয়েছে।
কমন AIDL HAL-এর সর্বশেষ সংস্করণটি
/hardware/interfaces/audio/aidl/android/hardware/audio/common/তৈরি ।কমন এইচএএল এপিআই-এর সর্বশেষ প্রকাশিত সংস্করণটি
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/এ রয়েছে।
সাধারণ স্থিতিশীল ডেটা প্রকার
স্থিতিশীল ডেটা স্ট্রাকচার সংজ্ঞা HAL এবং ফ্রেমওয়ার্ক উভয় দ্বারাই ব্যবহৃত হয়।
ডেভেলপমেন্টে থাকা স্থিতিশীল ডেটা টাইপের সর্বশেষ সংস্করণটি
/system/hardware/interfaces/media/aidl/android/media/audio/common/এ রয়েছে।স্থিতিশীল ডেটা টাইপের সর্বশেষ প্রকাশিত সংস্করণটি
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/এ রয়েছে।
অডিও AIDL HAL API পরীক্ষা করা হচ্ছে
AIDL ইন্টারফেসের জন্য নতুন VTS পরীক্ষা প্রদান করা হয়েছে।
নতুন HAL সংস্করণে এমন কোনও পরিবর্তন নেই যা নিরাপত্তাকে প্রভাবিত করতে পারে।