AIDL Аудио HAL

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

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

Аудио AIDL HAL API

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

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

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

Core HAL

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

Эффекты HAL

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

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

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

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

Дополнительную информацию см. в разделе «Звуковые эффекты» .

Common HAL

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

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

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

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

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

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