Commit Graph

2227 Commits

Author SHA1 Message Date
Mikhail Naganov
4491c5c06e Merge "audio: Fix default surround sound config" into main am: 1b5dab3553 am: 3a4100ec40 am: 4eae019584
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2650299

Change-Id: Ifdf792ff09a4cdc6c4c3e27da385c4f692c5420f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 17:36:14 +00:00
Mikhail Naganov
724b24f895 audio: Fix default surround sound config
Ensure that all formats returned by
AudioPolicyConfigXmlConverter::getDefaultSurroundSoundConfig
can be converted into legacy values.

Bug: 290116634
Test: atest audio_policy_config_xml_converter_tests
Change-Id: I3a46ea5ee4805f719c8977064c9d8d681a75cff2
2023-07-06 13:51:37 -07:00
Mikhail Naganov
5e9873805d audio: Add DriverInterface::start method am: 49712b56d8 am: d8e545d9d8 am: 4eb39af463
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2647304

Change-Id: Ib7f0bf5f5c912c46d0544348a9f52307437245df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-01 00:33:14 +00:00
Mikhail Naganov
49712b56d8 audio: Add DriverInterface::start method
This method is used to bring out the hardware from standby.
It replaces the ad hoc 'exitStandby' method in StreamUsb.

Streamlined StreamUsb code to avoid locking during transfers.

Updated StreamRemoteSubmix to use 'start'.

Added extra checks to StreamStub to ensure that 'init/shutdown'
and 'standby/start' methods are called as expected. This allows
removing extra checks from non-stub stream implementations.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I3615a7ca99cb4f1e149dcbfbc912f2ed58fb033f
2023-06-30 13:41:55 -07:00
Treehugger Robot
d2a16a725f Merge "Audio : Add remote submix stream implementation" am: 12e6f0c42e am: cc562a7e03 am: e6f3ce4e0d
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2560751

Change-Id: Ie9e1f4b1834600f1c7ae3c0908c2ff974ce8a55c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 18:02:28 +00:00
Treehugger Robot
12e6f0c42e Merge "Audio : Add remote submix stream implementation" 2023-06-30 16:11:17 +00:00
Treehugger Robot
9de8da7cce Merge "vts: Don't excercise data path for offloaded/bypass effects" am: a2d5a26476 am: 7ab910076a am: 4ab418839e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2626523

Change-Id: I16cbaba8795b29aa94759fece7ed8ce178ec8ec2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 15:15:04 +00:00
Treehugger Robot
a2d5a26476 Merge "vts: Don't excercise data path for offloaded/bypass effects" 2023-06-30 12:55:47 +00:00
Shraddha Basantwani
6bb696370b Audio : Add remote submix stream implementation
Bug: 286914845
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ia477458193ade9068eaf56e953ab670fee53cc7d
2023-06-30 09:05:50 +00:00
Shunkai Yao
178d91f54b Merge "Support passing entire effect_param_t as vendor extension" am: afb60c5bb1 am: 1831d7794b am: 863545f567
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2640842

Change-Id: Ia43aee79f5b5b29c63aa866b24325d2b04919c6f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 02:48:50 +00:00
Shunkai Yao
beef909697 Support passing entire effect_param_t as vendor extension
Replace the UUID toString with hex version

Bug: 271500140
Test: Enable AIDL
Test: atest libAudioHalEffectParamTest
Change-Id: I79a5db25dc45774821a9a9a6bcda77c04e9da90d
2023-06-29 18:18:20 +00:00
Jaideep Sharma
cba428627a vts: Don't excercise data path for offloaded/bypass effects
Incase of offload effects or effects running in bypass mode
data is not handled by effect module, in those cases skip the
testcases to excercise data path.

Bug: 287590880
Test: run vts -m VtsHalAudioEffectTargetTest

Change-Id: I76155f8997b415bc96242f995ccc2e33c8989dc5
2023-06-28 04:47:30 +00:00
Mikhail Naganov
3a934a0a38 audio: Allow Module subclasses to customize stream creation am: 9d16a6ac10 am: 7e18503e54 am: e3b125a259
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2639437

