Age | Commit message (Collapse) | Author |
|
Add CAP_SYS_NICE.
Allow util_clamp_min for Spatializer Effect worker thread.
Reduce glitches caused by core migration.
Reduce power consumption as Spatializer Effect is DSP compute bound.
This change only affects Spatial Audio Effect processing.
Test: instrumented
Test: adb shell 'uclampset -a -p $(pgrep -of android.hardware.audio.service)'
Test: adb shell cat "/proc/$(adb shell pgrep -of android.hardware.audio.service)/status"
Test: adb shell 'ps -Tl -p $(pgrep -of android.hardware.audio.service)'
Bug: 181148259
Bug: 260918856
Bug: 261228892
Bug: 261686532
Bug: 262803152
Change-Id: I59ea99e8a1720f61954747f6c29e14cfea9a0f56
|
|
Use setMinSchedulerPolicy to enforce minimum thread priority
when accessing the audio HAL to ANDROID_PRIORITY_AUDIO
Test: instrumented
Bug: 261496726
Change-Id: I700b04d3060e9405b1445206882a6131cea0d045
|
|
Use 'gtid' as the command, returns the worker
thread tid.
Test: see bug
Bug: 253276925
Change-Id: Ia4fa129c62cf6df97821c34876b517944bc5322f
|
|
The size of the feature config needs to be limited
by the Binder transaction size. This check is enforced
before calling into legacy C API.
Also, fixed invalid calculation of buffer size
in Effect::getSupportedConfigsImpl.
Bug: 240266798
Test: atest VtsHalAudioEffectV7_0TargetTest
Change-Id: I1a1f7931a07e28642967fa68d9a358429138db29
|
|
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
|
|
Required for Spatializer tuning.
Test: adb shell dumpsys media.audio_flinger
Bug: 228862341
Change-Id: I59f3b35c9cdd1e45e9afc79cbf9aac30a5decd67
|
|
Mechanical updates from global greps. Updated test code
to use new methods from V7.1.
Added missing checks for null pointers in
PcmOnlyConfig...StreamTest::releasePatchIfNeeded for V7.
Bug: 214426419
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: Id3a99993bf2ee0c87d44f668d759f7c10db9a435
|
|
Split versions of "common" and "core" types from
the version of the interfaces. "Common" and "core"
versions are set to 7.0.
Implemented new methods of V7.1 interfaces.
Bug: 214426419
Test: m android.hardware.audio@7.1-impl
Test: m android.hardware.audio@7.0-impl
Test: m android.hardware.audio.effect@7.0-impl
Test: m android.hardware.audio@6.0-impl
Change-Id: Ic4c44d4ac9bbfa7b62695866b9aa7473658390b2
|
|
Test: compiles
Bug: 189371870
Change-Id: Ic96bbb0c370883866fac731ef5e6941c1994c7c6
|
|
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
|
|
Added SPDX-license-identifier-Apache-2.0 to:
atrace/1.0/Android.bp
atrace/1.0/default/Android.bp
atrace/1.0/vts/functional/Android.bp
audio/2.0/Android.bp
audio/2.0/config/Android.bp
audio/4.0/Android.bp
audio/4.0/config/Android.bp
audio/5.0/Android.bp
audio/5.0/config/Android.bp
audio/6.0/Android.bp
audio/6.0/config/Android.bp
audio/7.0/Android.bp
audio/7.0/config/Android.bp
audio/common/2.0/Android.bp
audio/common/4.0/Android.bp
audio/common/5.0/Android.bp
audio/common/6.0/Android.bp
audio/common/7.0/Android.bp
audio/common/7.0/example/Android.bp
audio/common/all-versions/default/Android.bp
audio/common/all-versions/default/service/Android.bp
audio/common/all-versions/test/utility/Android.bp
audio/common/all-versions/util/Android.bp
audio/core/all-versions/default/Android.bp
audio/core/all-versions/default/util/Android.bp
audio/core/all-versions/vts/functional/Android.bp
audio/effect/2.0/Android.bp
audio/effect/2.0/xml/Android.bp
audio/effect/4.0/Android.bp
audio/effect/4.0/xml/Android.bp
audio/effect/5.0/Android.bp
audio/effect/5.0/xml/Android.bp
audio/effect/6.0/Android.bp
audio/effect/6.0/xml/Android.bp
audio/effect/7.0/Android.bp
audio/effect/7.0/xml/Android.bp
audio/effect/all-versions/default/Android.bp
audio/effect/all-versions/default/util/Android.bp
audio/effect/all-versions/vts/functional/Android.bp
audio/policy/1.0/vts/functional/Android.bp
audio/policy/1.0/xml/Android.bp
audio/policy/1.0/xml/pfw_schemas/Android.bp
authsecret/1.0/Android.bp
authsecret/1.0/default/Android.bp
authsecret/1.0/vts/functional/Android.bp
authsecret/aidl/Android.bp
authsecret/aidl/default/Android.bp
authsecret/aidl/vts/Android.bp
automotive/audiocontrol/1.0/Android.bp
automotive/audiocontrol/1.0/default/Android.bp
automotive/audiocontrol/1.0/vts/functional/Android.bp
automotive/audiocontrol/2.0/Android.bp
automotive/audiocontrol/2.0/default/Android.bp
automotive/audiocontrol/2.0/vts/functional/Android.bp
automotive/can/1.0/default/libnetdevice/Android.bp
automotive/can/1.0/hidl-utils/Android.bp
automotive/can/1.0/tools/Android.bp
automotive/can/1.0/tools/configurator/Android.bp
automotive/can/1.0/tools/configurator/proto/Android.bp
automotive/can/1.0/tools/libcanhaltools/Android.bp
automotive/can/1.0/vts/functional/Android.bp
automotive/can/1.0/vts/utils/Android.bp
automotive/evs/1.0/Android.bp
automotive/evs/1.0/default/Android.bp
automotive/evs/1.0/vts/functional/Android.bp
automotive/evs/1.1/Android.bp
automotive/evs/1.1/default/Android.bp
automotive/evs/1.1/vts/functional/Android.bp
automotive/evs/1.1/vts/fuzzing/Android.bp
automotive/evs/common/utils/default/Android.bp
automotive/evs/common/utils/default/test/fuzz/Android.bp
automotive/occupant_awareness/aidl/Android.bp
automotive/occupant_awareness/aidl/default/Android.bp
automotive/occupant_awareness/aidl/mock/Android.bp
automotive/occupant_awareness/aidl/vts/functional/Android.bp
automotive/sv/1.0/Android.bp
automotive/sv/1.0/default/Android.bp
automotive/sv/1.0/vts/functional/Android.bp
automotive/vehicle/2.0/Android.bp
automotive/vehicle/2.0/default/Android.bp
automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp
automotive/vehicle/2.0/utils/Android.bp
biometrics/face/1.0/Android.bp
biometrics/face/1.0/default/Android.bp
biometrics/face/1.0/vts/functional/Android.bp
biometrics/fingerprint/2.1/Android.bp
biometrics/fingerprint/2.1/default/Android.bp
biometrics/fingerprint/2.1/vts/functional/Android.bp
biometrics/fingerprint/2.2/Android.bp
biometrics/fingerprint/2.2/vts/functional/Android.bp
bluetooth/1.0/Android.bp
bluetooth/1.0/default/Android.bp
bluetooth/1.0/vts/functional/Android.bp
bluetooth/1.1/Android.bp
bluetooth/1.1/default/Android.bp
bluetooth/1.1/vts/functional/Android.bp
bluetooth/a2dp/1.0/Android.bp
bluetooth/a2dp/1.0/default/Android.bp
bluetooth/a2dp/1.0/vts/functional/Android.bp
bluetooth/audio/2.0/Android.bp
bluetooth/audio/2.0/default/Android.bp
bluetooth/audio/2.0/vts/functional/Android.bp
bluetooth/audio/2.1/Android.bp
bluetooth/audio/2.1/default/Android.bp
bluetooth/audio/2.1/vts/functional/Android.bp
bluetooth/audio/utils/Android.bp
boot/1.0/Android.bp
boot/1.0/default/Android.bp
boot/1.0/vts/functional/Android.bp
boot/1.1/Android.bp
boot/1.1/default/Android.bp
boot/1.1/default/boot_control/Android.bp
boot/1.1/vts/functional/Android.bp
boot/1.2/Android.bp
boot/1.2/default/Android.bp
boot/1.2/vts/functional/Android.bp
broadcastradio/1.0/Android.bp
broadcastradio/1.0/default/Android.bp
broadcastradio/1.0/vts/functional/Android.bp
broadcastradio/1.1/Android.bp
broadcastradio/1.1/default/Android.bp
broadcastradio/1.1/vts/functional/Android.bp
broadcastradio/2.0/Android.bp
broadcastradio/2.0/default/Android.bp
broadcastradio/2.0/vts/functional/Android.bp
broadcastradio/common/tests/Android.bp
broadcastradio/common/utils/Android.bp
broadcastradio/common/utils1x/Android.bp
broadcastradio/common/utils2x/Android.bp
broadcastradio/common/vts/utils/Android.bp
camera/common/1.0/Android.bp
camera/common/1.0/default/Android.bp
camera/device/1.0/Android.bp
camera/device/1.0/default/Android.bp
camera/device/3.2/Android.bp
camera/device/3.2/default/Android.bp
camera/device/3.3/Android.bp
camera/device/3.3/default/Android.bp
camera/device/3.4/Android.bp
camera/device/3.4/default/Android.bp
camera/device/3.5/Android.bp
camera/device/3.5/default/Android.bp
camera/device/3.6/Android.bp
camera/device/3.6/default/Android.bp
camera/metadata/3.2/Android.bp
camera/metadata/3.3/Android.bp
camera/metadata/3.4/Android.bp
camera/metadata/3.5/Android.bp
camera/provider/2.4/Android.bp
camera/provider/2.4/default/Android.bp
camera/provider/2.4/vts/functional/Android.bp
camera/provider/2.5/Android.bp
camera/provider/2.5/default/Android.bp
camera/provider/2.6/Android.bp
cas/1.0/Android.bp
cas/1.0/default/Android.bp
cas/1.0/vts/functional/Android.bp
cas/1.1/Android.bp
cas/1.1/default/Android.bp
cas/1.1/vts/functional/Android.bp
cas/1.2/Android.bp
cas/1.2/default/Android.bp
cas/1.2/vts/functional/Android.bp
cas/native/1.0/Android.bp
common/aidl/Android.bp
common/fmq/aidl/Android.bp
common/support/Android.bp
compatibility_matrices/Android.bp
compatibility_matrices/Android.mk
compatibility_matrices/build/Android.bp
compatibility_matrices/exclude/Android.bp
configstore/1.0/Android.bp
configstore/1.0/vts/functional/Android.bp
configstore/1.1/Android.bp
configstore/1.1/default/Android.mk
configstore/utils/Android.bp
confirmationui/1.0/Android.bp
confirmationui/1.0/default/Android.bp
confirmationui/1.0/vts/functional/Android.bp
confirmationui/support/Android.bp
contexthub/1.0/Android.bp
contexthub/1.0/default/Android.bp
contexthub/1.0/vts/functional/Android.bp
contexthub/1.1/Android.bp
contexthub/1.1/default/Android.bp
contexthub/1.1/vts/functional/Android.bp
contexthub/common/vts/Android.bp
drm/1.0/Android.bp
drm/1.0/default/Android.bp
drm/1.0/vts/functional/Android.bp
drm/1.1/Android.bp
drm/1.1/vts/functional/Android.bp
drm/1.2/Android.bp
drm/1.2/vts/functional/Android.bp
drm/1.3/Android.bp
drm/1.3/vts/functional/Android.bp
dumpstate/1.0/Android.bp
dumpstate/1.0/default/Android.bp
dumpstate/1.0/vts/functional/Android.bp
dumpstate/1.1/Android.bp
dumpstate/1.1/default/Android.bp
dumpstate/1.1/vts/functional/Android.bp
fastboot/1.0/Android.bp
fastboot/1.0/default/Android.bp
fastboot/1.1/Android.bp
fastboot/1.1/default/Android.bp
gatekeeper/1.0/Android.bp
gatekeeper/1.0/default/Android.bp
gatekeeper/1.0/software/Android.bp
gatekeeper/1.0/software/tests/Android.bp
gatekeeper/1.0/vts/functional/Android.bp
gnss/1.0/Android.bp
gnss/1.0/default/Android.bp
gnss/1.0/vts/functional/Android.bp
gnss/1.1/Android.bp
gnss/1.1/default/Android.bp
gnss/1.1/vts/functional/Android.bp
gnss/2.0/Android.bp
gnss/2.0/default/Android.bp
gnss/2.0/vts/functional/Android.bp
gnss/2.1/Android.bp
gnss/2.1/default/Android.bp
gnss/2.1/vts/functional/Android.bp
gnss/common/utils/default/Android.bp
gnss/common/utils/vts/Android.bp
gnss/measurement_corrections/1.0/Android.bp
gnss/measurement_corrections/1.1/Android.bp
gnss/visibility_control/1.0/Android.bp
graphics/allocator/2.0/Android.bp
graphics/allocator/2.0/default/Android.bp
graphics/allocator/2.0/utils/gralloc1-adapter/Android.bp
graphics/allocator/2.0/utils/hal/Android.bp
graphics/allocator/2.0/utils/passthrough/Android.bp
graphics/allocator/3.0/Android.bp
graphics/allocator/4.0/Android.bp
graphics/bufferqueue/1.0/Android.bp
graphics/bufferqueue/2.0/Android.bp
graphics/common/1.0/Android.bp
graphics/common/1.1/Android.bp
graphics/common/1.2/Android.bp
graphics/common/aidl/Android.bp
graphics/composer/2.1/Android.bp
graphics/composer/2.1/default/Android.bp
graphics/composer/2.1/utils/command-buffer/Android.bp
graphics/composer/2.1/utils/hal/Android.bp
graphics/composer/2.1/utils/hwc2on1adapter/Android.bp
graphics/composer/2.1/utils/hwc2onfbadapter/Android.bp
graphics/composer/2.1/utils/passthrough/Android.bp
graphics/composer/2.1/utils/resources/Android.bp
graphics/composer/2.1/utils/vts/Android.bp
graphics/composer/2.1/vts/functional/Android.bp
graphics/composer/2.2/Android.bp
graphics/composer/2.2/default/Android.mk
graphics/composer/2.2/utils/command-buffer/Android.bp
graphics/composer/2.2/utils/hal/Android.bp
graphics/composer/2.2/utils/passthrough/Android.bp
graphics/composer/2.2/utils/resources/Android.bp
graphics/composer/2.2/utils/vts/Android.bp
graphics/composer/2.2/vts/functional/Android.bp
graphics/composer/2.3/Android.bp
graphics/composer/2.3/default/Android.bp
graphics/composer/2.3/utils/command-buffer/Android.bp
graphics/composer/2.3/utils/hal/Android.bp
graphics/composer/2.3/utils/passthrough/Android.bp
graphics/composer/2.3/utils/vts/Android.bp
graphics/composer/2.3/vts/functional/Android.bp
graphics/composer/2.4/Android.bp
graphics/composer/2.4/default/Android.bp
graphics/composer/2.4/utils/command-buffer/Android.bp
graphics/composer/2.4/utils/hal/Android.bp
graphics/composer/2.4/utils/passthrough/Android.bp
graphics/composer/2.4/utils/vts/Android.bp
graphics/composer/2.4/vts/functional/Android.bp
graphics/mapper/2.0/Android.bp
graphics/mapper/2.0/default/Android.bp
graphics/mapper/2.0/utils/hal/Android.bp
graphics/mapper/2.0/utils/passthrough/Android.bp
graphics/mapper/2.0/utils/vts/Android.bp
graphics/mapper/2.0/vts/functional/Android.bp
graphics/mapper/2.1/Android.bp
graphics/mapper/2.1/default/Android.bp
graphics/mapper/2.1/utils/hal/Android.bp
graphics/mapper/2.1/utils/passthrough/Android.bp
graphics/mapper/2.1/utils/vts/Android.bp
graphics/mapper/2.1/vts/functional/Android.bp
graphics/mapper/3.0/Android.bp
graphics/mapper/3.0/utils/vts/Android.bp
graphics/mapper/3.0/vts/functional/Android.bp
graphics/mapper/4.0/Android.bp
graphics/mapper/4.0/utils/vts/Android.bp
graphics/mapper/4.0/vts/functional/Android.bp
health/1.0/Android.bp
health/1.0/default/Android.bp
health/2.0/Android.bp
health/2.0/default/Android.bp
health/2.0/utils/libhealthhalutils/Android.bp
health/2.0/utils/libhealthservice/Android.bp
health/2.0/utils/libhealthstoragedefault/Android.bp
health/2.0/vts/functional/Android.bp
health/2.1/Android.bp
health/2.1/default/Android.bp
health/2.1/vts/functional/Android.bp
health/storage/1.0/Android.bp
health/storage/1.0/default/Android.bp
health/storage/1.0/vts/functional/Android.bp
health/storage/aidl/Android.bp
health/storage/aidl/default/Android.bp
health/storage/aidl/vts/functional/Android.bp
health/storage/impl_common/Android.bp
health/storage/test_common/Android.bp
health/utils/libhealth2impl/Android.bp
health/utils/libhealthloop/Android.bp
identity/aidl/Android.bp
identity/aidl/default/Android.bp
identity/aidl/vts/Android.bp
identity/support/Android.bp
input/classifier/1.0/Android.bp
input/classifier/1.0/default/Android.bp
input/classifier/1.0/vts/functional/Android.bp
input/common/1.0/Android.bp
ir/1.0/Android.bp
ir/1.0/default/Android.bp
ir/1.0/vts/functional/Android.bp
keymaster/3.0/Android.bp
keymaster/3.0/default/Android.mk
keymaster/3.0/vts/functional/Android.bp
keymaster/4.0/Android.bp
keymaster/4.0/default/Android.bp
keymaster/4.0/support/Android.bp
keymaster/4.0/vts/functional/Android.bp
keymaster/4.0/vts/performance/Android.bp
keymaster/4.1/Android.bp
keymaster/4.1/default/Android.bp
keymaster/4.1/support/Android.bp
keymaster/4.1/vts/functional/Android.bp
keymaster/aidl/Android.bp
light/2.0/Android.bp
light/2.0/default/Android.bp
light/2.0/vts/functional/Android.bp
light/aidl/Android.bp
light/aidl/default/Android.bp
light/aidl/vts/functional/Android.bp
light/utils/Android.bp
media/1.0/Android.bp
media/1.0/xml/Android.mk
media/Android.bp
media/bufferpool/1.0/Android.bp
media/bufferpool/2.0/Android.bp
media/c2/1.0/Android.bp
media/c2/1.1/Android.bp
media/omx/1.0/Android.bp
media/omx/1.0/vts/functional/audio/Android.bp
media/omx/1.0/vts/functional/common/Android.bp
media/omx/1.0/vts/functional/component/Android.bp
media/omx/1.0/vts/functional/store/Android.bp
media/omx/1.0/vts/functional/video/Android.bp
memtrack/1.0/Android.bp
memtrack/1.0/default/Android.bp
memtrack/1.0/vts/functional/Android.bp
memtrack/aidl/Android.bp
memtrack/aidl/default/Android.bp
memtrack/aidl/vts/Android.bp
neuralnetworks/1.0/Android.bp
neuralnetworks/1.0/utils/Android.bp
neuralnetworks/1.0/vts/functional/Android.bp
neuralnetworks/1.1/Android.bp
neuralnetworks/1.1/utils/Android.bp
neuralnetworks/1.1/vts/functional/Android.bp
neuralnetworks/1.2/Android.bp
neuralnetworks/1.2/utils/Android.bp
neuralnetworks/1.2/vts/functional/Android.bp
neuralnetworks/1.3/Android.bp
neuralnetworks/1.3/utils/Android.bp
neuralnetworks/1.3/vts/functional/Android.bp
neuralnetworks/aidl/Android.bp
neuralnetworks/aidl/utils/Android.bp
neuralnetworks/aidl/vts/functional/Android.bp
neuralnetworks/utils/common/Android.bp
neuralnetworks/utils/service/Android.bp
nfc/1.0/Android.bp
nfc/1.0/default/Android.bp
nfc/1.0/vts/functional/Android.bp
nfc/1.1/Android.bp
nfc/1.1/vts/functional/Android.bp
nfc/1.2/Android.bp
nfc/1.2/vts/functional/Android.bp
oemlock/1.0/Android.bp
oemlock/1.0/vts/functional/Android.bp
oemlock/aidl/Android.bp
oemlock/aidl/default/Android.bp
oemlock/aidl/vts/Android.bp
power/1.0/Android.bp
power/1.0/default/Android.bp
power/1.0/vts/functional/Android.bp
power/1.1/Android.bp
power/1.1/vts/functional/Android.bp
power/1.2/Android.bp
power/1.2/vts/functional/Android.bp
power/1.3/Android.bp
power/1.3/vts/functional/Android.bp
power/aidl/Android.bp
power/aidl/default/Android.bp
power/aidl/vts/Android.bp
power/stats/1.0/Android.bp
power/stats/1.0/default/Android.bp
power/stats/1.0/vts/functional/Android.bp
power/stats/aidl/Android.bp
power/stats/aidl/default/Android.bp
power/stats/aidl/vts/Android.bp
radio/1.0/Android.bp
radio/1.0/vts/functional/Android.bp
radio/1.1/Android.bp
radio/1.1/vts/functional/Android.bp
radio/1.2/Android.bp
radio/1.2/default/Android.bp
radio/1.2/vts/functional/Android.bp
radio/1.3/Android.bp
radio/1.3/vts/functional/Android.bp
radio/1.4/Android.bp
radio/1.4/vts/functional/Android.bp
radio/1.5/Android.bp
radio/1.5/vts/functional/Android.bp
radio/1.6/Android.bp
radio/1.6/vts/functional/Android.bp
radio/config/1.0/Android.bp
radio/config/1.0/default/Android.bp
radio/config/1.0/vts/functional/Android.bp
radio/config/1.1/Android.bp
radio/config/1.1/vts/functional/Android.bp
radio/config/1.2/Android.bp
radio/config/1.2/vts/functional/Android.bp
radio/config/1.3/Android.bp
radio/config/1.3/vts/functional/Android.bp
radio/deprecated/1.0/Android.bp
rebootescrow/aidl/Android.bp
rebootescrow/aidl/default/Android.bp
rebootescrow/aidl/vts/functional/Android.bp
renderscript/1.0/Android.bp
renderscript/1.0/default/Android.bp
renderscript/1.0/vts/functional/Android.bp
secure_element/1.0/Android.bp
secure_element/1.0/vts/functional/Android.bp
secure_element/1.1/Android.bp
secure_element/1.1/vts/functional/Android.bp
secure_element/1.2/Android.bp
secure_element/1.2/vts/functional/Android.bp
security/keymint/aidl/Android.bp
security/keymint/aidl/default/Android.bp
security/keymint/aidl/vts/functional/Android.bp
security/keymint/support/Android.bp
security/secureclock/aidl/Android.bp
security/secureclock/aidl/vts/functional/Android.bp
security/sharedsecret/aidl/Android.bp
security/sharedsecret/aidl/vts/functional/Android.bp
sensors/1.0/Android.bp
sensors/1.0/default/Android.bp
sensors/1.0/vts/functional/Android.bp
sensors/2.0/Android.bp
sensors/2.0/default/Android.bp
sensors/2.0/multihal/Android.bp
sensors/2.0/vts/functional/Android.bp
sensors/2.1/Android.bp
sensors/2.1/default/Android.bp
sensors/2.1/multihal/Android.bp
sensors/2.1/vts/functional/Android.bp
sensors/common/default/2.X/Android.bp
sensors/common/default/2.X/multihal/Android.bp
sensors/common/default/2.X/multihal/tests/Android.bp
sensors/common/utils/Android.bp
sensors/common/vts/2_X/Android.bp
sensors/common/vts/utils/Android.bp
soundtrigger/2.0/Android.bp
soundtrigger/2.0/default/Android.bp
soundtrigger/2.0/default/Android.mk
soundtrigger/2.0/vts/functional/Android.bp
soundtrigger/2.1/Android.bp
soundtrigger/2.1/default/Android.mk
soundtrigger/2.1/vts/functional/Android.bp
soundtrigger/2.2/Android.bp
soundtrigger/2.2/default/Android.bp
soundtrigger/2.2/vts/functional/Android.bp
soundtrigger/2.3/Android.bp
soundtrigger/2.3/default/Android.bp
soundtrigger/2.3/vts/functional/Android.bp
tests/bar/1.0/Android.bp
tests/bar/1.0/default/Android.bp
tests/baz/1.0/Android.bp
tests/baz/1.0/default/Android.bp
tests/expression/1.0/Android.bp
tests/extension/light/2.0/Android.bp
tests/extension/light/2.0/default/Android.bp
tests/extension/vibrator/aidl/Android.bp
tests/extension/vibrator/aidl/client/Android.bp
tests/extension/vibrator/aidl/default/Android.bp
tests/foo/1.0/Android.bp
tests/foo/1.0/default/Android.bp
tests/foo/1.0/default/lib/Android.bp
tests/hash/1.0/Android.bp
tests/hash/1.0/default/Android.bp
tests/inheritance/1.0/Android.bp
tests/inheritance/1.0/default/Android.bp
tests/lazy/1.0/Android.bp
tests/lazy/1.1/Android.bp
tests/libhwbinder/1.0/Android.bp
tests/libhwbinder/1.0/default/Android.bp
tests/libhwbinder/aidl/Android.bp
tests/memory/1.0/Android.bp
tests/memory/1.0/default/Android.bp
tests/memory/2.0/Android.bp
tests/msgq/1.0/Android.bp
tests/msgq/1.0/default/Android.bp
tests/multithread/1.0/Android.bp
tests/multithread/1.0/default/Android.bp
tests/safeunion/1.0/Android.bp
tests/safeunion/1.0/default/Android.bp
tests/safeunion/cpp/1.0/Android.bp
tests/safeunion/cpp/1.0/default/Android.bp
tests/trie/1.0/Android.bp
tests/trie/1.0/default/Android.bp
tetheroffload/config/1.0/Android.bp
tetheroffload/config/1.0/vts/functional/Android.bp
tetheroffload/control/1.0/Android.bp
tetheroffload/control/1.0/vts/functional/Android.bp
tetheroffload/control/1.1/Android.bp
tetheroffload/control/1.1/vts/functional/Android.bp
thermal/1.0/Android.bp
thermal/1.0/default/Android.bp
thermal/1.0/vts/functional/Android.bp
thermal/1.1/Android.bp
thermal/1.1/vts/functional/Android.bp
thermal/2.0/Android.bp
thermal/2.0/default/Android.bp
thermal/2.0/vts/functional/Android.bp
tv/cec/1.0/Android.bp
tv/cec/1.0/default/Android.bp
tv/input/1.0/Android.bp
tv/input/1.0/default/Android.bp
tv/input/1.0/vts/functional/Android.bp
tv/tuner/1.0/Android.bp
tv/tuner/1.0/default/Android.bp
tv/tuner/1.0/vts/functional/Android.bp
usb/1.0/Android.bp
usb/1.0/default/Android.bp
usb/1.0/vts/functional/Android.bp
usb/1.1/Android.bp
usb/1.1/vts/functional/Android.bp
usb/1.2/Android.bp
usb/1.2/vts/functional/Android.bp
usb/gadget/1.0/Android.bp
usb/gadget/1.1/Android.bp
usb/gadget/1.1/default/Android.bp
usb/gadget/1.1/default/lib/Android.bp
vibrator/1.0/Android.bp
vibrator/1.0/default/Android.bp
vibrator/1.0/vts/functional/Android.bp
vibrator/1.1/Android.bp
vibrator/1.1/vts/functional/Android.bp
vibrator/1.2/Android.bp
vibrator/1.2/vts/functional/Android.bp
vibrator/1.3/Android.bp
vibrator/1.3/example/Android.bp
vibrator/1.3/vts/functional/Android.bp
vibrator/aidl/Android.bp
vibrator/aidl/default/Android.bp
vibrator/aidl/vts/Android.bp
vr/1.0/Android.bp
vr/1.0/default/Android.bp
vr/1.0/vts/functional/Android.bp
weaver/1.0/Android.bp
weaver/1.0/vts/functional/Android.bp
weaver/aidl/Android.bp
weaver/aidl/default/Android.bp
weaver/aidl/vts/Android.bp
wifi/1.0/Android.bp
wifi/1.0/vts/functional/Android.bp
wifi/1.1/Android.bp
wifi/1.1/vts/functional/Android.bp
wifi/1.2/Android.bp
wifi/1.2/vts/functional/Android.bp
wifi/1.3/Android.bp
wifi/1.3/vts/functional/Android.bp
wifi/1.4/Android.bp
wifi/1.4/default/Android.mk
wifi/1.4/vts/functional/Android.bp
wifi/hostapd/1.0/Android.bp
wifi/hostapd/1.0/vts/functional/Android.bp
wifi/hostapd/1.1/Android.bp
wifi/hostapd/1.1/vts/functional/Android.bp
wifi/hostapd/1.2/Android.bp
wifi/hostapd/1.2/vts/functional/Android.bp
wifi/offload/1.0/Android.bp
wifi/offload/1.0/vts/functional/Android.bp
wifi/supplicant/1.0/Android.bp
wifi/supplicant/1.0/vts/functional/Android.bp
wifi/supplicant/1.1/Android.bp
wifi/supplicant/1.1/vts/functional/Android.bp
wifi/supplicant/1.2/Android.bp
wifi/supplicant/1.2/vts/functional/Android.bp
wifi/supplicant/1.3/Android.bp
wifi/supplicant/1.3/vts/functional/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-NCSA to:
Android.bp
automotive/can/1.0/Android.bp
automotive/can/1.0/default/Android.bp
Added SPDX-license-identifier-NCSA to:
automotive/can/1.0/default/libc++fs/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: I602b072f77ff41e9eb8d3c36b6b5315d63664006
Merged-in: I602b072f77ff41e9eb8d3c36b6b5315d63664006
|
|
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
|
|
Mechanical extraction of HidlUtils::uuidFrom/ToHal into
a dedicated class UuidUtils.
Bug: 142480271
Test: m
Change-Id: Ic5333ba32dc293f32c5562d0ef05bde8e5f9b302
Merged-In: Ic5333ba32dc293f32c5562d0ef05bde8e5f9b302
|
|
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
|
|
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
|
|
78836599d2
am: 21dfccb823
Change-Id: I0c607d42aa174c7e50ee53b838a811ae00c33970
|
|
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
|
|
Fixed behavior of IStream|IEffect.close to release the underlying
HAL resource synchronously. This is to avoid adding artificial
delays in VTS that become totally unpractical in V6.
Added clarification about expected client behavior for
IStream|IEffect.close w.r.t. audio data transfer.
Added IDevice.close method which releases HAL device resource.
Updated VTS tests to remove delays in V6.
Bug: 114451103
Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I439f0f923c091af2ab234d15ca847cfade341f25
Merged-In: I439f0f923c091af2ab234d15ca847cfade341f25
|
|
Fixed behavior of IStream|IEffect.close to release the underlying
HAL resource synchronously. This is to avoid adding artificial
delays in VTS that become totally unpractical in V6.
Added clarification about expected client behavior for
IStream|IEffect.close w.r.t. audio data transfer.
Added IDevice.close method which releases HAL device resource.
Updated VTS tests to remove delays in V6.
Bug: 114451103
Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I439f0f923c091af2ab234d15ca847cfade341f25
|
|
Generate with ./newHal.sh 5.0
+ some typo fix in the .hal
+ some clang-tidy run
This new HAL is an exact copy of the V5.
It will be modified in following patches while R is developed.
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Merged-In: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Test: Compile
Bug: 134940862
Change-Id: Ibbafdcaa6e0bfa8fd2b80f4a6c9ac6ac95058f93
Merged-In: Ibbafdcaa6e0bfa8fd2b80f4a6c9ac6ac95058f93
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Generate with ./newHal.sh 5.0
+ some typo fix in the .hal
+ some clang-tidy run
This new HAL is an exact copy of the V5.
It will be modified in following patches while R is developed.
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Test: Compile
Bug: 134940862
Change-Id: Ibbafdcaa6e0bfa8fd2b80f4a6c9ac6ac95058f93
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Since these were combined into libhidlbase.
Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
|
|
The implementation uses IBase::debug() method which can write
debugging info into the provided file descriptor (same model
as used for devices and streams).
Bug: 69939533
Test: adb shell dumpsys media.audio_flinger
Change-Id: I7876fd43a7066c0f081ea2ca0b3b4b37bbdf8e6c
|
|
Complement imports of audio::CPP_VERSION with audio::common::CPP_VERSION
for core.
Import namespaces in VTS tests.
Remove "using namespace" from .cpp files where there
are already imports in the .h file.
Test: try moving types between audio/types.hal and common/types.hal.
Change-Id: I49c2e2466c8175f2516c2273f5c26d125afd4801
|
|
Instead of importing every single type individually ("using <type>"),
import entire namespaces of
::android::hardware::audio::common::CPP_VERSION and
::android::hardware::audio::effect::CPP_VERSION
inside the "implementation" namespace in the default implementation.
This simplifies modifying types, as it is not needed anymore
to surround "using <type>" directives with #if MAJOR_VERSION ...
Note that the contents of the namespaces are imported inside
the "implementation" namespace, which reduces risks of name collision
Test: make
Change-Id: I5daa0ed91203726d1df67408ac9af728c247704a
|
|
Instead of importing every single type individually ("using <type>"),
import entire namespaces of
::android::hardware::audio::CPP_VERSION and
::android::hardware::audio::common::CPP_VERSION
inside the "implementation" namespace in the default implementation.
This simplifies modifying types, as it is not needed anymore
to surround "using <type>" directives with #if MAJOR_VERSION ...
Note that the contents of the namespaces are imported inside
the "implementation" namespace, which reduces risks of name collision
Also, fixed the namespace for HidlUtils--it needs to be in
'implementation'.
Test: make
Change-Id: I81bbb3074b5763717ae72e747a075fd46dc36d18
|
|
find -name 4.0 | xargs -I@ cp -r @ @/../5.0
find 5.0 */5.0 -type f | xargs sed -Ei 's/V4/V5/;s#(@|/)4.0#\15.0#'
find -name *cpp -o -name *.h | xargs sed -i 's/VERSION == 4/VERSION >= 4/g'
mv {4.1,5.0}/config/audio_policy_configuration.xsd
Then a manual update to Android.bp to add V5 support.
Then a manual update to service.cpp to add support for loading 5.0.
If someone knows a way to avoid copying the .hal, it would be great.
They will be 99% identical between V4 and V5.
Bug: 118203066
Test: vts-tradefed run commandAndExit vts --module VtsHalAudioEffectV2_0Target
vts-tradefed run commandAndExit vts --module VtsHalAudioV2_0Target
vts-tradefed run commandAndExit vts --module VtsHalAudioEffectV4_0Target
vts-tradefed run commandAndExit vts --module VtsHalAudioV4_0Target
Change-Id: If99a5645d19c9780019704ea4f51f8114d83ee8f
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Lots of Android.bp content was duplicated per version.
Bug: 118203066
Test: compile
Change-Id: I4072314f1e1278c6d876fc681ba20363728f151b
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Use the same technique developed for the simpler libaudiohal to
factorize the audio HAL impl.
Generated with script:
set -euo pipefail
cd hardware/interfaces/audio
# Make 2.0 and 4.0 files mostly identical by removing all 2.0, V4.0...
# and replacing it by CPP_VERSION and FILE_VERSION
# This allow both implementation to be mostly identical, except for code difference
# Also remove IncludeGuard.h as it will be included from compiler flag
# Also update license to 2018
find -name *.cpp -o -name *h |
grep -v -e service.cpp |
xargs sed -Ei \
-e 's/(#.*)V[42]_0_(.*_H_?)$/\1\2/' \
-e 's/(LOG_TAG.*)[24]_0/\1/' \
-e '/#ifndef AUDIO_HAL_VERSION/,/#endif/d' \
-e '/^#.*def.*AUDIO_HAL_VERSION\b/d' \
-e's/V[42]_0/CPP_VERSION/' \
-e 's/(#include ).(android.*)[24].0(.*).$/\1PATH(\2FILE_VERSION\3)/' \
-e 's|(#include) .(.*)[24].0/(default/.*).$|\1 "\2\3"|' \
-e 's/\bAUDIO_HAL_VERSION\b/CPP_VERSION/' \
-e '/IncludeGuard.h/d' \
-e 's/(Copyright .C. 201)./\18/'
# set MAJOR_VERSION instead of having a different macro for each version
# this allow to do preprocessor arithmetic (eg: MAJOR_VERSION >= 4)
for v in 2 4; do
find -ipath '*/'$v'.0/*/Android.bp' |
xargs sed -i -e '/cflags:/,/^$/d' -e '/vndk/{:a;/}/!{N;ba};d}' -e '$i\
cflags: [\
"-DMAJOR_VERSION='$v'",\
"-DMINOR_VERSION=0",\
"-include common/all-versions/VersionMacro.h",\
]'; done
# replace# ifdef VERSION_X by #if MAJOR_VERSION == X
find -path *all-versions/*.h |
xargs sed -Ei -e 's/def.*AUDIO_HAL_VERSION_([24])_0.*/ MAJOR_VERSION == \1/' \
-e 'T;s/ +/ /'
# copy all-versions impl in each version impl
find -path '*/[24].0/*.[hc]*' |
grep -ve all-versions -e test |
xargs -P99 -n4 sed -i -Ee '/include <.*all-versions.default/!b' \
-e 's#.*<#find -path */#' -e 's/>$/|xargs tail -n +16/' -e e
# remove all-versions impl
rm -r {core,effect}/all-versions/
# merge version impl into a single all-version
for dir in core/*.0/vts/functional/*.0/ ;do
dest=$(echo $dir | sed 's#/..0/#/all-versions/#')
mkdir -p $dest
mv -T $dir $dest
done
find -mindepth 3 -path '*/2.0/*' -a \( -name '*cpp' -o -name '*h' \) |
grep -v 'all-versions' |
sed -E 'h;s/2/4/g;H;s/4.0/all-versions/;s/4.0//;H;g;s/\n/ /g;'|
xargs -P99 -L1 sh -c '
set -euo pipefail
mkdir -p $(dirname $2);
diff --old-group-format="#if MAJOR_VERSION == 2
%<#endif
" \
--new-group-format="#if MAJOR_VERSION == 4
%>#endif
" $0 $1 > $2 || true;
rm $0 $1'
# merge the X.0 Android.bp & OWNERS in the all-versions
for dir in common effect core; do
for sub in default vts/functional; do
test -f $dir/2.0/$sub/Android.bp || continue
awk 1 $dir/*.0/$sub/Android.bp >> $dir/all-versions/$sub/Android.bp
# delete licenses except for the first one and add whitelines
sed -i -e '/^}$/{N;/^}\n$/!s/\n/&\n/}' $dir/all-versions/$sub/Android.bp
sed -i -e '1,17b;/^\/\//,/^$/{d}' $dir/all-versions/$sub/Android.bp
done
for sub in default vts; do
test -d $dir/2.0/$sub || continue
test -f $dir/2.0/$sub/OWNERS &&
awk 1 $dir/*.0/$sub/OWNERS | sort -u > $dir/all-versions/$sub/OWNERS ||
true
rm -r $dir/*.0/$sub
done
done
# delete all-versions-impl dependencies
find -name 'Android.bp' | xargs sed -i -e '/all-versions-impl/d'
# cleanup unused files
rm common/all-versions/default/include/common/all-versions/default/HidlUtils*
rm common/all-versions/util/include/common/all-versions/IncludeGuard.h
find -depth -type d -empty -delete
# Clamp consecutive number of empty lines to 2
find -name *.cpp -o -name *h | xargs sed -Ei ':a;/^\n*$/{N;ba};s/\n\n+/\n\n/'
# transform #endif\n#if to #elif
find -name *.cpp -o -name *h | xargs sed -i '/^#endif/{N;s/.*\n#if/#elif/}'
# remove leftover include guard in cpp
find -name *.cpp |xargs sed -Ei '/^#.*_H_?$/d'
# apply clang-format
find -name *cpp -o -name *h |
xargs ../../../prebuilts/clang/host/linux-x86/clang-stable/bin/clang-format --style file -i
# clang format breaks PATH(a/b) to PATH(a / b), remove the space surrounding /
find -name *cpp -o -name *h | xargs sed -i "/#include PATH/s# / #/#g"
Test: compile
Bug: 118203066
Change-Id: I3692a444307afc5f71064fe0b9e6b8af3c9ff1dd
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
It was thought that the V2 VTS were not going to be supported after V4
VTS were created. Thus a large portion of the code was copy paste and
modified.
That assumption ended up wrong as a lot of OEM reported bugs that needed
to be fixed in both versions.
As a result align the code of both version VTS as much as possible.
The code will be merged in a follow up patch.
Bug: 118203066
Test: compile
Change-Id: I994232db237b5d7c52e7d796f199ab3c6eec21f4
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
That will permit minimal change on future refactors.
Bug: 118203066
Test: compile
Change-Id: Ibed095d3821e2f7b6177faa07775bde9821459c7
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
Would the legacy HAL return -ENOENT while retrieving an effect,
the enumeration has to be aborted, and the effects queried so far
need to be returned. A missing 'break' was causing returning
no effects at all.
Bug: 117567478
Test: make
Change-Id: I7cc05004f88b39272d06d2ed33a0693f8e1e3d04
|
|
8370b093bc
am: 798626f3a8
Change-Id: I37085b916ba8ae1d1a4e2f752c5a14820a0d338d
|
|
A debugDump was used previously because the debug did not exist.
Now that the framework uses debug(), the HAL must also do so.
Bug: 78307161
Test: adb shell dumpsys media.audio_flinger
Change-Id: Ic5841d5284d742c572629249b80aa1de841983c7
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
am: c4db9d17cd
am: b062d08b93
Change-Id: I6df306192dbc0ca3d8de84a936e215e5e400da9f
|
|
This was breaking Treble interface consistency test.
Bug: 77853088
Test: play music effect work
Change-Id: Ieb54f9c154e346286da353d0c3cdc770574c9bfe
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
With MSD it's possible to have another instance of IDeviceFactory.
For passthrough implementations it's necessary to check whether
the instance name is "default" because otherwise HIDL framework
will attempt to use the default implementation for MSD.
Do the same for effects in case some special effects will be
needed for MSD.
Bug: 38184704
Bug: 63901775
Change-Id: I18044f3a97e3f6ec4dc3f35b3a9300ea404fc07e
Test: audio works, effects work
|
|
All the new files added are a copy of the 2.0 ones, with just the
version 2 that was changed to 4.
Due to the rollback on the retrocompatiblity breakage,
the split of implementation is not strictly needed any more.
This makes the current split in .impl.h and double include
unnecessary complicated.
This will need to be factorized in a future patch.
Bug: 38184704
Test: compile
Change-Id: If412eb55ebf6afc773593547af9395a09b6825c2
Merged-In: If412eb55ebf6afc773593547af9395a09b6825c2
Cherry-picked from master
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
All the new files added are a copy of the 2.0 ones, with just the
version 2 that was changed to 4.
Due to the rollback on the retrocompatiblity breakage,
the split of implementation is not strictly needed any more.
This makes the current split in .impl.h and double include
unnecessary complicated.
This will need to be factorized in a future patch.
Bug: 38184704
Test: compile
Change-Id: If412eb55ebf6afc773593547af9395a09b6825c2
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
This reverts commit 49c56de516b4e9556ae1b0af0ccfa7d695f5807b.
Reason for revert: Breaks the build of multiple devices
Change-Id: Iebd868467948b8afa5907462ccc0720cd9c4871e
|
|
audio.h and its dependencies (audio-effect.h, sound_trigger.h...)
used to be shared between system and vendor code.
This led to multiple problems:
1) Such sharing contradicts the Treble policy of
strict independence of framework and vendor code.
2) When audio.h was changed, every vendor needed to update
its code in the next release. This meant that audio*.h
headers were mostly changed in backward compatible manner.
Nevertheless, for P the HIDL interface and thus the audio.h
interface are changed in backward incompatible way.
(Some enum are becoming 64 bit long).
3) As the headers were common, some API used only by the framework
needed to be visible to the vendors (mostly enum values).
4) Treble policy is to support at least one previous HAL version
As a result the audio*.h headers are now duplicated,
one set for the framework, and one for the vendor.
Each set will evolve independently. After this split,
the framework-only APIs will be removed from the vendor headers
and vice versa.
The split is implements as such:
+ for system code
- NOT moving the libaudio_system_headers
Eg: system/audio.h and system/audio_effects/effect_equalizer.h
are still in system/media/audio
- the legacy audio HAL API that were in libhardware headers
are now in libaudiohal_legacy_headers
Eg: hardware/audio.h and hardware/audio_effect.h
are now in frameworks/av/media/libaudiohal/legacy/
+ for vendor code
- moving libaudio_system_headers and the legacy audio HAL API
that were in libhardware_headers in
android.hardware.audio.common.legacy@2.0
Note that those headers are now versioned, so migrating to a @4.0
HIDL HAL will mean changing the legacy dependency too.
Eg: system/audio.h, system/audio-effect.h, hardware/audio.h
are now in hardware/interfaces/audio/common/2.0/legacy
- the legacy audio effect HAL API that was in libaudioeffects
is now moved in android.hardware.audio.effect.legacy@2.0
Eg: audio_effects/effect*.h are now in
hardware/interfaces/audio/effect/2.0/legacy
- the legacy sound trigger HAL API that were in libhardware_headers
is now moved in android.hardware.soundtrigger.legacy@2.0
Eg: hardware/sound_trigger.h is now in
hardware/interfaces/audio/effect/2.0/legacy
libaudioutil being used by both system and vendor, had
to be renamed for system to libaudioutil_system.
Vendor libs that now depend on the audio.h of a specific
version and are not extensively referenced in non google code,
append @2.0 to their name.
Note that headers that are not expected to change in the 4.0 HAL are
left in all-versions folder to avoid duplication.
This is an implementation detail as the versioned libraries export
the all-versions headers.
Note that strict vendor-system separation is enforced by the
build-system. The system headers are not available for vendor
libs and vice-versa.
Note that this patch is split between numerous git repository (>10),
all the commits having the same Change-id for searchability.
Note that audio_policy.h is no longer exposed to vendors
as the legacy audio policy HAL API was never officially supported.
As a result the audiopolicy stub implementation has been removed.
Test: compile taimen-userdebug walleye-userdebug
sailfish-userdebug marlin-userdebug
gce_x86_phone-userdebug gce_x86_phone
full-eng aosp_arm aosp_x86-eng
Test: check that the emulator booted and played audio
Test: full QA on sailfish-userdebug and taimen-userdebug
Bug: 38184704
Change-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a
Signed-off-by: Kevin Rocard <krocard@google.com>
|
|
What was done in this patch:
# move headers in all-versions/default folder for qualified inclusion
mkdir -p audio/effect/all-versions/include/effect/all-versions/default/
mv audio/effect/all-versions/*[hp] $_
# Go in the all-versions header folder
cd $_
# Use a macro for the version
sed -i '/^#/!s/V2_0/AUDIO_HAL_VERSION/g' *
#Remove 2.0 includes
sed -i "/include.*2.0/d" *
# Add include guard to make sure AUDIO_HAL_VERSION is set
sed -i '/limitations under the License/!b;N;a\n#include <common/all-versions/IncludeGuard.h>' *
# Remove guard include macro
sed -i '/^#.*[H_]$/d' *
# Remove LOG_TAG
sed -i '/LOG_TAG/d' *
# Remove local include (include "XXX")
sed -i '/include.*"/{N;/\n$/d;D}' *
# Replace implementation with inclusion
cd audio/effect/2.0/
git checkout HEAD^^
ls *h *cpp| sed -r 's/.*h$/\0 \0/;s/(.*)cpp/\1impl.h \0/' |xargs -L1 printf '1h;2,$H;$!d;g;s$namespace.*}[^\\n]*$#define AUDIO_HAL_VERSION V2_0\\\n#include <effect/all-versions/default/%s>\\\n#undef AUDIO_HAL_VERSION$\000%s\000'|xargs -0 -n2 sed -i
+ manual update of Android.bp and removal of duplicate include
Bug: 38184704
Test: compile
Change-Id: If99871516f3069fcb9e699ab670a665d7d507e7d
|