החל מאנדרואיד 14, ממשק Audio HAL מוגדר באמצעות Stable AIDL . שותפים וספקי SoC מוזמנים ליישם מחדש את Audio HAL שלהם כדי לספק ממשק AIDL.
הרחבת ספריית libaudiohal
מוסיפה תמיכת מסגרת עבור AIDL HAL. עם יישום AIDL, מפרט תצורת מדיניות האודיו מועבר ל-AIDL HAL. עם השינוי הזה, מנהל מדיניות השמע (APM) מקבל את התצורה מה-HAL במקום לצרוך אותה מקובץ ה-XML שסופק על ידי הספק.
אודיו AIDL HAL API
סעיף זה מתאר את ממשקי הליבה, האפקטים והממשקים הנפוצים של HAL עבור AIDL.
השתמש בהטמעת ברירת המחדל של ממשק ה-API של AIDL בכתובת /hardware/interfaces/audio/aidl/default/
כהתייחסות בעת הטמעת גרסאות חדשות של אודיו HAL המקיימות אינטראקציה עם מנהלי התקנים של ליבה.
עיין בקובץ Audio HAL README עבור מבנה ספריות 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
משמש כדי להגדיר ולשלוט במופעי אפקט מסוימים. חבילות ספציפיות לאפקט הנקראות על שם האפקט.
הגרסה האחרונה של ה-API של Effects HAL בפיתוח נמצאת ב-
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
.הגרסה האחרונה שפורסמה של אפקטס HAL API נמצאת ב-
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
.
ראה אפקטי אודיו למידע נוסף.
HAL נפוץ
מבני נתונים וממשקים משותפים בין HALs שונים כגון BT HAL, ליבה ואפקטים אודיו HALs נמצאים ב- 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/
.
סוגי נתונים יציבים נפוצים
הגדרות מבנה נתונים יציבות משמשות הן על ידי HALs והן על ידי המסגרת.
הגרסה העדכנית ביותר של סוגי הנתונים היציבים בפיתוח נמצאת ב-
/system/hardware/interfaces/media/aidl/android/media/audio/common/
.הגרסה האחרונה שפורסמה של סוגי הנתונים היציבים נמצאת ב-
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
.
בדיקת ה-Audio AIDL HAL API
בדיקות VTS חדשות מסופקות עבור ממשק AIDL.
אין שינויים בגרסת HAL החדשה שיכולים להשפיע על האבטחה.