Change-Id: I670bb90ab160670bf8a9cac9cf8ea1b340981c91
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 20:39:17 +00:00
Mikhail Naganov
7843540550 audio: Refactor streams implementation am: d5554cfae2 am: 3872e306cf am: 0dbc038899
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2639436

Change-Id: Iefe316c71ca4ae28bff2c1ab17e83e0a4e367c2f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 20:39:13 +00:00
Mikhail Naganov
deade0b3c1 audio: Propagate errors from Driver::setConnectedDevices am: 75b59dfb4e am: c135ebc172 am: 7c6cb9405f
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2639435

Change-Id: I47e596ae4765f47424f6a97aa4a2a76ce8da96bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 20:39:10 +00:00
Mikhail Naganov
3a83ced436 audio: Enable use of 'expected_utils' for ScopedAStatus am: 26dc9add8d am: c4fa12372d am: 43bce723be
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2639434

Change-Id: I6c6429d26021dc12827bb45c1deb54dc5baf37d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 20:39:06 +00:00
Mikhail Naganov
13c9165e87 audio: Pass flags and I/O handle to StreamContext am: b42a69ef68 am: f3121325bc am: f632f14081
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2639433

Change-Id: I5dc858e0a6d8d47ca13eaa6f0eb4377628193da7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 20:39:03 +00:00
Mikhail Naganov
bb351404f4 audio: Facilitate extension of Module class by vendors am: 57f0dcf78d am: 9e3b3d013a am: e65c2a2c72
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2639432

Change-Id: If8dc3e61a15f79467f9f40644db95f8d8895dbe9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-27 20:38:58 +00:00
Mikhail Naganov
9d16a6ac10 audio: Allow Module subclasses to customize stream creation
Since specializations of the 'Module' class likely need
to provide their own specializations for streams, provide
virtual methods for them.

Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Iddb1bff9f11bc867aba61897ea2f8b9bc3c27544
2023-06-26 17:32:01 -07:00
Mikhail Naganov
d5554cfae2 audio: Refactor streams implementation
Simplify the experience of implementing stream variants.
Stream class now exposes two interfaces: DriverInterface
and StreamCommonInterface, which represent the two
aspects of its usage: via the FMQ on the worker thread,
and via IStreamCommon Binder interface.

Input/output streams now inherit the concrete stream
variant, and implement interface methods specific for
IStreamIn and IStreamOut.

Added DriverInterface::shutdown method which is called
on the worker thread prior to the exit.

Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I5bf8da2f22b27f0e284a41fc30b920d87ac2936c
2023-06-26 17:32:01 -07:00
Mikhail Naganov
75b59dfb4e audio: Propagate errors from Driver::setConnectedDevices
Plumb propagation of errors reported by the implementations
of DriverInterface::setConnectedDevices up to the Module.
This allows returning the reported errors from the corresponding
IModule interface methods. Implement handling of errors
from connection state update by the Module implementation.

When updating streams about the connection status
ensure that the list of connected devices is not empty.

Also, add an extra check to AudioStreamIn#ActiveMicrophones
to validate the size of the returned active microphones
list.

Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I62a422d95c37a672fce4ad221bea435cc7b4ebfa
2023-06-26 17:32:01 -07:00
Mikhail Naganov
26dc9add8d audio: Enable use of 'expected_utils' for ScopedAStatus
Add necessary helper functions and use
RETURN_STATUS_IF_ERROR where possible.

Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: If68c995da0e5e0cb2e9c142ba40af6503ff628b2
2023-06-26 17:32:01 -07:00
Mikhail Naganov
b42a69ef68 audio: Pass flags and I/O handle to StreamContext
Vendor implementations may need to see the value of flags
and the I/O handle of the mix port used to open the stream.

Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: If1f346793f3b3a725bc19358909f5b461cb159c1
2023-06-26 17:32:01 -07:00
Mikhail Naganov
57f0dcf78d audio: Facilitate extension of Module class by vendors
Make interface methods protected so that subclasses can
augment them.

