AIDL Audio HAL

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

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

Audio AIDL HAL API

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

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

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

Основной уровень HAL

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

HAL эффектов

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

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

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

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

Подробнее о звуковых эффектах…

Общий уровень HAL

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

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

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

Как тестировать API Audio AIDL HAL

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

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