Commit graph

127 commits

Author SHA1 Message Date
Nicholas Ambur
539cbb724f add audioCapabilities to SoundTrigger properties
Bug: 146363190
Test: Assist GTS test suite and manual testing
Change-Id: Ie14844f63e8d87d3baad7e6c50230fe04153f8b4
2020-01-10 14:00:36 -08:00
Nicholas Ambur
cb49463796 add model arch to SoundTrigger Properties
Bug: 142414689
Test: Assist GTS test suite and manual testing
Change-Id: Ie8bb4bdd292aceaae92c6f550a9633068cabdd24
2020-01-07 22:02:18 -08:00
Nicholas Ambur
1e90019220 add SoundTrigger HAL V2.3
add support for model parameter control APIs with THRESHOLD_FACTOR
as the first supported parameter

Bug: 141929369
Test: Tested manually with test app, GTS test
gts-tradefed run gts-dev -m GtsAssistIntentTestCases
and VTS test
vts-tradefed run vts-hal -m VtsHalSoundtriggerV2_3Target
Change-Id: I79d2b6365cc63fbdfe06fa94f1d0878903cbf554
2019-12-11 19:42:51 -08:00
Steven Moreland
7696aa885f ./update-makefiles.sh, for union changes/memory
Many more types can be used in Java.

Bug: 143566068
Test: N/A
Change-Id: Ie18e1e0f9c22f2ea15b755df3b048c9d651c4945
2019-11-26 09:24:31 -08:00
nelsonli
4aa11b1637 [vts-core] add VtsHalSoundtriggerV2_*TargetTest to vts-core
Convert VtsHalSoundtriggerV2_*TargetTest to be parameterized test
and add it to vts-core

Bug: 142397658
Test: $atest VtsHalSoundtriggerV2_0TargetTest
      $atest VtsHalSoundtriggerV2_1TargetTest
      $atest VtsHalSoundtriggerV2_2TargetTest
Change-Id: Ibd9dec2b1aaa5ea0f5ca3fe2976b500048b3e426
2019-11-12 15:04:09 +08:00
Steven Moreland
077b73b7ab update-makefiles.sh: for partial Java pkgs
Packages which contain some non-supported Java types can still have
their Java-supported types used in Java.

Bug: 143566068
Test: mma
Change-Id: I2afc5cc8d0a1bd981108ee2b87d6033fd48bdb37
2019-11-04 12:50:41 -08:00
Steven Moreland
b3a4d3832e Remove libhwbinder/libhidltransport deps
Since these were combined into libhidlbase.

Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
2019-09-06 01:07:02 +00:00
Steven Moreland
a58718951a soundtrigger: remove '/*' in comment. am: 48f0efb302
am: 0ce1e109dd

Change-Id: If990c96c2f895c58fb13777daca170388abdd574
2019-04-29 17:18:43 -07:00
Steven Moreland
48f0efb302 soundtrigger: remove '/*' in comment.
This is causing C++ compiles of this interface to fail now that these
comments get copied into the output.

Bug: 130911129
Test: compilation now succeeds
Change-Id: Iaa3877620b032b7144e3bab114fbcd1e1483bc8e
2019-04-29 14:22:13 -07:00
Michael Dooley
807e04fad7 Merge "Hooking up Hal Soundtrigger V2_2 VTS test" into qt-dev
am: 4ee2bc31a4

Change-Id: Ic1613b7442ee06005e46e64a7953fdff12adebeb
2019-04-26 18:15:25 -07:00
mike dooley
93e4a086db Hooking up Hal Soundtrigger V2_2 VTS test
Bug: 117309670
Test: vts-tradefed run commandAndExit vts -m VtsHalSoundtriggerV2_2Target
Change-Id: Id320d15a39a6a22cbbcdb00b3b4658d690ab1fe0
2019-04-25 15:49:25 +02:00
Steven Moreland
99712c08cc Update hidl makefiles for bpfmt
hidl-generated makefiles are now generated such that bpfmt(file) == file.