Provide getters for private fields.

Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I0e4810f8a4c816c4f673139816e9768f6dc8da7c
2023-06-26 17:32:01 -07:00
Shunkai Yao
b68ed1a322 Merge "Format VTS test code" am: e0ade8fe67 am: 1e58a2b6dd am: 7f651d40ee
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2636889

Change-Id: If96ef344e65290819a271159030d5e7659d4e31a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-23 20:04:36 +00:00
Shunkai Yao
a5d1487caf Merge "aidl: Improve Effect VTS naming" am: 187b6b7ece am: 68cceeb6c7 am: c7e09df339
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2627771

Change-Id: Ia799d62f5ffb061eed92be2f4462bc62c75204c9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-23 06:47:14 +00:00
Shunkai Yao
9e60e635bf Format VTS test code
Bug: 287430121
Test: atest VtsHalAudioEffectTargetTest
Change-Id: Iecc0c9388c6596cf5a25918f8f0af0495b2133a6
2023-06-23 04:34:50 +00:00
Jaideep Sharma
e4c7a96789 aidl: Improve Effect VTS naming
Use uuid in hexadecimal format in testcase name.

Change-Id: Ib687b6617060e4400a767f23ca0b26cece4005f1
2023-06-16 05:58:43 +00:00
Yu Liu
eea9728bee Merge "Remove duplcated static libgtest" am: b06d1aeb9f am: 5a04a3a70b am: bb9d3e8211
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2615812

Change-Id: Ib2dc7daa24cdeb5b024517542bf8a4020b2d89c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-06 19:52:45 +00:00
Yu Liu
e989964b89 Remove duplcated static libgtest
Bug: 284287101
Test: locally build
Change-Id: Ia7fbf101eff850a2d128f17ad3fdefe6da99a987
2023-06-05 12:47:39 -07:00
Jooyung Han
13f58a77f3 Merge "Set root elements for xsd_config modules" am: ee8374606a am: 5a73645eb0 am: f371c2e7bc
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2596609

Change-Id: Idb0d2297407a5708a8e21362ef39c7a32c371dfd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-30 06:16:20 +00:00
Jooyung Han
ee8374606a Merge "Set root elements for xsd_config modules" 2023-05-30 03:58:25 +00:00
Mikhail Naganov
6723ed8292 audio: Add more legacy channel masks for the input direction am: 310b1c6e7e am: 1b18653358 am: 1ba447bbba
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2599107

Change-Id: Idef166bd1a1546ab11c920081716ace2e72ab2f1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-23 02:27:17 +00:00
Mikhail Naganov
310b1c6e7e audio: Add more legacy channel masks for the input direction
This is in order to achieve a better parity both with
legacy output channel masks and AIDL channel layouts.
The change only affects the XSD schema used to generate
a parser for legacy configuration files.

Bug: 283542128
Test: atest audio_aidl_conversion_tests
Change-Id: Ic69b94f6ec650e0814f0200dbef219567eac9fe2
2023-05-22 13:52:50 -07:00
Mikhail Naganov
c4d15dc1e2 audio: Fix the comment about threading of DriverInterface::init am: 3755134720 am: 1d0e427c27 am: 44ee5be311
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2597780

Change-Id: I54855c70dbc949c327bd737a11b31c23e56cf893
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-22 20:24:11 +00:00
Jooyung Han
16d5af6755 Set root elements for xsd_config modules
This reduces the code size by not generating unnecessary code for
non-root elements.

Bug: 283700992
Test: m
Change-Id: I23bd5c2a0ccc40fded3ca08155ead5f4680c2ed9
2023-05-22 16:43:12 +09:00
Mikhail Naganov
3755134720 audio: Fix the comment about threading of DriverInterface::init
'DriverInterface::init' is called on the same thread as other
interface methods (the worker thread), except
for 'setConnectedDevices'. Update the comment to reflect this,
and rearrange the methods order in the interface.

Bug: 283463913
Test: m
Change-Id: I8937506d20ff8233b4b934c421173ce2bec9d43e
2023-05-19 20:08:53 -07:00
Lorena Torres-Huerta
1016c689c9 audio: Provide code for parsing surround sound config from XML am: aa8f76af92 am: 373c6167f0 am: 628e53a343
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2593365

