Commit graph

887 commits

Author SHA1 Message Date
TreeHugger Robot
25e1181101 Merge "Convert VtsHalAudioV*_0TargetTest to parameterized gtest" into rvc-dev 2020-04-08 20:30:00 +00:00
Dan Shi
aad51fa000 Rename vts-core to vts
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
2020-04-07 16:37:40 -07:00
Dan Shi
67963dec8b Convert VtsHalAudioV*_0TargetTest to parameterized gtest
For version 2, 4 and 5.

Bug: 150299743
Test: atest VtsHalAudioV2_0TargetTest \
  VtsHalAudioV4_0TargetTest \
  VtsHalAudioV5_0TargetTest
Change-Id: I09be1dc79b69caadd2a5468c4e6ed9c1efd76ffd
Merged-In: I09be1dc79b69caadd2a5468c4e6ed9c1efd76ffd
2020-04-07 22:06:19 +00:00
Mikhail Naganov
4e1ad4cb1f Audio Effects: Run more tests for LoudnessEnhancerEffect
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
Merged-In: Ie366979880bfc3b7e95a02957451736d724f838f
2020-03-23 15:33:31 -07:00
Mikhail Naganov
113bd8111a Audio Effects: Skip CheckConfig test for non-matching HAL versions
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
Merged-In: I4b34cc34091447c04bf8d3e988c9bd4048dc8ef9
2020-03-23 15:32:51 -07:00
Mikhail Naganov
2adec4f116 audio: Check result from oneway calls
As oneway HIDL calls generate methods that return 'Result<void>',
the returned value must be checked to avoid triggering an
assertion if the result was an error (e.g. due to the client death).

Bug: 151900655
Test: N/A
Change-Id: I4721240b5959d6f11cb4447b30928bf4c83da058
2020-03-19 20:39:12 +00:00
TreeHugger Robot
ce3f17e662 Merge "Update audio VTS source code to match the change in AudioPolicyConfig" into rvc-dev 2020-03-10 19:07:24 +00:00
Mikhail Naganov
20a3e395bf Update audio VTS source code to match the change in AudioPolicyConfig
Use getInputDevices instead of getAvailableInputDevices.

Bug: 149854039
Test: atest VtsHalAudioV5_0TargetTest
Change-Id: I0fed71eba8d031465ef98da2bf6be16c2fbfb5ff
2020-03-09 23:31:29 +00:00
jiabin
5d11612694 Add callback for output stream.
The callback is targeted for events related to an output stream.
Currently, there is one callback event defined, which is codec
format changed event.

Bug: 133526565
Test: manual
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I73a4914c1ffc30e1c88b8fedd61a031e24a069f6
2020-02-25 09:08:26 -08:00
Andy Hung
7aab1010d4 audio hal: Update offload configuration
Test: no regression with offloaded Play Music
Bug: 133526565
Merged-In: Ie655a96503be5a4ad1660d4b2183b01e514452fd
Change-Id: Ie655a96503be5a4ad1660d4b2183b01e514452fd
(cherry picked from commit c91b679ac1)
2020-02-25 09:06:09 -08:00
Mikhail Naganov
973e4d33b5 audio: Add playback rate parameters to IStreamOut
Playback rate parameters allow changing the playback speed
of audio streams optionally preserving the pitch (this is
often referred to as "timestretch"). HALs can apply these
parameters when decoding of streams is done in hardware.

Bug: 133526565
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: Ie78cd924bd034b57bf5b6a74affd62641ffc0aba
2020-02-20 11:13:14 -08:00
Mikhail Naganov
0a675fcc88 audio: Add Dual Mono Mode and Audio Description Mix Level to IStreamOut
These properties are mainly used on TV platforms.

