The VTS test AudioEffectHidlTest#GetParameterInvalidMaxReplySize
should only run for new devices launching on T+ because
older vendor images do not have updated HAL default wrapper
code and thus will fail.
Bug: 237291425
Bug: 240932876
Test: atest VtsHalAudioEffectV7_0TargetTest:Equalizer_IEffect/AudioEffectHidlTest#GetParameterInvalidMaxReplySize/0_default
Change-Id: I1697155fe7781cbc96c1913e674699e299aa26b3
Replace 'platform_apis: true' with 'sdk_version: module_current'.
The former causes compiling against SDK source code,
this is not needed for the audio HAL.
Bug: 205884982
Test: m android.hardware.audio.service-aidl.example
Change-Id: I9b9c32707ac7276f5cd077681bd1f8122bc20feb
* changes:
audio: Implementation of audio I/O, part I
audio: Implement setting name and priority in StreamWorker
audio: Prevent priority inversions in aidl StreamWorker
audio: Add StreamWorker to aidl/common
This patch adds necessary structures and prepares for implementing
data flow for audio I/O.
Also in this patch we clarify the relationship between audio patches
and buffer size for audio I/O, and between buffer size and latency.
Bug: 205884982
Bug: 233816848
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I8522632607d4cf50a112225c19b5dd5ad8848591
Audio threads need to be able to set their priority.
Also, traditionally these worker threads set a custom
thread name. Implement this functionality in StreamWorker.
Since initialization steps can fail, implement simple
error reporting via a string field `mError`. The state
of the string field replaces the dedicated `ERROR` worker
state.
Bug: 205884982
Test: atest libaudioaidlcommon_test --iterations
Change-Id: Ie9ab94922d47f277a4993a90b478a2fa76657923
Avoid taking a lock in high priority worker threads
without a real need.
Bug: 205884982
Test: atest libaudioaidlcommon_test --iterations
Change-Id: I8cc0f5cb58752b7b7d413a9f4e46093c39445892
Do not rely on blocking behavior of 'IStreamOut.write',
instead use stream callbacks. Measure the time between
write start and drain complete. This makes the test
working reliably across different chipsets.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Test: atest VtsHalAudioV7_1TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Change-Id: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c
Merged-In: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c
(cherry picked from commit a0a5d4a9f6)
Update CompressedOffloadOutputStream to fail the test if
compressed offload mix port does not support gapless offload
for a new device launching on T+.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510
Merged-In: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510
(cherry picked from commit 1bc0dc4ceb)
Two changes that are necessary to test offloaded output:
1. Pass all mix port flags specified in the config to HAL when
opening an output stream. Previously the generator was
omitting the 'NON_BLOCKING' flag, however it is necessary
for offloaded output to work. This also now passes
the 'GAPLESS_OFFLOAD' flag to the stream opening call site.
2. Provide the DeviceAddress of the attached source/sink
device to tests that use mix ports. Some tests were looking
up the device address anyway. Also, HAL implementations
seem to prefer to have the actual output device instead
of 'DEFAULT' when opening offload streams.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Test: atest HalAudioV7_0GeneratorTest
Change-Id: I0482376ecc7d6964f45f508a80716ffab18044b4
Merged-In: I0482376ecc7d6964f45f508a80716ffab18044b4
(cherry picked from commit 713d2c5590)
Do not rely on blocking behavior of 'IStreamOut.write',
instead use stream callbacks. Measure the time between
write start and drain complete. This makes the test
working reliably across different chipsets.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Test: atest VtsHalAudioV7_1TargetTest:CompressedOffloadOutputStream/CompressedOffloadOutputStreamTest
Change-Id: I26fd4fd26914ed2a0b3273f4ae5512a87f9cca2c
Update CompressedOffloadOutputStream to fail the test if
compressed offload mix port does not support gapless offload
for a new device launching on T+.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510
By convention, the size of the resulting effect_param_t
can not exceed EFFECT_PARAM_SIZE_MAX. This checks needs
to be enforced when converting from HIDL arguments
into legacy C API structures.
Bug: 237291425
Test: atest VtsHalAudioEffectV7_0TargetTest
Change-Id: Ie92f62b002dc622fa8246139c3d956909670fdb6
The number of audio profile and extra audio descriptor must not be
greater than the maximum value.
Bug: 237288416
Bug: 237717857
Test: repo step in bug
Test: atest android.hardware.audio.common@7.0-util_tests
Change-Id: I1fcfa29d7841a1cb73bafb1ea92f3b1630992ae9
Merged-In: I1fcfa29d7841a1cb73bafb1ea92f3b1630992ae9
(cherry picked from commit 0ee75ca925)
The number of audio profile and extra audio descriptor must not be
greater than the maximum value.
Bug: 237288416
Bug: 237717857
Test: repo step in bug
Test: atest android.hardware.audio.common@7.0-util_tests
Change-Id: I1fcfa29d7841a1cb73bafb1ea92f3b1630992ae9
This utility class has been copied from HIDL VTS.
It will be used both for the default implementation
and AIDL VTS, and might need modifications.
Bug: 205884982
Test: atest libaudioaidlcommon_test
Change-Id: I43b35b0c23ae45305dca66e15b60820cad19635e
Two changes that are necessary to test offloaded output:
1. Pass all mix port flags specified in the config to HAL when
opening an output stream. Previously the generator was
omitting the 'NON_BLOCKING' flag, however it is necessary
for offloaded output to work. This also now passes
the 'GAPLESS_OFFLOAD' flag to the stream opening call site.
2. Provide the DeviceAddress of the attached source/sink
device to tests that use mix ports. Some tests were looking
up the device address anyway. Also, HAL implementations
seem to prefer to have the actual output device instead
of 'DEFAULT' when opening offload streams.
Bug: 219767875
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioV7_1TargetTest
Test: atest HalAudioV7_0GeneratorTest
Change-Id: I0482376ecc7d6964f45f508a80716ffab18044b4
- Add compressed offload mix port into default implementation.
- Require AudioOffloadInfo to be passed to IModule.openOutputStream
for compressed offload port configs.
- Update VTS to handle compressed offload.
Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I118b2c04bff12b64a7cac4dc2c88217a6a270046
- Make sure the AIDL default implementation has debug output enabled.
- Log additional info in the AIDL VTS to facilitate debugging.
- Make resource handler classes move-only types.
Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I111b72aaf12962f00b4d31b8ac87186bca5eb853
android.hardware.audio.core will need to use FMQ,
which does not support the C++ backend in the AIDL version.
Migrate VTS tests from the C++ backend to the NDK backend.
Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ia5d29126afdb4bb97dd063a032b96ab83b9ce36e
Some are still in VNDK because they are used in other VNDK libs.
Bug: 234181591
Test: m
Merged-In: If999df9c78a20df931177da11742b1c5de19bc08
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Merged-In: If999df9c78a20df931177da11742b1c5de19bc08
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08
(cherry picked from commit 5527adfd7f)
Some are still in VNDK because they are used in other VNDK libs.
Ignore-AOSP-First: some libs are still in internal master only.
Bug: 234181591
Test: m
Change-Id: If999df9c78a20df931177da11742b1c5de19bc08