| # 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. |