Bug: 133526565
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I5dd2fe9cb987bf8435b8e5da96f8590288e5707c
2020-02-18 20:01:29 -08:00
Automerger Merge Worker
294e681ded Merge "Update copyHAL.sh after changes in libaudiohal" am: f2212ca85c am: 2bd5e654fb am: 981837366e
Change-Id: Idde37ba245a46a265a3697b14c3f0a90cc956d43
2020-02-10 23:09:41 +00:00
Treehugger Robot
f2212ca85c Merge "Update copyHAL.sh after changes in libaudiohal" 2020-02-10 22:32:44 +00:00
Mikhail Naganov
d432d51627 Update copyHAL.sh after changes in libaudiohal
Bug: 148118201
Test: copyHAL.sh 5.0 6.0
Change-Id: I7cb2f7c5216c4095fa36c2c96ebbe2a2255b0691
2020-02-10 12:46:23 -08:00
Automerger Merge Worker
9f1197d48b Merge "audio: Fix audio effects schema for V6" am: 6918c455e1 am: aef1ef555c am: a1a571da55
Change-Id: I4498cd757d87c06b575ae205088151429520a984
2020-02-07 19:09:38 +00:00
Mikhail Naganov
9f83bb9fb7 audio: Fix audio effects schema for V6
There was a mistake in the XSD file introduced in aosp/1201850.

Bug: 148979886
Test: atest VtsHalAudioEffectV6_0TargetTest
Change-Id: I02f869031e0d4687d6e099fa5d4593d4b5cc8243
2020-02-06 10:33:25 -08:00
Mikhail Naganov
33e0578cdd audio: Clarify documentation for some methods
- explain the meaning of "audio patch" in IDevice.supportsAudioPatches
  method;

- clarify effect insertion order in IDevice.addDeviceEffect

Bug: 148617378
Test: N/A
Change-Id: Ifd7ec3dc9a53c949be0c8c823df499e4b20db4bd
2020-02-04 19:05:44 -08:00
Mikhail Naganov
40549fae50 audio: Provide documentation for enums in 'common' package
Bug: 148617378
Test: N/A
Change-Id: Ia28c9217527509430f2daf274e14380bfe79f145
2020-02-04 18:59:12 -08:00
Mikhail Naganov
e74b571711 audio: Remove dynamic dependency on HIDL interface libs from service
This is intended to reduce memory footprint of the default HAL
service. The inteface libraries were only used to retrieve
interface descriptors and use generated code to register as
service. This code was replaced with static code from
HIDL transport library.

Bug: 148115870
Test: check audio on devices
Change-Id: Ie8713d513cfbde64120546ba0db1cf80fd366138
Merged-In: Ie8713d513cfbde64120546ba0db1cf80fd366138
2020-01-31 14:57:07 -08:00
Mikhail Naganov
2801b037cd audio: Fix invalid BT A2DP interface name
The correct name is:
android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioOffload

Bug: 148648456
Bug: 148648729
Bug: 148648469
Bug: 148648355
Test: DeviceBootTest.DeviceBootTest#SELinuxUncheckedDenialBootTest
Change-Id: I50d3486159f17697b06e9680b85586b1935a9ccc
2020-01-31 14:48:23 -08:00
Mikhail Naganov
f3e4d217ee audio: Remove dynamic dependency on HIDL interface libs from service
This is intended to reduce memory footprint of the default HAL
service. The inteface libraries were only used to retrieve
interface descriptors and use generated code to register as
service. This code was replaced with static code from
HIDL transport library.

Bug: 148115870
Test: check audio on devices
Change-Id: Ie8713d513cfbde64120546ba0db1cf80fd366138
2020-01-29 16:35:51 -08:00
Automerger Merge Worker
53ae7c6ac3 Merge "[AudioEffect V6] Add missing sources in schemas" am: dde44ce92c am: 8acc85f35a am: 6f3ddf948e
Change-Id: I22cd018ea4abedbe397ce5fbd4d4555409619a5a
2020-01-29 17:20:27 +00:00
Automerger Merge Worker
d4322eed01 [AudioEffect V6] Add Device Effects am: f8ed37158b am: 5c4b0e82a7 am: 07573e2615
Change-Id: I2f4cae293d2edb321a622889c8d6ed2e29f61b27
2020-01-29 03:26:35 +00:00
François Gaffie
1aa7d5a691 [AudioEffect V6] Add missing sources in schemas
Test: build
Bug:

