החל מ-Android 14, ממשק ה-HAL של האודיו מוגדר באמצעות Stable AIDL. אנחנו ממליצים לשותפים ולספקי SoC להטמיע מחדש את Audio HAL שלהם כדי לספק ממשק AIDL.
הרחבת הספרייה libaudiohal
מוסיפה תמיכה ב-framework ל-AIDL HAL.
באמצעות ההטמעה של AIDL, מפרט ההגדרה של מדיניות האודיו מועבר ל-AIDL HAL. בעקבות השינוי הזה, מנהל מדיניות האודיו (APM) מקבל את ההגדרה מ-HAL במקום לצרוך אותה מקובץ ה-XML שסופקו על ידי הספק.
Audio AIDL HAL API
בקטע הזה מתוארים ממשקי ה-API של הליבה, ההשפעות וה-HAL הנפוצים ל-AIDL.
כשמטמיעים גרסאות חדשות של Audio HALs שמקיימות אינטראקציה עם מנהלי ליבה, מומלץ להשתמש בהטמעת ברירת המחדל של AIDL API ב-/hardware/interfaces/audio/aidl/default/
בתור עזר.
קובץ ה-README של Audio HAL מכיל מידע על מבנה הספריות של Audio HAL ל-AIDL.
Core HAL
אלה כמה מהממשקים המרכזיים של Core HAL, באמצעות AIDL:
IModule.aidl
היא נקודת הכניסה ל-API.- השידורים הם חד-כיווניים ומשמשים את AudioFlinger לשליחה או לקבל אודיו של אודיו אל HAL וממנו דרך
IStreamOut.aidl
ו-IStreamIn.aidl
. - ב-
ITelephony.aidl
יש אמצעי בקרה ספציפיים לפונקציות טלפוניה. IBluetooth.aidl
מספק אמצעי בקרה ל-BT SCO ול-HFP שהיו ב-IPrimaryModule
ב-HIDL API.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
אלה כמה מהממשקים העיקריים של Effects HAL, באמצעות AIDL:
IFactory.aidl
היא נקודת הכניסה ל-API.Descriptor.aidl
מכיל את כל המידע, כמו יכולות ומאפיינים, להטמעת אפקט.Capability.aidl
מגדירות יכולות של אפקטים שלא משתנים בזמן הריצה.Parameter.aidl
מגדיר את כל הפרמטרים שנתמכים על ידי מופע האפקט.IEffect.aidl
משמש להגדרה ולשליטה במופעי אפקט מסוימים.רכיבי Parcelable ספציפיים לאפקט, שנקראים על שם האפקט.
הגרסה האחרונה של 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 משותף
מבני נתונים וממשקים ששותפו בין HAL שונים, כמו BT HAL, HAL של אודיו ליבה ו-HAL של אודיו עם אפקטים, נמצאים ב-HAL המשותף.
הגרסה האחרונה של Common AIDL HAL בפיתוח נמצאת ב-
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
.הגרסה העדכנית ביותר של Common HAL API שפורסמה נמצאת ב-
/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/
.
בדיקת AudioAIDL HAL API
בדיקות VTS חדשות לממשק AIDL.
אין שינויים בגרסה החדשה של HAL שיכולים להשפיע על האבטחה.