Mulai Android 14, antarmuka Audio HAL ditentukan menggunakan AIDL Stabil. Partner dan vendor SoC dianjurkan untuk menerapkan ulang HAL Audio mereka untuk menyediakan antarmuka 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
konfigurasi dari HAL, bukan menggunakannya dari file XML
yang disediakan vendor.
Audio AIDL HAL API
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 Audio HAL yang
berinteraksi dengan driver kernel.
Lihat file README Audio HAL untuk mengetahui 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 satu arah 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 ada diIPrimaryModule
di HIDL API.IConfig.aidl
menyediakan parameter konfigurasi tingkat sistem.ISoundDose.aidl
memberikan dukungan dosis suara. Lihat Dosis suara untuk mengetahui informasi selengkapnya.- Versi terbaru Core HAL API dalam pengembangan adalah
/hardware/interfaces/audio/aidl/android/hardware/audio/core/
. - Versi Core HAL API terbaru yang dirilis ada di
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/
.
HAL Efek
Beberapa antarmuka utama Effects HAL, menggunakan AIDL, adalah sebagai berikut:
IFactory.aidl
adalah titik entri ke API.Descriptor.aidl
berisi semua informasi seperti kemampuan dan atribut untuk implementasi 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 yang diberi nama sesuai dengan efeknya.
Versi terbaru Effects HAL API yang sedang dikembangkan tersedia di
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
.Versi Effects HAL API yang dirilis terbaru ada di
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
.
Lihat Efek Audio untuk mengetahui informasi selengkapnya.
HAL Umum
Struktur dan antarmuka data yang digunakan bersama antara berbagai HAL seperti BT HAL, Audio HAL inti dan efek berada di HAL Umum.
Versi terbaru Common AIDL HAL dalam pengembangan berada di
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
.Versi Common HAL API yang dirilis terbaru ada di
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/
.
Jenis data stabil umum
Definisi struktur data yang stabil digunakan oleh HAL dan framework.
Versi terbaru jenis data stabil dalam pengembangan ada di
/system/hardware/interfaces/media/aidl/android/media/audio/common/
.Versi terbaru jenis data stabil yang dirilis ada di
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
.
Menguji Audio AIDL HAL API
Pengujian VTS baru disediakan untuk antarmuka AIDL.
Tidak ada perubahan dalam versi HAL baru yang dapat memengaruhi keamanan.