Change-Id: Icb27c115bcfae1b8df62ce7331872af249a069c9
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
2020-01-29 00:56:23 +00:00
François Gaffie
f8ed37158b [AudioEffect V6] Add Device Effects
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>
2020-01-29 00:55:57 +00:00
Automerger Merge Worker
f74cf07880 Merge "audio: Update copyHAL script to update dump_utils.cpp" am: 232a1d7831 am: 6b35310cbc am: 7b318ecf7f
Change-Id: I2a8f88b1b2d41b3445c99cd93bcd5c289e359534
2020-01-28 18:45:50 +00:00
Mikhail Naganov
51c87bc4c5 audio: Update copyHAL script to update dump_utils.cpp
dump_utils.cpp contains a list of interfaces that
need to be dumped.

Test: copyHAL.sh 6.0 7.0
Change-Id: I4444a5013852ea7362f3dba420c2c5c5c0f2a5c3
2020-01-28 08:48:28 -08:00
Automerger Merge Worker
d0e8e5f265 Merge "[vts-core] add VtsHalAudioV6_0TargetTest to vts-core" am: a64681e3c1 am: fb2270818c am: dff53cd8b9
Change-Id: Ice48ca0a4c08c1ddfde63c23a9dcacfb3df65e6e
2020-01-25 03:34:59 +00:00
Mikhail Naganov
0debfc3cc7 [vts-core] add VtsHalAudioV6_0TargetTest to vts-core
Add necessary configuration to VtsHalAudioV6_0TargetTest.

Bug: 146015418
Bug: 146104851
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I3e1bac38598ba5909c8eeb4f83e00bfd0bbbb058
2020-01-23 13:42:15 -08:00
Jaideep Sharma
9e62926f25 audiohal : add support for call_screen mode
Bug: 140384450
Test: make
Change-Id: Iea7816ba35538e5ee966dae4f57abf147d203bd0
2020-01-23 09:37:37 -08:00
François Gaffie
a8cac48d0f audiopolicy: engine: Add VTS for engine configurable configuration
This CL adds VTS test for engine PFW configuration files (Skipped
for default engine, the check is performed by reading the
audio_policy_configuration file AND parameter-framework top configuration
file)

AllSchemas.xsd is made by manual inclusion from all other
xsd files. It is used for API files generation.

Test: build & run vts --module VtsHalAudioPolicyV1_0Target
      atest VtsHalAudioPolicyV1_0TargetTest
Bug: 141989952

Change-Id: I62730caadafdcb5ebb3083d683625424864afe97
Merged-In: I62730caadafdcb5ebb3083d683625424864afe97
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
2020-01-17 21:42:55 -08:00
François Gaffie
b449cdb228 audio: Add VTS for configurable engine
This CL adds VTS tests for engine configuration.

Test: atest VtsHalAudioPolicyV1_0TargetTest
Bug: 141989952

Change-Id: Ied37edc5bba29ef461f6b68fa21781d5721b75bf
Merged-In: Ied37edc5bba29ef461f6b68fa21781d5721b75bf
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
Signed-off-by: Mikhail Naganov <mnaganov@google.com>
2020-01-17 21:42:09 -08:00
François Gaffie
f282171776 audio: update XSD for dynamic engine loading support config
Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest

Change-Id: Ic0afc27f09d8387236444901dfddc5f0f074ba1b
Merged-In: Ic0afc27f09d8387236444901dfddc5f0f074ba1b
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
2020-01-17 21:33:17 -08:00
Hayden Gomes
9c38bc988d Expanding AudioUsage to include new system usages
Bug: 141006627
Test: make
Change-Id: Ica8ada8e95e7d49bfcf7501cae2c356f68da8e3b
2020-01-17 22:27:49 +00:00
François Gaffie
94865666a7 audiopolicy: engine: Add VTS for engine configurable configuration
This CL adds VTS test for engine PFW configuration files (Skipped
for default engine, the check is performed by reading the
audio_policy_configuration file AND parameter-framework top configuration
file)

AllSchemas.xsd is made by manual inclusion from all other
xsd files. It is used for API files generation.

