Starting with Android 14, the Audio HAL interface is defined using Stable AIDL. Partners and SoC vendors are encouraged to reimplement their Audio HAL to provide an AIDL interface.

Extending the libaudiohal library adds framework support for AIDL HAL. With the AIDL implementation, the audio policy configuration specification is moved to AIDL HAL. With this change, the Audio Policy Manager (APM) gets the configuration from the HAL instead of consuming it from the vendor-provided XML file.


This section describes the Core, Effects, and Common HAL APIs for AIDL.

Use default implementation of the AIDL API at /hardware/interfaces/audio/aidl/default/ as a reference when implementing new versions of Audio HALs that interact with kernel drivers.

See the Audio HAL README file for the Audio HAL directory structure for AIDL.

Core HAL

Some of the key interfaces of Core HAL, using AIDL, are as follows:

Effects HAL

Some of the key interfaces of Effects HAL, using AIDL, are as follows:

See the Audio Effects for more information.

Common HAL

Data structures and interfaces shared between various HALs such as BT HAL, core and effects Audio HALs are in the Common HAL.

Common stable data types

Stable data structure definitions are used both by HALs and the framework.

Testing the Audio AIDL HAL API

New VTS tests are provided for the AIDL interface.

There are no changes in the new HAL version that can affect security.