AIDL Audio HAL

Android 14 ও এর পরের যেকোনও ভার্সনে, অডিও HAL ইন্টারফেসকে Stable AIDL ব্যবহার করে সংজ্ঞায়িত করা হয়। পার্টনার ও SoC ভেন্ডরদের AIDL ইন্টারফেস প্রদান করতে তাদের অডিও HAL আবার প্রয়োগ করার জন্য উৎসাহিত করা হয়।

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

Audio AIDL HAL API

এই বিভাগে AIDL-এর জন্য Core, Effects ও Common HAL API সম্পর্কে বর্ণনা করা হয়েছে।

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

AIDL-এর জন্য অডিও HAL ডিরেক্টরি স্ট্রাকচার দেখতে অডিও HAL README ফাইল দেখুন।

Core HAL

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

  • IModule.aidl হল API-তে প্রবেশের পয়েন্ট।
  • স্ট্রিমগুলি একমুখী এবং IStreamOut.aidl ও IStreamIn.aidl-এর মাধ্যমে HAL-এ অডিও পাঠানো ও সেখান থেকে অডিও পাওয়ার জন্য AudioFlinger এগুলি ব্যবহার করে।
  • 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 হল 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-এর মধ্যে শেয়ার করা ডেটা স্ট্রাকচার এবং ইন্টারফেসগুলি কমন HAL-এ থাকে।

সাধারণ স্থিতিশীল ডেটার ধরন

HAL ও ফ্রেমওয়ার্ক, দু'টিই স্থিতিশীল ডেটা স্ট্রাকচার সংজ্ঞা ব্যবহার করে।

Audio AIDL HAL API পরীক্ষা করা

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

নতুন HAL ভার্সনে এমন কোনও পরিবর্তন নেই যা নিরাপত্তার উপর প্রভাব ফেলতে পারে।