Bug: 67417008
Test: enable bpfmt hook
Change-Id: I53e5bf67a0d314e1b10c0ba0c7172a7af358ddcc
2019-04-18 18:13:05 -07:00
Steven Moreland
6d494b2346 Merge "Update hidl makefiles for bpfmt" am: ff0bd741ca
am: 96f40f7b02

Change-Id: Idbf030e4993067bdb8181321bca2de00c9b6f7ef
2019-04-18 14:34:45 -07:00
Steven Moreland
1ae4615d9f Update hidl makefiles for bpfmt
hidl-generated makefiles are now generated such that bpfmt(file) == file.

Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
2019-04-17 09:38:50 -07:00
Steven Moreland
7f4e21adda Merge "Update makefies: no 'types'" am: 4ee5ec1469 am: bab622f6a6
am: 7224bc9bcf

Change-Id: I434939e0770afa436c532a945542fce30a71ef7d
2019-03-04 16:05:59 -08:00
Steven Moreland
a878aee9ab Update makefies: no 'types'
Bug: 123976090
Test: N/A
Change-Id: I30fb04c81889b62775e1b764b965fdb0f893de17
2019-03-04 11:27:17 -08:00
mike dooley
2f0da26cd5 Enabling sound trigger V2_2
V2_2 has the same functionality as V2_1 except it adds one new
api, getModelState.

Note: V2_1 will be removed in a subsequent cl.

Test: built android and tested using SoundTriggerTestApp

Bug: 70206501
Change-Id: Ia1567bfc988482195b89b8d6a0901d51e870bfbf
2019-01-17 20:49:38 +01:00
mike dooley
25ed3e826f Fixing memory corruption bug in sound trigger V2_2
The PhraseSoundModel was being cast to the V2_1 version instead
of V2_0, resulting in memory corruption.

Test: manual test using the SoundTriggerTestApp
Bug: 121265082
Change-Id: If30acd06dd5e2abfdb831287a6f76760e70b20fb
2018-12-19 20:20:56 +01:00
Keun Soo YIM
68ae05dd2d pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Merged-In: I363450d205868f900e4925ccff1430e2a569f2a4
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-12-07 10:49:56 -08:00
Keun Soo YIM
ff84c37bc1 pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-11-27 16:11:41 -08:00
mike dooley
74a792ecc7 Converting sound trigger v2.2 getModelState to be asynchronous
Test: built android with checkbuild flag

Change-Id: I68bebde980d2c3a76765cee4c70e213f4430dec1
Bug-Id: 70206501
2018-11-09 10:41:27 +01:00
mike dooley
e9529987fc Adding getModelState API to sound trigger with new build fix.
This version copies the V2_0 and V2_1 implementations instead of trying
to extend them.

Test: built with the forrest tool, ie. forrest --force_cherry_pick \
build th🆑5288240:aosp_x86-eng:git_master-without-vendor

Change-Id: Iec18b6a29c8d3d495b24fc07b5f7db95a8057f30
Bug-Id: 70206501
2018-10-20 21:17:11 +02:00
Michael Dooley
ecac112323 Revert "Adding getModelState to soundtrigger with build fix."
This reverts commit 0320d560ea.

Reason for revert: broke build

Change-Id: I69cda44f90985b57e69455a8d04cec71f2675831
2018-09-28 07:25:12 +00:00
mike dooley
0320d560ea Adding getModelState to soundtrigger with build fix.
original cl was ag/4879522

Bug: 70206501
Test: Built android
Change-Id: I11f164d8ade66cd7e56f1fa4e46dafa1d56db8cd
2018-09-27 11:10:16 +02:00
Michael Dooley
b7326db5c9 Revert "Adding getModelState API to sound trigger"
This reverts commit 73e63e662c.

Reason for revert: fix build breakage

