החל מ-Android 14, ממשק Audio HAL מוגדר באמצעות Stable AIDL. שותפים אנחנו ממליצים לספקי SoC להטמיע מחדש את Audio HAL שלהם כדי לספק ממשק AIDL.
הרחבה של הספרייה libaudiohal
מוסיפה תמיכה ב-framework ל-AIDL HAL.
עם הטמעת AIDL, מפרט ההגדרות של מדיניות האודיו
הועברו אל AIDL HAL. בעקבות השינוי הזה, הכלי Audio Policy Manager (APM) מקבל את
את התצורה מה-HAL במקום להשתמש בה מה-XML שסופק על ידי הספק
חדש.
ממשק API של אודיו AIDL HAL
בקטע הזה מתוארים ממשקי ה-API של הליבה, האפקטים ו-Common HAL API ל-AIDL.
שימוש ביישום ברירת המחדל של AIDL API ב
/hardware/interfaces/audio/aidl/default/
כחומר עזר כשמטמיעים גרסאות חדשות של Audio HALs
אינטראקציה עם מנהלי התקנים של ליבה.
לצפייה קובץ HAL README של אודיו למבנה של ספריית Audio HAL ל-AIDL.
ליבה עם 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
אלה כמה מהממשקים המרכזיים של אפקטים HAL המשתמשים ב-AIDL:
IFactory.aidl
הוא נקודת הכניסה ל-API.Descriptor.aidl
מכיל את כל המידע, כמו יכולות ו ליישום של אפקטים.Capability.aidl
מגדירות יכולות של אפקטים שלא משתנים בזמן הריצה.- הפונקציה
Parameter.aidl
מגדירה את כל הפרמטרים שנתמכים על ידי מופע האפקט. IEffect.aidl
משמש להגדרה ולבקרה של מופעי אפקטים מסוימים.מגרשים ספציפיים לאפקט שנקראים על שם ההשפעה.
הגרסה העדכנית של Effects HAL API בפיתוח זמינה ב
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
.הגרסה האחרונה של ממשק ה-API של אפקטים HAL שפורסמה
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
.
למידע נוסף, אפשר לעיין באפקטים של אודיו מידע.
HAL נפוץ
מבני נתונים וממשקים שמשותפים בין יישומי HAL שונים כמו BT HAL, ליבה ואפקטים אודיו HAL הם ב-Common 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 וגם ב-framework.
הגרסה האחרונה של סוגי הנתונים היציבים בפיתוח נמצאת
/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 החדשה שיכולים להשפיע על האבטחה.