platform_hardware_interfaces/audio
Mikhail Naganov a5273c760c Make audio*-base.h files autogenerated again
Major change: audio-base.h is generated from "core" types.hal,
new file audio_common-base.h is generated from "common" types.hal.

In order to be able to add system-only constants to generated
enums, the latter are made anonymous, values got "HAL_" prefix.
Then in system/audio.h a full enum is constructed.

Removed audio_drain_type_t from exported, as it belongs to
libhardware only.

Added missing enums that were introduced at the system side
only in Android R.

Bug: 122858783
Test: m
Change-Id: I8c017912395a03beacea077fd562fae2329ad975
2020-10-26 20:15:17 +00:00
..
2.0 update hidl .bp 2020-07-07 16:22:36 +09:00
4.0 Make android.hardware.renderscript@1.0 buildable for native_bridge 2020-07-08 21:20:03 +00:00
5.0 update hidl .bp 2020-07-07 16:22:36 +09:00
6.0 update hidl .bp 2020-07-07 16:22:36 +09:00
7.0 Make audio*-base.h files autogenerated again 2020-10-26 20:15:17 +00:00
common Make audio*-base.h files autogenerated again 2020-10-26 20:15:17 +00:00
core/all-versions Make audio*-base.h files autogenerated again 2020-10-26 20:15:17 +00:00
effect audio: Implement VTS tests for V7.0 2020-09-29 17:45:13 +00:00
policy/1.0 Remove vts10 reference vts_target_tests_defaults 2020-10-05 10:48:24 -07:00
README.md audio: Add example HAL implementation 2020-09-28 23:18:37 +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).
      • 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.