AIDL Аудио HAL

Начиная с Android 14, интерфейс Audio HAL определяется с помощью Stable AIDL . Партнерам и поставщикам SoC рекомендуется повторно реализовать свой Audio HAL для предоставления интерфейса AIDL.

Расширение библиотеки libaudiohal добавляет поддержку фреймворка для AIDL HAL. С реализацией AIDL спецификация конфигурации политики звука перемещается в AIDL HAL. С этим изменением диспетчер политики звука (APM) получает конфигурацию из HAL вместо того, чтобы использовать ее из предоставленного поставщиком XML-файла.

Аудио AIDL HAL API

В этом разделе описываются основные API, эффекты и общие API HAL для AIDL.

Используйте реализацию API AIDL по умолчанию в /hardware/interfaces/audio/aidl/default/ в качестве справочного материала при реализации новых версий Audio HAL, взаимодействующих с драйверами ядра.

Структуру каталога Audio HAL для AIDL см. в файле Audio HAL README .

Ядро HAL

Некоторые из ключевых интерфейсов Core HAL , использующих AIDL, следующие:

Эффекты HAL

Ниже приведены некоторые ключевые интерфейсы Effects HAL, использующие AIDL:

  • IFactory.aidl — это точка входа в API.
  • Descriptor.aidl содержит всю информацию, такую ​​как возможности и атрибуты для реализации эффекта.
  • Capability.aidl определяет возможности эффектов, которые не изменяются во время выполнения.
  • Parameter.aidl определяет все параметры, поддерживаемые экземпляром эффекта.
  • IEffect.aidl используется для настройки и управления отдельными экземплярами эффектов.
  • Специфические для эффекта парцелляты, названные в честь эффекта.

  • Последняя версия API эффектов HAL , находящаяся в разработке, находится в /hardware/interfaces/audio/aidl/android/hardware/audio/effect/ .

  • Последняя выпущенная версия API эффектов HAL находится в /hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect .

Более подробную информацию смотрите в разделе Аудиоэффекты .

Общий HAL

Структуры данных и интерфейсы, общие для различных HAL, таких как BT HAL, ядро ​​и эффекты Audio HAL, находятся в общем HAL.

Распространенные стабильные типы данных

Определения стабильной структуры данных используются как HAL, так и фреймворком.

Тестирование API Audio AIDL HAL

Для интерфейса AIDL предусмотрены новые тесты VTS .

В новой версии HAL нет изменений, которые могли бы повлиять на безопасность.