platform_hardware_interfaces/audio/README.md
Mikhail Naganov baf57fb136 audio: Add example HAL implementation
This is partial implementation of the example V7.0 audio HAL
which passes VTS tests. Note that the 'core' part
of the HAL (IDevice/IStream) isn't implemented yet.
It passes VTS because it doesn't provide any devices
(modules) and the audio HAL isn't the 'default' instance.

Bug: 142480271
Test: atest VtsHalAudioV7_0TargetTest
      atest VtsHalAudioEffectV7_0TargetTest
Change-Id: Ie3dd62c5db1cdb5534df4dd7f326c4c8776bf3c4
Merged-In: Ie3dd62c5db1cdb5534df4dd7f326c4c8776bf3c4
2020-11-21 01:15:39 +00:00

2.1 KiB

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).
      • 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
      • vts
  • 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.