platform_hardware_interfaces/audio
Mikhail Naganov e6214078ba audio VTS: Fix HAL device management
Straighten out logic in DeviceManager for proper handling
of IPrimaryDevice and IDevice instances across all supported
HAL versions.

This fixes a recently introduced bug which was causing
the same HAL device to be opened twice in a row, and then closed
twice.

Bug: 218610286
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I415cbadae9d325ac63160e49e5e638906c8c63fd
(cherry picked from commit 285c0a041c)
Merged-In: I415cbadae9d325ac63160e49e5e638906c8c63fd
2022-02-12 00:35:19 +00:00
..
2.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
4.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
5.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
6.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
7.0 audio: Fix parsing of arguments in the APM config update script am: b9e244dfc7 am: 188d6412b0 2021-06-11 22:06:36 +00:00
7.1 Make AUDIO_USAGE_NOTIFICATION_EVENT available to HALs 2022-02-12 00:03:49 +00:00
aidl Adding bluetooth apex and min_sdk_version 2022-02-03 14:15:22 -08:00
common Make AUDIO_USAGE_NOTIFICATION_EVENT available to HALs 2022-02-12 00:03:49 +00:00
core/all-versions audio VTS: Fix HAL device management 2022-02-12 00:35:19 +00:00
effect Audio HAL V7.1: Update VTS 2022-02-05 00:44:59 +00:00
policy/1.0 Backfill owner information for VTS module VtsHalAudioPolicyV1_0TargetTest. 2021-08-30 12:57:10 -07:00
README.md audio: Create libraries for data types in core and effect 2021-02-03 01:28:38 +00:00

Audio HAL

Directory structure of the audio HAL related code.

Run common/all-versions/copyHAL.sh to create a new version of the audio HAL based on an existing one.

Directory Structure

  • 2.0 — version 2.0 of the core HIDL API. Note that .hal files can not be moved into the core directory because that would change its namespace and include path.
    • config — the XSD schema for the Audio Policy Manager configuration file.
  • 4.0 — version 4.0 of the core HIDL API.
  • ...
  • common — common types for audio core and effect HIDL API.
    • 2.0 — version 2.0 of the common types HIDL API.
    • 4.0 — version 4.0.
    • ...
    • 7.0 — version 7.0.
      • example — example implementation of the core and effect V7.0 API. It represents a "fake" audio HAL that doesn't actually communicate with hardware.
    • all-versions — code common to all version of both core and effect API.
      • default — shared code of the default implementation.
        • service — vendor HAL service for hosting the default implementation.
      • test — utilities used by tests.
      • util — utilities used by both implementation and tests.
  • core — VTS tests and the default implementation of the core API (not HIDL API, it's in audio/N.M).
    • 7.0 — code specific to version V7.0 of the core HIDL API
    • all-versions — the code is common between all versions, version-specific parts are enclosed into conditional directives of preprocessor or reside in dedicated files.
      • default — code that wraps the legacy API (from hardware/libhardware).
        • util — utilities for the default implementation.
      • vts VTS tests for the core HIDL API.
  • effect — same for the effect HIDL API.
    • 2.0
      • config — the XSD schema for the Audio Effects configuration file.
    • 4.0
    • ...
    • all-versions
      • default — code that wraps the legacy API (from hardware/libhardware).
        • util — utilities for the default implementation.
      • vts VTS tests for the effect HIDL API.
  • policy — Configurable Audio Policy schemes.
    • 1.0 — note that versions of CAP are not linked to the versions of audio HAL.
      • vts — VTS tests for validating actual configuration files.
      • xml — XSD schemas for CAP configuration files.