Change-Id: I94ec749365efc3901dd8f298cb6cefe64fd7a41c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-17 19:54:58 +00:00
Mikhail Naganov
d24fc51e0c audio: Enable more compile time checks in the default impl am: b511b8aa21 am: 796d7846db am: 7daa2861c5
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2592261

Change-Id: I58a138b32c11796cea34491c1bd7477991bb62ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-17 19:54:54 +00:00
Lorena Torres-Huerta
aa8f76af92 audio: Provide code for parsing surround sound config from XML
The main change is to convert the result of parsing from XSDC
types to AIDL, and add a VTS test for IConfig.getSurroundSoundConfig.

Extra changes:
  - add 'Unchecked' suffix to conversion functions that do not
    wrap the result into ConversionResult;
  - enable more compile-time checks for the default AIDL service,
    fix issues found.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Icf578b8d28647e6355ed5328599c77d2ca1234f9
2023-05-16 18:00:14 -07:00
Mikhail Naganov
b511b8aa21 audio: Enable more compile time checks in the default impl
Enable "-Wall, Wextra, Werror, Wthread-safety",
fix discovered issues.

Bug: 205884982
Test: m
Change-Id: I0a8d3095dd24dbb3bc7cf6569c1f71945cd55168
2023-05-16 17:54:30 -07:00
Shunkai Yao
492dc40711 Merge "Implement AIDL effect IFacotry::queryProcessing" 2023-05-16 22:38:43 +00:00
Mikhail Naganov
5777253dc1 Merge "audio: Update hardwired configuration" am: cd0609de1e am: 8d5d162c75 am: 787cf6274b
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2588185

Change-Id: I37a8f51979da0a50f2aa323f7934469fc88349ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 02:51:20 +00:00
Shunkai Yao
5824efbe84 Implement AIDL effect IFacotry::queryProcessing
Bug: 281572768
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I0166786d531437ef52690b92067766879b043a1d
Merged-In: I0166786d531437ef52690b92067766879b043a1d
2023-05-15 23:13:07 +00:00
Mikhail Naganov
26526f15e3 audio: Update hardwired configuration
Fill in address for remote submix devices. Specify correct
connection type for the remote submix output.

Avoid logging entire HAL Engine Config.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I246435e4d3b848b5d0ad9810d13f650603eac76d
2023-05-12 19:44:26 -07:00
Shunkai Yao
1c30c9fbb6 Merge "Implement AIDL effect IFacotry::queryProcessing" into udc-dev am: 686183ef3d
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/23088664

Change-Id: Ib049ed3dce867dbc09006a4459bfbdbfd82179ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 17:35:25 +00:00
Shunkai Yao
89ec63ed09 Implement AIDL effect IFacotry::queryProcessing
Bug: 281572768
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I0166786d531437ef52690b92067766879b043a1d
2023-05-12 14:36:23 +00:00
Treehugger Robot
2ba43ea9f3 Merge "Remove Descriptor proxy field from individual effect" 2023-05-10 17:37:29 +00:00
Mikhail Naganov
ba65d8a948 audio VTS: Update 7.0/PolicyConfig
The call to instantiate PolicyConfig was updated
in Iced9d665d018853c4b2a50f4471a545af7bf60bb, however
the version of PolicyConfig class for HIDL HAL 7.x
was not updated accordingly

Bug: 205884982
Bug: 281450557
Test: atest VtsHalAudioV7_0TargetTest
Test: atest HalAudioV7_0GeneratorTest
(cherry picked from https://android-review.googlesource.com/q/commit:a273cdde847a627465458f971f88fa9ce07d4731)
Merged-In: Ic7ed6b186e1d0f1ff853f84ad962c1e4acf17a68
Change-Id: Ic7ed6b186e1d0f1ff853f84ad962c1e4acf17a68
2023-05-09 16:00:54 +00:00
Treehugger Robot
13ec38a16d Merge "audio VTS: Update 7.0/PolicyConfig" am: 9470948681 am: f29fb96f32 am: 331361212e
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2582357

Change-Id: I05c469434ec8a9241c904c7665bdb0ace9e3fc49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 11:09:09 +00:00