For legacy HAL strings that are fixed size arrays
the conversion code was using the array size for
the HIDL string size. This lead to logging of error
messages during reverse conversion.
Fixed issue and refactored code to avoid duplication.
Bug: 181269159
Test: atest android.hardware.audio.effect@7.0-util_tests
also, verify that no error messages from EffectUtil
appear during boot and audio playback
Change-Id: Iac36ff33e65c502966ac2b7a4870cb5830545b23
Add missing OWNERS files for default implementation and
utilities code.
Remove krocard@, add ytai@ to ST HAL default implementations.
Test: N/A
Change-Id: I22734cd7382c0988d0c6001164deb775e9ae55c0
The use of fixed size char arrays was a direct copy
of the C structure approach. In HIDL, the canonical approach
is to use strings.
Bug: 181883090
Test: atest android.hardware.audio.effect@7.0-util_tests
Change-Id: I468810e07e5ba8b3bd6f03c5acfa24009ef2e48a
The default implementation switched to use the "enums"
module generated from the audio_policy_configuration.xsd schema.
This drops the dependency on libxml2 library and reduces
PSS and private dirty memory usage.
Bug: 180413957
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: If7c110cd2bd2698923957b39906a0896d18065dd
Add 'CoreUtils' library similar to 'HidlUtils' for the types
specific to the core HAL. Add 'EffectUtils' library similar to
'HidlUtils' for the types specific to the effects HAL. Move into
them and de-duplicate code previously scattered across the
default HAL implementation and libaudiohal. Add unit tests.
Removed 'AUDIO_{INPUT|OUTPUT}_FLAG_NONE' from the list of
values in the XSD file to avoid additional complexity due to
equivalence of this value to an empty list of flags.
Bug: 142480271
Test: m android.hardware.audio@X.0-impl
Test: m android.hardware.audio.effect@X.0-impl
Test: atest android.hardware.audio@7.0-util_tests
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest android.hardware.audio.effect@7.0-util_tests
Change-Id: I71a95cbe07fcc162dc6d74ff9665747a17ce5a80
Merged-In: I71a95cbe07fcc162dc6d74ff9665747a17ce5a80
HAL V7 types were updated to better match data structure
definitions from the legacy HAL:
- Added 'AudioConfigBaseOptional' struct to match
legacy structs that have 'mask' field to specify
initialized fields.
- All fields in 'AudioConfigBase' made mandatory.
- Removed 'EffectConfigParameters' in favor of
'AudioConfigBaseOptional' and safe_unions.
- Added missing enum string values to ensure that round-trip
conversions from the legacy HAL to HIDL and back to legacy
preserve enum values.
Bug: 142480271
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioEffectV7_0TargetTest
Change-Id: If02a81b3f6790a8eb315fa57123141aad2419132
During this conversion, the functionality of the V7 wrapper
hasn't been tested yet. This will be done in a separate CL
that will also include required updates to the VTS tests.
Since the changes were made to the code shared with pre-V7
versions, verified that V6 HAL didn't regress.
Bug: 142480271
Test: atest VtsHalAudioEffectV6_0TargetTest
Test: m VtsHalAudioEffectV7_0TargetTest
Test: m android.hardware.audio@7.0-service.example
Change-Id: I72389c8d564596bef22b47dfdcb2e77d636ef0a3
Merged-In: I72389c8d564596bef22b47dfdcb2e77d636ef0a3
Converted comments into docstrings for enums and structures
in Audio HAL V7 definition.
Bug: 142480271
Test: m
Change-Id: Id5e36e7a42e2600ab69612819f8260110871c711
Merged-In: Id5e36e7a42e2600ab69612819f8260110871c711
Mechanical extraction of HidlUtils::uuidFrom/ToHal into
a dedicated class UuidUtils.
Bug: 142480271
Test: m
Change-Id: Ic5333ba32dc293f32c5562d0ef05bde8e5f9b302
Merged-In: Ic5333ba32dc293f32c5562d0ef05bde8e5f9b302
- Changed package to use android. prefix
- Added nullability flag to xsd_config
Bug: 171572311
Test: built and atest VtsHalAudioEffectV7_0TargetTest
VtsHalAudioEffectV7_0TargetTest VtsHalAudioEffectV4_0TargetTest
VtsAidlHalAudioControlTest
Change-Id: I9ac83a98256404313b5efef17c0a164d2ee72136
Merged-In: I9ac83a98256404313b5efef17c0a164d2ee72136
The major change in V7.0 is use of enum values defined
in the Audio Policy Configuration XSD schema. This allows
decoupling types used at the HIDL layer from system/audio.h.
Added a header audio_policy_configuration_V7_0-enums.h
with utility functions analogous to ones from system/audio.h
but defined for the types generated from XSD schema.
Since the code of VTS tests is shared between versions,
ensured that the VTS tests for the previous HAL versions
didn't regress.
Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
atest VtsHalAudioEffectV6_0TargetTest
atest VtsHalAudioV7_0TargetTest
atest VtsHalAudioEffectV7_0TargetTest
Change-Id: Ia7c2d49a02783725080c8fed6a25853e91bba487
Merged-In: Ia7c2d49a02783725080c8fed6a25853e91bba487
Update channel mask and SR lists to conform to XSD.
Added a script for converting existing APM XML files.
Bug: 142480271
Test: m
Change-Id: I986b9bccdade5fa850b06b033143388715a656af
Merged-In: I986b9bccdade5fa850b06b033143388715a656af
Add target for the library with code generated by xsdc.
Temporarily disable default implementation and VTS targets.
Bug: 142480271
Test: m
Change-Id: I6c891893398617a36f4748f185e189064ba4d4ee
Merged-In: I6c891893398617a36f4748f185e189064ba4d4ee
This is an automated copy performed using copyHAL.sh script.
Bug: 142480271
Test: m
Change-Id: Ifd91cc0bb59608cd92d1d8e4e76c3abea0a8da5e
Merged-In: Ifd91cc0bb59608cd92d1d8e4e76c3abea0a8da5e
GTest has introduced a check verifying that the parameter list
for TEST_P tests isn't empty. Having an empty parameter list
isn't actually a problem when the VTS test runs on a device
that lacks the corresponding HAL version.
Bug: 161758075
Test: atest VtsHalAudioV4_0TargetTest
Test: atest VtsHalAudioV5_0TargetTest
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioEffectV4_0TargetTest
Test: atest VtsHalAudioEffectV5_0TargetTest
Test: atest VtsHalAudioEffectV6_0TargetTest
Change-Id: Ib2a017b74f69b1608d8985f403e9b2a8e54b8311
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.
.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.
Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.
Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.
.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.
Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.
Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
The list of possible paths for the audio configuration
files is now retrieved using audio_get_configuration_paths()
function. All duplicated lists of known configuration
directories have been removed.
Bug: 153680356
Test: atest VtsHalAudioV5_0TargetTest \
VtsHalAudioPolicyV1_0TargetTest \
VtsHalAudioEffectV5_0TargetTest
Change-Id: I1e40fdf8d6e3a5ac339f7f138f62063bb87bd3da
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.
Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
Due to incorrect assumptions about test case inheritance
in GTests, LoudnessEnhancerEffect wasn't running tests
for methods of IEffect interface. The test code has been
restructured to fix that via proper parametrization.
Bug: 146149801
Test: atest VtsHalAudioEffectV5_0TargetTest
Test: atest VtsHalAudioEffectV6_0TargetTest
Change-Id: Ie366979880bfc3b7e95a02957451736d724f838f
In vts-core a test suite for version N can be called for HAL
of version M. Since in the case of the Effects HAL the XSD
configuration for the effects is version-dependent, the test
must not validate the effects config using XSD file for other
version. Thus, the configuration validity check must be skipped
if no corresponding version of IEffectsFactory is found
on the device.
Bug: 142397658
Bug: 146015418
Test: atest VtsHalAudioEffectV6_0TargetTest
on a device that uses earlier version of Audio HAL;
CheckConfig#audioEffectsConfigurationValidation must
be IGNORED
Change-Id: I4b34cc34091447c04bf8d3e988c9bd4048dc8ef9
There was a mistake in the XSD file introduced in aosp/1201850.
Bug: 148979886
Test: atest VtsHalAudioEffectV6_0TargetTest
Change-Id: I02f869031e0d4687d6e099fa5d4593d4b5cc8243
This CL updates the schemas of Audio Effect Configuration to support
device effects.
Bug: 136294538
Test: build
Change-Id: I5bd72e9e5a6889000b91c78a25e46f6b26744c20
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
Add the possibility to specify a target audio device when
creating an audio effect by passing its audio port handle
to createEffect API.
To attach an effect to a device, the framework will use
session ID AudioSessionConsts.DEVICE and provide a valid
AudioPortHandle as device ID.
Bug: 136294538
Test: make
Change-Id: Ic697eeafbd5df6800ad4c7fd9e0698e3d8e3beae
Merged-In: Ic697eeafbd5df6800ad4c7fd9e0698e3d8e3beae
New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.
The audio stream has own volume alias and the volume
does not change by volume changes of other streams.
Bug: 123745215
Test: make
Change-Id: I3696d8fba32070954cc6a330574af8507fea7a74
Merged-In: I3696d8fba32070954cc6a330574af8507fea7a74
Convert VtsHalAudioEffectV*_0TargetTest to be parameterized test
and add it to vts-core
Bug: 142397658
Bug: 146104851
Bug: 146015418
Test: $atest VtsHalAudioEffectV2_0TargetTest
$atest VtsHalAudioEffectV4_0TargetTest
$atest VtsHalAudioEffectV5_0TargetTest
$atest VtsHalAudioEffectV6_0TargetTest
Change-Id: I3e9297f7c0a0453b04721f6af8998a18043f5815
New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.
The audio stream has own volume alias and the volume
does not change by volume changes of other streams.
Bug: 123745215
Test: make
Change-Id: I3696d8fba32070954cc6a330574af8507fea7a74
Add the possibility to specify a target audio device when
creating an audio effect by passing its audio port handle
to createEffect API.
To attach an effect to a device, the framework will use
session ID AudioSessionConsts.DEVICE and provide a valid
AudioPortHandle as device ID.
Bug: 136294538
Test: make
Change-Id: Ic697eeafbd5df6800ad4c7fd9e0698e3d8e3beae
Effect::close in V6 releases the underlying HAL effect.
It was not removing the effect entry from the effects
map, thus a call to Stream::removeEffect was retrieving
a stale handle.
Bug: 145656878
Test: start and stop recording for VOICE_COMMUNICATION
Change-Id: I47f486d3b6b4b0dc29acd1e3a2093e421b28d90b
This is to prevent OOB write in case when a sufficiently
large HIDL vector is provided via a HwBinder call.
Bug: 143787559
Test: atest VtsHalAudioEffectV5_0TargetTest
Change-Id: I6ea78804a5a3ed7a245929d3de47580b12c0da9a