Change-Id: I37d33bd2536f1917ced8a1ba816f336e7c9bb4e8
2018-09-14 16:10:12 +00:00
mike dooley
73e63e662c Adding getModelState API to sound trigger
Test: built android
Bug-Id: 70206501
Change-Id: I8f45fd86bc14544c676c94daeea71a0ecebdbe03
2018-09-12 08:14:45 +02:00
Zhuoyao Zhang
32cbe3edb9 Convert soundtrigger hal test to use VtsHalHidlTargetTestEnvBase
Bug: 64203181
Test: make vts
      vts-tradefed run vts -m VtsHalSoundtriggerV2_0Target
      vts-tradefed run vts -m VtsHalSoundtriggerV2_1Target

Change-Id: I747d674e4c0016cd8a1c373c8d7f744a022a98d8
2018-02-12 17:17:18 -08:00
Kevin Rocard
72993ce086 Merge "Revert "Audio V4: Split system and vendor Audio.h"" 2018-01-24 06:26:16 +00:00
Kevin Rocard
8bdafc1b5c Revert "Audio V4: Split system and vendor Audio.h"
This reverts commit 49c56de516.

Reason for revert: Breaks the build of multiple devices

Change-Id: Iebd868467948b8afa5907462ccc0720cd9c4871e
2018-01-24 06:12:44 +00:00
Kevin Rocard
cd603ca9e8 Merge "Audio V4: Split system and vendor Audio.h" 2018-01-24 04:04:47 +00:00
Kevin Rocard
49c56de516 Audio V4: Split system and vendor Audio.h
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>
2018-01-22 22:00:56 -08:00
Mikhail Naganov
387bdf02cb soundtrigger: Remove get/setParameters interface methods
These methods are not aligned with "structured interface"
approach.

Bug: 68823037
Test: make
Change-Id: Id73d676e0386125bca678e7c7c2ea006c73a1365
2018-01-23 01:25:08 +00:00
Mikhail Naganov
dd49a1b129 soundtrigger: Add VTS tests for v2.1
Re-tests the implementation of the inherited methods from v2.0.

Adds tests for the methods introduced in v2.1.

Bug: 68823037
Test: VtsHalSoundtriggerV2_1TargetTest
Change-Id: Iab4d397d2581da1ff9e0d87c7f8d4fa8b483cdd5
2018-01-17 17:24:21 -08:00
Mikhail Naganov
2b228bb378 soundtrigger: Default implementation for version 2.1
Wrapped around the 2.0 default implementation. Added functionality
for retrieving and sending the data via shared memory.

Bug: 68823037
Test: compiles
Change-Id: Ie38dd261dc8c635462a7e2ee26672a83af915e84
2018-01-17 09:31:57 -08:00
Mikhail Naganov
dfdc3bbccd soundtrigger: Refactor the default implementation to be extensible
Introduce an inner "trampoline" class that implements
ISoundTriggerHw. This allows minor uprev implementation to inherit
from SoundTriggerHalImpl and reuse its functionality.

Split SoundModelClient into an abstract common part and
version-specific part. This allows the client to be redefined for
the types used in callback interface extensions.

Split the impl library into "core" part and the part implementing
HIDL_FETCH_ISoundTriggerHw function to avoid clash with the same
function introduced in minor uprev implementation.

Bug: 68823037
Change-Id: Ibec647f1aa7bc6a2a0bdfd1c9f9a066e4779a1bf
Test: make
2018-01-17 09:31:57 -08:00
Mikhail Naganov
0bbc4aa61f soundtrigger: Apply clang-format to 2.0 default implementation
The implementation needs to be updated to become extensible.
The current coding style is not consistent with the style
required for hardware/interfaces.

Reformatted with:
   clang-format -style=file -i <...>/SoundTriggerHalImpl.*
No manual changes.

