4bf6899cc7
Change audio worker threads priority to ..._URGENT_AUDIO to match the coupled thread in the audio flinger. Set SCHED_FIFO scheduler for FAST threads (also to match AF fast mixer/capture threads). In order to enable that, grand SYS_NICE capability to the HAL service process and provide "getTid" function in the StreamWorker class. For testing, add a "FAST" output to the "stub" module in the HAL configuration. Bug: 286914845 Test: atest libaudioaidlcommon_test Test: atest VtsHalAudioCoreTargetTest Test: adb shell ps -A -T -o PID,TID,NI,PCY,PRI,RTPRIO,SCHED,CMD for the HAL service process during VTS test. For regular "reader"/"writer" threads should see 'NI 19, PRI 38', for FAST "writer" should see 'NI -19, PRI 43, RTPRIO 3, SCH 1' Change-Id: Iab7e21ebc139ff11cf9b7f4a1645960db8dadd43 |
||
---|---|---|
.. | ||
2.0 | ||
4.0 | ||
5.0 | ||
6.0 | ||
7.0 | ||
7.1 | ||
aidl | ||
common | ||
core/all-versions | ||
effect | ||
policy/1.0 | ||
OWNERS | ||
README.md |
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 thecore
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 inaudio/N.M
).7.0
— code specific to version V7.0 of the core HIDL APIall-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 (fromhardware/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 (fromhardware/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.