Commit Graph

936 Commits

Author SHA1 Message Date
Hayden Gomes
4e7d69e751 Changing package for audio_policy_configuration_V7_0
- 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
2020-12-04 16:50:37 +00:00
Mikhail Naganov
c9dbca51e6 audio: Align lists of enum values between framework and HAL
Enum values defined in the XSD now correspond to the
"no system definitions" lists of enums in
system/media/audio/audio-hal-enums.h.

Added channel masks that used to be in s/m/a/audio-base-utils.h.
Removed use of "vectors of vectors" for channel masks
since individual channels are not allowed to be used
in the APM config and at the HAL transport level.

Fixed definition of the gain mode of audio ports:

1. Since it's a bit mask in the framework, it must be a list in
   the audio policy configuration XML file. Note that the old
   definition is compatible with the new one as one element is a
   valid list.
2. As gain mode is defined in the XSD file, it shouldn't be
   defined again in types.hal.

Bug: 122858783
Bug: 142480271
Test: audio smoke tests
Change-Id: I2df5eb4bc4a393611d3adb0ee30583767197591b
Merged-In: I2df5eb4bc4a393611d3adb0ee30583767197591b
2020-12-01 23:37:53 +00:00
Mikhail Naganov
12776a1b3d Convert mask types from uint32_t to enum type
This applies to the following types:

- audio_gain_mode_t;
- audio_flags_mask_t;
- audio_channel_representation_t;
- audio_channel_mask_t;
- audio_devices_t.

Enum types are distinct thus proper overloading on the type
is possible in C++. Also, assignments to enum types are
less prone to errors.

Bug: 169889714
Test: basic audio functionality
Change-Id: I07e96ae99724f38fe0b40194f4feab7ff68418e7
Merged-In: I07e96ae99724f38fe0b40194f4feab7ff68418e7
2020-11-24 03:44:08 +00:00
Mikhail Naganov
94ab03a3a2 Remove PREUPLOAD.cfg from audio HAL example
As suggested by the comment on ag/12691153

Bug: 142480271
Test: N/A
Change-Id: Ic9e2b986d3f9734dd884a2c88ca86d251147126b
Merged-In: Ic9e2b986d3f9734dd884a2c88ca86d251147126b
2020-11-21 01:16:10 +00:00
Mikhail Naganov
d72a7c27ab audio: Implement VTS tests for V7.0
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
2020-11-21 01:15:53 +00:00
Mikhail Naganov
baf57fb136 audio: Add example HAL implementation
This is partial implementation of the example V7.0 audio HAL
which passes VTS tests. Note that the 'core' part
of the HAL (IDevice/IStream) isn't implemented yet.
It passes VTS because it doesn't provide any devices
(modules) and the audio HAL isn't the 'default' instance.

Bug: 142480271
Test: atest VtsHalAudioV7_0TargetTest
      atest VtsHalAudioEffectV7_0TargetTest
Change-Id: Ie3dd62c5db1cdb5534df4dd7f326c4c8776bf3c4
Merged-In: Ie3dd62c5db1cdb5534df4dd7f326c4c8776bf3c4
2020-11-21 01:15:39 +00:00
Mikhail Naganov
1074c22fe1 audio: Reformat README as Markdown
Rename README -> README.md, reformat it as Markdown.
Provide missing descriptions for some directories.

Bug: 142480271
Test: N/A
Change-Id: Ic6f60a21def4bf210a7e1446454d709f68a13422
Merged-In: Ic6f60a21def4bf210a7e1446454d709f68a13422
2020-11-21 01:15:19 +00:00
Mikhail Naganov
355dd0630c audio: HAL V7 tweaks
- rename AudioBasicConfig -> AudioConfigBase to better
  match a similar structure in audio.h;

- define AudioProfile structure for defining an I/O profile;

- use AudioProfile to replace IStream.getSupported* methods
  with a single IStream.getSupportedProfiles method;

- define AudioDevice type for convenience and clarity;

- move enums definition for AudioInputFlags and AudioOutputFlags
  into XSD. This allows parsing APM config w/o depending on
  the framework code.

Bug: 142480271
Test: m
Change-Id: I1951b2de383751fe53b96954dfd02cdd1ab6cc8f
Merged-In: I1951b2de383751fe53b96954dfd02cdd1ab6cc8f
2020-11-21 01:15:03 +00:00
Mikhail Naganov
fda20429b4 Audio: Rearrange types in V7
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
2020-11-20 01:41:38 +00:00
Mikhail Naganov
a8814e51be Audio: Build file updates
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
2020-10-27 15:24:36 +01:00
Mikhail Naganov
60ced768f3 Audio: Copy HAL V6 into V7
This is an automated copy performed using copyHAL.sh script.