Bug: 68823037
Change-Id: I5f5cbb599190a515dec8afe9026ca835b8fd20fa
Test: make
2018-01-17 09:31:57 -08:00
Mikhail Naganov
882d2377ec soundtrigger: Define v2.1 HAL
SoundTrigger 2.1 HAL is an extension to 2.0 fixing
the issue with of data blobs of arbitrary size that
can't outgrow HwBinder's IPC transaction size limit.
Instead of vectors, shared memory handles are used.

Added methods for getting and setting parameters.
The parameters are opaque to the framework, it does
not interpret them.

Bug: 68823037
Change-Id: I01c0c867e1d13023a22ccf408e84da78947d3bc2
Test: run hardware/interfaces/update-makefiles.sh
2018-01-17 09:31:57 -08:00
Steven Moreland
fcca4e23b7 Remove subdirs
Removing whenever I see these in code reviews.

Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
2017-11-28 14:22:43 -08:00
Chih-Hung Hsieh
1bf3cfc11d Merge "Use -Werror in hardware/interfaces" am: 02804915fb am: 8e736c21de
am: f53fe9317b

Change-Id: Ifc0a5be285be1a57d998db3c032e392b307cfa80
2017-11-28 19:31:03 +00:00
Chih-Hung Hsieh
8e736c21de Merge "Use -Werror in hardware/interfaces"
am: 02804915fb

Change-Id: Id73af9532487a85ad1d1170dbce809761d4a93a8
2017-11-28 19:24:00 +00:00
Chih-Hung Hsieh
3f2ea62d06 Use -Werror in hardware/interfaces
* Use hidl_defaults, which has -Wall -Werror.

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: Ifbca0e176a8e031acc27256eb46d23b89cdf1a0e
2017-11-20 10:49:11 -08:00
Xin Li
bb9e38fef9 Merge commit '1a06284b24f5eb7bb9c1fea0817da8898b3b1bff' from
oc-mr1-dev-plus-aosp into stage-aosp-master

Change-Id: I2a044eb8c9981d0a8198ffe2df55559afbd76341
Merged-In: I4fb9f18884f7ef21162015a0032c4431444f7025
2017-11-14 12:08:38 -08:00
Steven Moreland
8db261bc99 Updating makefiles for hidl_interface.
Bug: 64487114
Test: manual
Merged-In: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
Change-Id: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
2017-11-13 10:00:18 -08:00
Steven Moreland
a1169dd600 Update makefiles for hidl_interface.
Bug: 35570956
Test: manual
Change-Id: I7a220b78ee081240e1dc30ef5672ba39e3e98375
2017-11-10 09:06:55 -08:00
Steven Moreland
1d7374c5e1 Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1 am: 6c811964a1
am: 116161d94e

Change-Id: I33643636e2511de77fdf7de57777eb67edee2e52
2017-10-11 16:39:21 +00:00
Steven Moreland
116161d94e Update for Soong java makefiles. am: c3e80fa01e am: 0fff75dee1
am: 6c811964a1

Change-Id: I85ccbb4a15cd18938607f5bca4e065b9d7e0182b
2017-10-11 16:31:07 +00:00
Steven Moreland
c3e80fa01e Update for Soong java makefiles.
Test: pass
Bug: 33420795
Change-Id: Id9b1919a19b8ff682738cfb0869a479b4dbb4293
2017-10-10 23:07:20 +00:00
Steven Moreland
9b019ac4fe Merge "Remove useless Android.mk files." am: 75d5cf515a am: f27cfa15d7 am: 33dc30ce49
am: 0653f3b212

Change-Id: I7c2da3cf30da7b4a1eda7e5369e9caa5ebab2462
2017-10-05 21:52:50 +00:00
Steven Moreland
0653f3b212 Merge "Remove useless Android.mk files." am: 75d5cf515a am: f27cfa15d7
am: 33dc30ce49

Change-Id: Ia35d20e0fc1df6f7c46b5581537d7ed387965899
2017-10-05 21:51:13 +00:00
Treehugger Robot
75d5cf515a Merge "Remove useless Android.mk files." 2017-10-05 21:40:27 +00:00