Test: build & run vts --module VtsHalAudioPolicyV1_0Target
      atest VtsHalAudioPolicyV1_0TargetTest
Bug: 141989952

Change-Id: I62730caadafdcb5ebb3083d683625424864afe97
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
2020-01-16 20:23:58 -08:00
François Gaffie
5958d576ed audio: Add VTS for configurable engine
This CL adds VTS tests for engine configuration.

Test: atest VtsHalAudioPolicyV1_0TargetTest
Bug: 141989952

Change-Id: Ied37edc5bba29ef461f6b68fa21781d5721b75bf
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
Signed-off-by: Mikhail Naganov <mnaganov@google.com>
2020-01-16 19:58:17 -08:00
François Gaffie
4060d8d7ae audio: update XSD for dynamic engine loading support config
Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest

Change-Id: Ic0afc27f09d8387236444901dfddc5f0f074ba1b
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
2020-01-15 12:23:59 -08:00
Eric Laurent
2c75ca6b27 Audio HAL: Add API to attach an effect to a device
Add a method to IDevice interface allowing the attachement of an
audio effect to an audio device.
This is used when an audio effect is implemented below the HAL (e.g by an audio DSP)
and is attached/enabled when a particular sink(e.g speaker) or source(e.g mic) device
is selected.

Bug: 136294538
Test: make
Change-Id: I73d78c4f234fd80443a1cb3772c2d65457968652
Merged-In: I73d78c4f234fd80443a1cb3772c2d65457968652
2020-01-10 11:16:42 -08:00
Eric Laurent
d33e6935e0 Audio effect HAL: Add device ID to createEffect API
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
2020-01-10 11:16:32 -08:00
Eric Laurent
5f9bb1b027 audio: add audio session for device effects
Add specific audio session ID for effects applied to a
particular audio device.

Bug: 136294538
Test: make
Change-Id: Iea3e3a07f404e1075844422c740d2dc4d5163598
Merged-In: Iea3e3a07f404e1075844422c740d2dc4d5163598
2020-01-10 11:16:12 -08:00
Treehugger Robot
653c876b5b Merge "Add audio stream and usage for virtual assistant" 2020-01-08 22:23:27 +00:00
Baekgyeong Kim
09e665e61c Add audio stream and usage for virtual assistant
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
2020-01-08 11:53:59 -08:00
Automerger Merge Worker
828f15ebfc Merge "[vts-core] add VtsHalAudioEffectV*_0TargetTest to vts-core" am: 4472878a42 am: 96dd61d29b am: e876443913
Change-Id: I1e989a1cbe6d39b2c5f9f135388ea882df1925da
2020-01-08 03:41:27 +00:00
nelsonli
3c12e5844c [vts-core] add VtsHalAudioEffectV*_0TargetTest to vts-core
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
2020-01-06 16:26:58 +08:00
Baekgyeong Kim
3bc7741e91 Add audio stream and usage for virtual assistant
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
2019-12-16 11:39:27 -08:00
Mikhail Naganov
6c070ca4e8 audio: Add IDevice::updateAudioPatch method
Add method 'updateAudioPatch' which should be used when
an existing patch needs to be updated with new routing.
Use of this method allows audio HAL to avoid disrupting
audio stream while changing routing.

Bug: 79248321
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I6c87f67fa4f2463ba9e8f0272a3232f5c9c55714
2019-12-13 19:28:37 -08:00
Eric Laurent
9866a1b22d Merge "Audio HAL: Add API to attach an effect to a device" 2019-12-14 00:31:42 +00:00
Automerger Merge Worker
9ce348e0fc Merge "audio: Ignore ENOSYS from optional legacy HAL methods" am: a659ab610b am: 8cd2f70c58 am: 4dab7f1e9c
Change-Id: I911fc7096b9ead0504c67319bd339442a16ceb6c
2019-12-13 17:56:41 +00:00
Treehugger Robot
a659ab610b Merge "audio: Ignore ENOSYS from optional legacy HAL methods" 2019-12-13 17:23:44 +00:00