Mulai Android 14, antarmuka Audio HAL yang ditentukan menggunakan AIDL Stabil. Mitra dan vendor SoC didorong untuk mengimplementasikan kembali HAL Audio mereka untuk memberikan AIDL.
Memperluas library libaudiohal
akan menambahkan dukungan framework untuk AIDL HAL.
Dengan implementasi AIDL, spesifikasi konfigurasi kebijakan audio
dipindahkan ke AIDL HAL. Dengan perubahan ini, Pengelola Kebijakan Audio (APM) mendapatkan
dari HAL alih-alih memakainya dari XML yang disediakan vendor
.
API AIDL HAL Audio
Bagian ini menjelaskan API HAL Inti, Efek, dan Umum untuk AIDL.
Gunakan implementasi default AIDL API di
/hardware/interfaces/audio/aidl/default/
sebagai referensi saat menerapkan versi baru HAL Audio yang
berinteraksi dengan {i>driver<i} {i>kernel<i}.
Lihat File README HAL Audio untuk struktur direktori Audio HAL untuk AIDL.
HAL Inti
Beberapa antarmuka utama Core HAL, menggunakan AIDL, adalah sebagai berikut:
IModule.aidl
adalah titik entri ke API.- Streaming bersifat searah dan digunakan oleh AudioFlinger untuk mengirim atau menerima
audio ke dan dari HAL melalui
IStreamOut.aidl
danIStreamIn.aidl
. ITelephony.aidl
menyediakan kontrol khusus untuk fungsi telepon.IBluetooth.aidl
menyediakan kontrol BT SCO dan HFP yang berada diIPrimaryModule
di HIDL API.IConfig.aidl
menyediakan parameter konfigurasi tingkat sistem.ISoundDose.aidl
memberikan dukungan dosis suara. Lihat Dosis suara untuk informasi selengkapnya.- Versi terbaru Core HAL API yang sedang dikembangkan tersedia di
/hardware/interfaces/audio/aidl/android/hardware/audio/core/
. - Versi terbaru Core HAL API yang dirilis tersedia dalam
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/
.
HAL Efek
Beberapa antarmuka utama Effects HAL, yang menggunakan AIDL, adalah sebagai berikut:
IFactory.aidl
adalah titik entri ke API.Descriptor.aidl
berisi semua informasi seperti kemampuan dan untuk penerapan efek.Capability.aidl
menentukan kemampuan efek yang tidak berubah saat runtime.Parameter.aidl
menentukan semua parameter yang didukung oleh instance efek.IEffect.aidl
digunakan untuk mengonfigurasi dan mengontrol instance efek tertentu.parcelable khusus efek dinamai menurut efek.
Versi terbaru Effects HAL API yang sedang dikembangkan tersedia di
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
.Versi terbaru Effect HAL API yang dirilis tersedia
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
Lihat Efek Audio untuk mengetahui informasi selengkapnya tidak akurat atau tidak sesuai.
HAL Umum
Struktur dan antarmuka data yang digunakan bersama oleh berbagai HAL seperti BT HAL, dan efek Audio HAL ada di HAL Umum.
Versi terbaru Common AIDL HAL yang sedang dalam pengembangan dirilis
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
Versi terbaru Common HAL API yang dirilis terdapat dalam
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/
Jenis data stabil yang umum
Definisi struktur data stabil digunakan oleh HAL dan juga framework.
Versi terbaru jenis data stabil dalam pengembangan sudah tersedia
/system/hardware/interfaces/media/aidl/android/media/audio/common/
Versi terbaru yang dirilis dari jenis data stabil ada di
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
Menguji Audio AIDL HAL API
VTS baru pengujian disediakan untuk antarmuka AIDL.
Tidak ada perubahan pada versi HAL baru yang dapat memengaruhi keamanan.