AIDL Audio HAL

Ab Android 14 wird die Audio HAL-Schnittstelle mit Stable AIDL definiert. Partnern und SoC-Anbietern wird empfohlen, ihre Audio-HAL neu zu implementieren, um eine AIDL-Schnittstelle bereitzustellen.

Durch das Erweitern der libaudiohal-Bibliothek wird die Framework-Unterstützung für AIDL HAL hinzugefügt. Bei der AIDL-Implementierung wird die Konfigurationsspezifikation der Audiorichtlinie in die AIDL HAL verschoben. Durch diese Änderung erhält der Audio Policy Manager (APM) die Konfiguration von der HAL, anstatt sie aus der vom Anbieter bereitgestellten XML-Datei zu beziehen.

Audio AIDL HAL API

In diesem Abschnitt werden die Core-, Effects- und Common HAL APIs für AIDL beschrieben.

Verwenden Sie die Standardimplementierung der AIDL API unter /hardware/interfaces/audio/aidl/default/ als Referenz, wenn Sie neue Versionen von Audio-HALs implementieren, die mit Kerneltreibern interagieren.

Die Audio HAL-Verzeichnisstruktur für AIDL finden Sie in der README-Datei für die Audio HAL.

Core-HAL

Einige der wichtigsten Schnittstellen der Core HAL, die AIDL verwenden, sind:

HAL für Effekte

Im Folgenden sind einige der wichtigsten Schnittstellen von Effects HAL unter Verwendung von AIDL aufgeführt:

Weitere Informationen finden Sie unter Audioeffekte.

Gemeinsame HAL

Datenstrukturen und Schnittstellen, die von verschiedenen HALs gemeinsam genutzt werden, z. B. BT HAL, Kern- und Effekte-HALs, befinden sich im Common HAL.

Gängige stabile Datentypen

Stabile Datenstrukturdefinitionen werden sowohl von HALs als auch vom Framework verwendet.

Audio AIDL HAL API testen

Für die AIDL-Schnittstelle werden neue VTS-Tests bereitgestellt.

Die neue HAL-Version enthält keine Änderungen, die sich auf die Sicherheit auswirken können.