Bug: 142480271
Test: m
Change-Id: Ifd91cc0bb59608cd92d1d8e4e76c3abea0a8da5e
Merged-In: Ifd91cc0bb59608cd92d1d8e4e76c3abea0a8da5e
2020-10-27 15:24:36 +01:00
Mikhail Naganov
3b1172dfe4 Audio: Update and fix copyHAL script
Make necessary updates and fixes to produce HAL V7 and VTS.

Bug: 142480271
Test: audio/common/all-versions/copyHAL.sh 6.0 7.0 &&
      atest --rebuild-module-info -b VtsHalAudioV7_0TargetTest &&
      m
Change-Id: I5bc2344dae611fbf7e3e0fef185deee999c4aefa
Merged-In: I5bc2344dae611fbf7e3e0fef185deee999c4aefa
2020-10-27 15:24:36 +01:00
Grzegorz Kolodziejczyk
b5f2d23e26 Introduce LE Audio software provider for bluetooth audio 2.1
Patch introduces LE Audio software encoding provider for bluetooth audio 2.1.

Bug: 150670922
Tag: #feature
Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Change-Id: If668593be7a46c9abcc45d21c5bdb9b493864cc1
2020-10-09 17:54:44 +00:00
Dan Shi
f27b504a10 Remove vts10 reference vts_target_tests_defaults
The module is obsoleted.

Bug: 169581727
Test: build
Change-Id: I55853a2cde4c042c489b0e6ac8bcab93fc47be73
2020-10-05 10:48:24 -07:00
Dan Shi
ac9cf4482b Suppress gtest error for tests without any instance
Bug: 162052785
Test: m -j vts
Change-Id: I627d6790aa08aa9c6e3c5b8bdc533213ee08de21
Merged-In: I627d6790aa08aa9c6e3c5b8bdc533213ee08de21
2020-09-11 11:02:25 -07:00
Xin Li
36dcf1a404 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I6502829205ede2de914b27e6c2c5c42916af2b39
Change-Id: I7cb06511e43bd1fffd5f80a11dbdf5b1314cfe8e
2020-08-28 13:05:04 -07:00
Jasmine Cha
1eb1f36877 Audio VTS: Fix empty parameter list failures for AudioV6
For AudioV6, OptionalInputBufferSizeTest isn't included in macro
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST.

Bug: 162715033
Test: atest VtsHalAudioV6_0TargetTest

Signed-off-by: Jasmine Cha <chajasmine@google.com>
Change-Id: I526fe166594283540804ee61265c6000de5a89e8
2020-08-03 08:49:38 +00:00
Treehugger Robot
3f5116a1f6 Merge "Provide defaults for android.hardware.audio@6.0-impl" 2020-07-22 16:37:39 +00:00
Mikhail Naganov
b9743d4728 Audio VTS: Suppress empty parameter list failures
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
2020-07-21 10:57:03 -07:00
Roman Kiryanov
411edccbb3 Provide defaults for android.hardware.audio@6.0-impl
This will allow vendors to create instances of
this library with other names. A different name
is required if a vendor wants to provide a custom
version (e.g. in HIDL) of
android.hardware.audio@6.0-impl and still
be able to use the library itself (e.g. to load
audio.r_submix.default) -
android.hardware.audio.service does not load both
libraries and prefers the default one.

Bug: 161485545
Test: boot emulator, check if audio works
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: I55c4f9b1386be3464ad0f5f2568423843e7eae88
2020-07-20 16:08:17 -07:00
Inseob Kim
e396a3d004 Use shared variant of VNDK libmedia_helper
Vendor modules should use shared VNDK.

Bug: 137178339
Test: m && boot blueline
Change-Id: I56ad69125811ff768d8064af34acf5603b575b4b
Merged-In: I56ad69125811ff768d8064af34acf5603b575b4b
2020-07-20 16:08:00 -07:00
Victor Khimenko
7d537ae398 Make android.hardware.renderscript@1.0 buildable for native_bridge am: 7cac9425b0 am: d454bfb695
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1358405

Change-Id: I9b3d2a48add5c2dd65948dbd1e779cc29b5a2fb9
2020-07-09 20:26:55 +00:00
Victor Khimenko
7cac9425b0 Make android.hardware.renderscript@1.0 buildable for native_bridge
Bug: http://b/153609531

Test: m android.hardware.renderscript@1.0.native_bridge

Change-Id: If11376cdd583629c8edfea17efb130dd68dc9b8f
2020-07-08 21:20:03 +00:00
Jooyung Han
d610435ac4 update hidl .bp
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)
2020-07-07 16:22:36 +09:00
Jooyung Han
d18cba85fe update hidl .bp
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)
2020-07-02 12:26:37 +09:00
Treehugger Robot
4a432b55c2 Merge "Build 64-bit audio service on 64-bit-only" am: 01937cb938 am: a0ac5fce1e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1327194

