Android 16'dan itibaren AIDL Audio HAL arayüzü, Yapılandırılabilir Ses Politikası'nı (CAP) tam olarak destekler.
Bu sayfada, iş ortaklarına ve SoC tedarikçi firmalarına ses politikası yapılandırmalarını taşıma konusunda yardımcı olmak için gerekli teknik bilgiler verilmektedir.
Parametre Çerçevesi
CAP'nin uygulanması Intel Parametre Çerçevesi'ne dayanır. CAP, Android 6'ta kullanıma sunulmuştur. Parametre Çerçevesi (PfW), bir sistemi parametreler açısından tanımlamanıza olanak tanır. PfW, bir yapılandırma XML dosyası kullanarak parametreleri eklentileri kullanarak işlemlere bağlar ve parametrelerin mevcut ölçütlere göre değiştirilmesiyle ilgili kurallar sağlar.
HIDL'deki CAP yapısı
HIDL'de, CAP'nin tüm yapılandırması XML olarak belirtilmiştir. Daha fazla bilgi için Parametre Çerçevesi ve Parametre Çerçevesi'ni kullanarak yapılandırma başlıklı makaleleri inceleyin. XML dosyaları aşağıdakileri belirtmek için kullanılıyordu:
- Parametrelerin yapısının açıklaması (yani, PfW için ses alanının açıklaması)
- Ölçütlerin tanımları
- Yönlendirme stratejileriyle ilgili kurallar (giriş ve çıkış cihazı seçimi)
- Hacim tabloları özellikleri
HIDL sayesinde Android çerçevesi bu XML dosyalarını doğrudan tedarikçi bölümden yükleyebildi. Bu XML dosyaları için HAL API'nin bir parçası olarak bir XSD şeması tanımlandığı için buna izin verildi. HIDL HAL'ın her ana sürümünde karşılık gelen bir XSD şeması vardı. Büyük sürümler geriye dönük uyumluluk gerektirmiyordu.
AIDL'deki CAP yapısı
AIDL'ye geçişle birlikte HAL API sürümleri geriye dönük uyumlu kalmalıdır (HIDL terimleriyle, AIDL HAL'in her sürümü "küçük" bir güncellemedir). Şemalara geriye dönük uyumlu güncellemeler tanımlamanın belirlenmiş bir yolu olmadığından XSD şemaları artık HAL API'leri kapsamında kullanılamaz. Bu nedenle, daha önce XML dosyalarında tanımlanan yapılandırmanın artık HAL tarafından AIDL API'leri kullanılarak sağlanması gerekiyor. Bu işlemi kolaylaştırmak için CAP yapılandırmasının yapısı, Android 15 için AIDL Audio HAL'deki ses politikası yapılandırma XML'lerine benzer şekilde AIDL'ye dönüştürülür.
CAP'nin veri yapıları Sık kullanılan kararlı veri türlerine eklenir ve aşağıdaki paketlenebilir öğeleri 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'in varsayılan uygulaması, iş ortakları için taşıma işlemini basitleştirmek amacıyla AIDL paketlenebilirlerini eski CAP XML dosyalarının içeriğine göre dolduran bir yardımcı sınıf içerir.
Taşıma senaryoları
İş ortakları, daha önce CAP kullanmayan bir ürünün ilk lansmanı mı yoksa mevcut bir ürünün taşınması mı olduğuna bağlı olarak bu bölümde listelenen seçenekleri değerlendirebilir.
Yeni ürün
Ses politikası uygulamak için CAP'yi kullanmaya başlayan yeni bir üründe OEM, CAP yapılandırmasını tedarikçi tarafında depolamak için XML'i kullanmayı seçebilir.
XML'i kullanmanın avantajı, üst düzey bir açıklamadan yapılandırmanın oluşturulmasını kolaylaştıran bir dizi komut dosyası aracı olmasıdır.
OEM, CAP yapılandırmasını tedarikçi bölümüne 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ı kullanmanız önerilir.
Mevcut ürün için güncelleme
Ürün zaten CAP kullanıyorsa ve dolayısıyla XML yapılandırmasına sahipse HAL'ın 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ılık gösterir. HIDL'de yerleşik ("eski") stratejiler media
gibi küçük harfli kısa adlar kullanırken AIDL'de yerleşik stratejiler STRATEGY_
önekiyle başlayan büyük harfli adlar (ör. STRATEGY_MEDIA
) kullanır. CapProductStrategies.xml
bölümünde yerleşik stratejilerin listesini inceleyin.
Aynı dosya, OEM'ye özgü stratejiler için "önceden ayrılmış" kimlikleri tanımlar. Bu kimlikler, 1000
ile 1039
arasındaki sayılarla vx_10xx
adlandırma kalıbını izler.
Eski ürün
CAP kullanan ürün tedarikçi bölümünü güncellemezse ve HIDL'de kalırsa sistem bölümünü Android 16'ya güncelleyebilirsiniz. Çerçeve, eski CAP yapılandırmasıyla uyumlu olmaya devam eder.
Örnek uygulama
İş ortaklarının platformları için CAP'yi uygulamalarına yardımcı olmak amacıyla AOSP'de, AIDL HAL ile CAP kullanan Cuttlefish sanal cihazının "otomotiv" çeşidi örneği bulunur. Cihaza özgü yapılandırma, aosp_cf_x86_64_auto
adlı lunch
hedef adıyla device/google/cuttlefish/shared/auto/audio/policy/engine adresinde bulunur. Android.bp
dosyası, CAP tedarikçi dosyası grubunun tamamını oluşturmak için referans olarak kullanılabilir.