1# Audio HAL 2 3Directory structure of the audio HAL related code. 4 5Run `common/all-versions/copyHAL.sh` to create a new version of the audio HAL 6based on an existing one. 7 8## Directory Structure 9 10* `2.0` — version 2.0 of the core HIDL API. Note that `.hal` files 11 can not be moved into the `core` directory because that would change 12 its namespace and include path. 13 - `config` — the XSD schema for the Audio Policy Manager 14 configuration file. 15* `4.0` — version 4.0 of the core HIDL API. 16* ... 17* `common` — common types for audio core and effect HIDL API. 18 - `2.0` — version 2.0 of the common types HIDL API. 19 - `4.0` — version 4.0. 20 - ... 21 - `7.0` — version 7.0. 22 - `example` — example implementation of the core and effect 23 V7.0 API. It represents a "fake" audio HAL that doesn't 24 actually communicate with hardware. 25 - `all-versions` — code common to all version of both core and effect API. 26 - `default` — shared code of the default implementation. 27 - `service` — vendor HAL service for hosting the default 28 implementation. 29 - `test` — utilities used by tests. 30 - `util` — utilities used by both implementation and tests. 31* `core` — VTS tests and the default implementation of the core API 32 (not HIDL API, it's in `audio/N.M`). 33 - `7.0` — code specific to version V7.0 of the core HIDL API 34 - `all-versions` — the code is common between all versions, 35 version-specific parts are enclosed into conditional directives 36 of preprocessor or reside in dedicated files. 37 - `default` — code that wraps the legacy API (from 38 `hardware/libhardware`). 39 - `util` — utilities for the default implementation. 40 - `vts` VTS tests for the core HIDL API. 41* `effect` — same for the effect HIDL API. 42 - `2.0` 43 - `config` — the XSD schema for the Audio Effects configuration file. 44 - `4.0` 45 - ... 46 - `all-versions` 47 - `default` — code that wraps the legacy API (from 48 `hardware/libhardware`). 49 - `util` — utilities for the default implementation. 50 - `vts` VTS tests for the effect HIDL API. 51* `policy` — Configurable Audio Policy schemes. 52 - `1.0` — note that versions of CAP are not linked to the versions 53 of audio HAL. 54 - `vts` — VTS tests for validating actual configuration files. 55 - `xml` — XSD schemas for CAP configuration files. 56