Android 16'dan itibaren AIDL Audio HAL arayüzü, Yapılandırılabilir Ses Politikası'nı (CAP) tam olarak destekler.
Bu sayfa, iş ortaklarının ve SoC tedarikçilerinin ses politikası yapılandırmalarını taşımasına yardımcı olmak için gerekli teknik bilgileri sağlar.
Parametre Çerçevesi
CAP'nin uygulanması Intel Parameter Framework'e dayanır. CAP, Android 6'da kullanıma sunuldu. Parametre Çerçevesi (PfW), bir sistemi parametreler açısından tanımlamanıza olanak tanır. PfW, yapılandırma XML dosyası kullanarak parametreleri eklentilerle işlemlere bağlar ve parametreleri mevcut ölçütlere göre değiştirmek için kurallar sağlar.
HIDL'de CAP'nin yapısı
HIDL'de CAP ile ilgili tüm yapılandırma XML'de belirtiliyordu. Daha fazla bilgi için Parameter Framework ve Configuration using Parameter Framework başlıklı makaleleri inceleyin. XML dosyaları, aşağıdakileri belirtmek için kullanıldı:
- Parametrelerin yapısının açıklaması (ör. PfW için ses alanının açıklaması)
- Ölçüt tanımları
- Yönlendirme stratejileriyle ilgili kurallar (giriş ve çıkış cihazı seçimi)
- Hacim tabloları özellikleri
HIDL ile Android çerçevesi, bu XML dosyalarını doğrudan satıcı bölümünden yükleyebiliyordu. HAL API'nin bir parçası olarak bu XML dosyaları için bir XSD şeması tanımlandığından buna izin verildi. HIDL HAL'ın her ana sürümünün karşılık gelen bir XSD şeması vardı. Büyük sürümler geriye dönük uyumluluk gerektirmiyordu.
AIDL'de CAP'nin yapısı
AIDL'ye geçişle birlikte, HAL API sürümleri geriye dönük uyumlu olmaya devam etmelidir (HIDL terimleriyle, AIDL HAL'nin her sürümü "küçük" bir güncellemedir). Şemaların geriye dönük uyumlu güncellemelerini tanımlamanın yerleşik bir yolu olmadığından XSD şemaları artık HAL API'lerinin bir parçası olarak kullanılamaz. Bu nedenle, daha önce XML dosyalarında tanımlanan yapılandırmanın artık AIDL API'leri kullanılarak HAL tarafından sağlanması gerekiyor. Bunu kolaylaştırmak için CAP yapılandırmasının yapısı, Android 15'te AIDL Audio HAL için Ses Politikası Yapılandırması XML'lerine benzer şekilde AIDL'ye dönüştürülür.
CAP'e ait veri yapıları Genel sabit veri türlerine eklenir ve aşağıdaki paketlenebilirleri içerir:
AudioHalCapConfiguration.aidl
AudioHalCapCriterionV2.aidl
AudioHalCapDomain.aidl
AudioHalCapParameter.aidl
AudioHalCapRule.aidl
CAP yapılandırmasının giriş noktası AudioHalEngineConfig.CapSpecificConfig
yapısındadır. CAP veri yapılarının şeması için
AudioHalCapConfiguration.aidl
bölümündeki yorumlara bakın.
AIDL HAL'nin varsayılan uygulaması, iş ortaklarının geçişini kolaylaştırmak için eski CAP XML dosyalarının içeriğine göre AIDL paketlenebilirlerini dolduran bir yardımcı sınıf içerir.
Taşıma senaryoları
İş ortakları, daha önce CAP kullanmayan bir ürünün ilk lansmanı veya mevcut bir ürünün taşınması durumuna göre bu bölümde listelenen seçenekleri değerlendirebilir.
Yeni ürün
Ses politikası uygulaması için CAP kullanmaya başlayan yeni bir üründe, OEM, CAP yapılandırmasını satıcı tarafında depolamak için XML kullanmayı seçebilir.
XML kullanmanın avantajı, yapılandırmanın üst düzey bir açıklamadan oluşturulmasını kolaylaştıran bir dizi komut dosyası oluşturma aracının olmasıdır.
OEM, CAP yapılandırmasını satıcı bölümünde depolamak için XML kullanmaya karar verirse yapılandırmayı AIDL'ye dönüştürmek için XML ayrıştırıcının varsayılan uygulamasını kullanması önerilir.
Mevcut ürün için güncelleme
Ürün zaten CAP kullanıyorsa ve bu nedenle XML yapılandırmasına sahipse HAL'in AIDL sürümüyle mevcut CAP'yi kullanmaya devam edebilirsiniz.
Ürün stratejileri için adlandırma kuralı, CAP yapılandırmasının HIDL ve AIDL sürümlerinde farklıdır. HIDL'de yerleşik ("eski") stratejiler media
gibi küçük harfli kısa adlar kullanırken AIDL'de yerleşik stratejiler STRATEGY_
önekli tamamen büyük harfli adlar kullanır (ör. STRATEGY_MEDIA
). CapProductStrategies.xml
'daki yerleşik stratejilerin listesine bakın.
Aynı dosya, 1000
ile 1039
arasındaki sayılarla vx_10xx
adlandırma kalıbını izleyen OEM'e özel stratejiler için "önceden ayrılmış" kimlikleri tanımlar.
Eski ürün
CAP'ye dayalı ürün, satıcı bölümünü güncellemezse ve HIDL'de kalırsa sistem bölümünü Android 16'ya güncelleyebilirsiniz. Bu çerçeve, eski CAP yapılandırmasıyla uyumlu olmaya devam eder.
Örnek uygulama
AOSP, iş ortaklarının platformlarında CAP'yi uygulamasına yardımcı olmak için AIDL HAL ile CAP kullanan Cuttlefish sanal cihazının "otomotiv" sürümüne dair bir örnek sunar. Cihaza özel yapılandırma, device/google/cuttlefish/shared/auto/audio/policy/engine konumunda bulunur ve lunch
hedef adı aosp_cf_x86_64_auto
'dür. Android.bp
dosyası, CAP tedarikçi dosyalarının tamamını oluşturmak için referans olarak kullanılabilir.