Change-Id: Icbba8512e69264181b8ed68f84064f1563f54cb9
2020-06-26 23:10:19 +00:00
Alistair Delva
cc8dabbf51 Build 64-bit audio service on 64-bit-only
Bug: 158659988
Change-Id: I30f692537971bfafb6bcd931488cf6869477f62e
2020-06-25 09:45:35 -07:00
Dan Shi
3b6534e36d Use StopServicesSetup to stop/start framework. am: 8a648312f8 am: 95d430d6c8
Change-Id: I96a02ab530d4efd386c5f835bbb932e62ea8ea7d
2020-05-13 18:19:37 +00:00
Dan Shi
8a648312f8 Use StopServicesSetup to stop/start framework.
Bug: 155774142
Test: none
Exempt-From-Owner-Approval: This CL replaces target preparer, shouldn't
change test behavior.

Change-Id: I83cffadfff15e6352a69641c3227efb63e7a34e4
2020-05-12 14:07:30 -07:00
Andy Hung
86c4afc1aa Merge "AudioMetadata: Add documentation" into rvc-dev am: 425e365256
Change-Id: I6eccb936048721536462760cba4303001ad6e089
2020-05-11 21:56:03 +00:00
Andy Hung
e6b9c77789 AudioMetadata: Add documentation
Update comments only for IStreamOutEventCallback::onCodecFormatChanged

Test: compiles, this is a comment change only.
Bug: 150175043
Change-Id: I1895c737997fbf3cb509b4078b545658d11df198
2020-05-08 13:43:56 -07:00
Suren Baghdasaryan
b74f6423f5 Replace direct pid writes with setting task profiles for audio interfaces
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.

Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ide373c283359cf4b73af4cb0813d8c0306942595
Merged-In: Ide373c283359cf4b73af4cb0813d8c0306942595
2020-05-02 00:34:04 +00:00
Suren Baghdasaryan
fd2cb35456 Replace direct pid writes with setting task profiles for audio interfaces am: 3c6f2df90a am: b1c906ff99
Change-Id: I2663aa7a9d1c51f90a1830b44d59c2bab31887c4
2020-05-01 17:03:55 +00:00
Suren Baghdasaryan
3c6f2df90a Replace direct pid writes with setting task profiles for audio interfaces
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.

Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ide373c283359cf4b73af4cb0813d8c0306942595
2020-04-30 13:45:13 -07:00
Mikhail Naganov
0dd9a6bacc audio: Centralize audio configuration paths specification
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 VtsHalAudioV6_0TargetTest \
            VtsHalAudioPolicyV1_0TargetTest \
            VtsHalAudioEffectV6_0TargetTest
Change-Id: I1e40fdf8d6e3a5ac339f7f138f62063bb87bd3da
Merged-In: I1e40fdf8d6e3a5ac339f7f138f62063bb87bd3da
2020-04-17 01:55:48 +00:00
Treehugger Robot
09f4f0b61b Merge "audio: Centralize audio configuration paths specification" am: c2e1f3baef am: fefefa63a6
Change-Id: I029ebd83595381768858cbb3efe92c2f3b09ffac
2020-04-16 23:35:46 +00:00
Steven Moreland
cedd3f387b VtsHalAudio*TargetTest in vts.
Bug: 139438327
Test: N/A
Change-Id: I0fb6c966c70cc51cbfd13fd27d6224c9fd07ec20
2020-04-15 23:54:45 +00:00
Mikhail Naganov
5a6ffb21a5 audio: Centralize audio configuration paths specification
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
2020-04-15 10:09:38 -07:00
TreeHugger Robot
25e1181101 Merge "Convert VtsHalAudioV*_0TargetTest to parameterized gtest" into rvc-dev 2020-04-08 20:30:00 +00:00
Dan Shi
eb5f33e0ef Rename vts-core to vts am: ba894f81db am: 55d110bcd0
Change-Id: Ifc137320af42febc24937f09e5baa4c5a95ac1c4
2020-04-07 23:56:42 +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
ba894f81db 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 15:17:02 -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
Treehugger Robot
f5f04f157c Merge "Audio Effects: Run more tests for LoudnessEnhancerEffect" am: 7a2c9860f2 am: 004262eec4
Change-Id: I1a26e0230fe72a70b9ce85b028824b74012faf9d
2020-03-23 20:12:39 +00:00
Treehugger Robot
7a2c9860f2 Merge "Audio Effects: Run more tests for LoudnessEnhancerEffect" 2020-03-23 19:52:02 +00:00
Mikhail Naganov
892d147516 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
2020-03-23 11:32:08 -07:00
Mikhail Naganov
5e45410c9a Merge "audio: Check result from oneway calls" into rvc-dev am: 6d0d85d9b2
Change-Id: Ia77d1abf145193f718eff3cde21d1663a10f8d2f
2020-03-20 02:23:01 +00: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