এআইডিএল অডিও এইচএএল

অ্যান্ড্রয়েড ১৪ এবং এর পরবর্তী সংস্করণগুলিতে, অডিও এইচএএল ইন্টারফেসটি স্টেবল এআইডিএল (Stable AIDL ) ব্যবহার করে সংজ্ঞায়িত করা হয়। পার্টনার এবং এসওসি (SoC) ভেন্ডরদের একটি এআইডিএল ইন্টারফেস প্রদানের জন্য তাদের অডিও এইচএএল পুনরায় বাস্তবায়ন করতে উৎসাহিত করা হচ্ছে।

libaudiohal লাইব্রেরিটি সম্প্রসারণ করলে AIDL HAL-এর জন্য ফ্রেমওয়ার্ক সাপোর্ট যুক্ত হয়। AIDL ইমপ্লিমেন্টেশনের মাধ্যমে, অডিও পলিসি কনফিগারেশন স্পেসিফিকেশনটি AIDL HAL-এ স্থানান্তরিত হয়। এই পরিবর্তনের ফলে, অডিও পলিসি ম্যানেজার (APM) ভেন্ডর-প্রদত্ত XML ফাইল থেকে কনফিগারেশন গ্রহণ করার পরিবর্তে HAL থেকে তা সংগ্রহ করে।

অডিও এআইডিএল এইচএএল এপিআই

এই বিভাগে AIDL-এর জন্য Core, Effects, এবং Common HAL API-গুলো বর্ণনা করা হয়েছে।

কার্নেল ড্রাইভারের সাথে ইন্টারঅ্যাক্ট করে এমন অডিও HAL-এর নতুন সংস্করণ ইমপ্লিমেন্ট করার সময়, রেফারেন্স হিসেবে /hardware/interfaces/audio/aidl/default/ AIDL API-এর ডিফল্ট ইমপ্লিমেন্টেশনটি ব্যবহার করুন।

AIDL-এর জন্য Audio HAL ডিরেক্টরি কাঠামো জানতে Audio HAL README ফাইলটি দেখুন।

কোর এইচএএল

AIDL ব্যবহার করে Core HAL-এর কিছু প্রধান ইন্টারফেস নিচে দেওয়া হলো:

  • IModule.aidl হলো এপিআই-তে প্রবেশের পথ।
  • স্ট্রিমগুলি একমুখী এবং AudioFlinger এগুলি ব্যবহার করে IStreamOut.aidl এবং IStreamIn.aidl এর মাধ্যমে HAL-এ অডিও পাঠাতে বা গ্রহণ করতে।
  • ITelephony.aidl টেলিফোনি ফাংশনগুলির জন্য নির্দিষ্ট নিয়ন্ত্রণ ব্যবস্থা প্রদান করে।
  • IBluetooth.aidl সেইসব BT SCO এবং HFP নিয়ন্ত্রণ প্রদান করে, যা HIDL API-এর IPrimaryModule এ ছিল।
  • IConfig.aidl সিস্টেম-ব্যাপী কনফিগারেশন প্যারামিটার সরবরাহ করে।
  • ISoundDose.aidl সাউন্ড ডোজ সহায়তা প্রদান করে। আরও তথ্যের জন্য সাউন্ড ডোজ দেখুন।
  • উন্নয়নাধীন Core HAL API-এর সর্বশেষ সংস্করণটি /hardware/interfaces/audio/aidl/android/hardware/audio/core/ রয়েছে।
  • Core HAL API-এর সর্বশেষ প্রকাশিত সংস্করণটি /hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/ -এ রয়েছে।

HAL এর প্রভাব

AIDL ব্যবহার করে Effects HAL-এর কয়েকটি প্রধান ইন্টারফেস নিচে দেওয়া হলো:

  • IFactory.aidl হলো এপিআই-তে প্রবেশের পথ।
  • 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 এবং ফ্রেমওয়ার্ক উভয় দ্বারাই ব্যবহৃত হয়।

অডিও AIDL HAL API পরীক্ষা করা হচ্ছে

AIDL ইন্টারফেসের জন্য নতুন VTS টেস্টগুলো প্রদান করা হয়েছে।

HAL-এর নতুন সংস্করণে এমন কোনো পরিবর্তন নেই যা নিরাপত্তাকে প্রভাবিত করতে পারে।