AIDL HAL'de yapılandırılabilir ses politikası desteği

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:

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.