Android 14'ten itibaren Ses HAL arayüzü Stabil AIDL kullanılarak tanımlanır. İş ortakları ve SoC satıcıları, bir AIDL arayüzü sağlamak için Ses HAL'lerini yeniden uygulamaya teşvik edilir.
libaudiohal
kitaplığının genişletilmesi, AIDL HAL için çerçeve desteği ekler. AIDL uygulamasıyla birlikte ses politikası yapılandırma spesifikasyonu AIDL HAL'e taşınır. Bu değişiklikle, Ses Politikası Yöneticisi (APM), yapılandırmayı satıcı tarafından sağlanan XML dosyasından tüketmek yerine HAL'den alır.
Ses AIDL HAL API'si
Bu bölümde AIDL için Çekirdek, Efektler ve Ortak HAL API'leri açıklanmaktadır.
Çekirdek sürücüleri ile etkileşime giren Ses HAL'lerinin yeni sürümlerini uygularken referans olarak /hardware/interfaces/audio/aidl/default/
adresindeki AIDL API'sinin varsayılan uygulamasını kullanın.
AIDL'ye yönelik Audio HAL dizin yapısı için Audio HAL README dosyasına bakın.
Çekirdek HAL
AIDL kullanan Core HAL'in temel arayüzlerinden bazıları şunlardır:
-
IModule.aidl
, API'ye giriş noktasıdır. - Akışlar tek yönlüdür ve AudioFlinger tarafından
IStreamOut.aidl
veIStreamIn.aidl
aracılığıyla HAL'ye ses göndermek veya HAL'den ses almak için kullanılır. -
ITelephony.aidl
telefon işlevlerine özel kontroller sağlar. -
IBluetooth.aidl
HIDL API'sindeIPrimaryModule
üzerinde bulunan BT SCO ve HFP kontrollerini sağlar. -
IConfig.aidl
sistem çapında yapılandırma parametreleri sağlar. -
ISoundDose.aidl
ses dozu desteği sağlar. Daha fazla bilgi için Ses dozu konusuna bakın. - Core HAL API'nin geliştirilmekte olan en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/core/
konumundadır. - Core HAL API'nin en son yayınlanan sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/
konumundadır.
Efektler HAL
Effects HAL'in AIDL kullanan temel arayüzlerinden bazıları şunlardır:
-
IFactory.aidl
, API'ye giriş noktasıdır. -
Descriptor.aidl
bir efekt uygulamasına yönelik yetenekler ve nitelikler gibi tüm bilgileri içerir. -
Capability.aidl
çalışma zamanında değişmeyen efekt yeteneklerini tanımlar. -
Parameter.aidl
efekt örneği tarafından desteklenen tüm parametreleri tanımlar. -
IEffect.aidl
belirli efekt örneklerini yapılandırmak ve kontrol etmek için kullanılır. Efektin adını taşıyan, efekte özgü parsellenebilirler.
Effects HAL API'nin geliştirilmekte olan en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
konumundadır.Effects HAL API'nin en son yayımlanan sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
konumundadır.
Daha fazla bilgi için Ses Efektlerine bakın.
Ortak HAL
BT HAL, çekirdek ve efekt Ses HAL'leri gibi çeşitli HAL'ler arasında paylaşılan veri yapıları ve arayüzler Ortak HAL'dedir.
Ortak AIDL HAL'in geliştirilmekte olan en son sürümü
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
konumundadır.Common HAL API'nin en son yayımlanan sürümü
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/
konumundadır.
Yaygın kararlı veri türleri
Kararlı veri yapısı tanımları hem HAL'ler hem de çerçeve tarafından kullanılır.
Geliştirilmekte olan kararlı veri türlerinin en son sürümü
/system/hardware/interfaces/media/aidl/android/media/audio/common/
konumundadır.Kararlı veri türlerinin en son yayımlanan sürümü
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
konumundadır.
Audio AIDL HAL API'sini test etme
AIDL arayüzü için yeni VTS testleri sağlanmıştır.
Yeni HAL sürümünde güvenliği etkileyebilecek herhangi bir değişiklik bulunmamaktadır.