Parse custom effect type uuid in audio_effects_config.xml, so OEM can
add effect types without changing code
Bug: 271500140
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I558958cc42c6c4a304e0ab1239ddefec9575a5af
When a vendor HAL reuses libaudioserviceexampleimpl,
a subclass of Module cannot change Configuration.
This change adds virtual method Module::initializeConfig(),
then a vendor HAL can override it to load custom Configuration.
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I63fa8d70f3c4e13c8938070ee5431ebefd36bb58
This is a method which can be optionally implemented
by a stream in case it can provide more exact position,
for example by taking into account data in intermediate
buffers.
Implemented this method for StreamAlsa and StreamRemoteSubmix.
Bug: 264712385
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I392933f8f6b22d784726925199db00dcb0313648
Make 'Module' more abstract by moving stream creation
methods to more concrete 'ModulePrimary' and 'ModuleStub'.
'ModulePrimary' is now closer to the CF primary module:
it was stripped off USB devices from its configuration,
these got moved to 'ModuleUsb', and got rid of BT A2DP
and LE interfaces, these will be on 'ModuleBluetooth'.
Note that 'ModulePrimary' still uses stub streams, this
will be changed in subsequent patches.
'ModuleStub' is what 'Module' used to be, just a module
for improving test coverage. It includes simulation of
offload streams and dummy BT objects.
Bug: 264712385
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I5e4da0c32c00d65688f2eda78b2c79594e4e4671
Extract code interacting with tinyALSA which is not
specific to USB into "abstract" module and stream
implementations ModuleAlsa and StreamAlsa. Also, move
utility code which does not need module or stream
context into Utils.
This facilitates implementation of the CF core HAL which
also uses tinyALSA, allowing to share common code.
Bug: 264712385
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I2134b15e970c78e8a48b254e15199b8207a8ab34
A non-existent test module VtsHalAudioCoreConfigTargetTest
was added by accident. This is a test class, not a module.
Bug: 290793450
Test: atest com.android.tradefed.presubmit.TestMappingsValidation
Change-Id: Icc40ec7fb956dcb85342266540ce8f17240da36b
1) Validate specific parameters before open call,
send only if parameters are supported.
2) GetParameters only if parameters are in range.
Bug: 288510312
Test: run vts VtsHalNSTargetTest, VtsHalAECTargetTest
Change-Id: Idb20d819b3eb8a4ba56b4d50311c1aa7659f3616
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
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
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
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
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
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
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
Make interface methods protected so that subclasses can
augment them.
Provide getters for private fields.
Bug: 282568751
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I0e4810f8a4c816c4f673139816e9768f6dc8da7c
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
This reduces the code size by not generating unnecessary code for
non-root elements.
Bug: 283700992
Test: m
Change-Id: I23bd5c2a0ccc40fded3ca08155ead5f4680c2ed9
'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
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
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
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
Change-Id: Ic7ed6b186e1d0f1ff853f84ad962c1e4acf17a68
This field should be filled by IFactory implementation
Bug: 271500140
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I96203b8cd037fd81b0b1d88fc5ca9915df02a919
Merged-In: I96203b8cd037fd81b0b1d88fc5ca9915df02a919
Instead of relying on the device type, use the 'AudioPort.flags'
field to determine the device direction.
Remove 'isUsbInputDeviceType' and 'isUsbOutputtDeviceType'
as they are too specific to particular device type and just
add a maintenance burden.
Bug: 266216550
Test: m
Change-Id: Ia1b9330c2b419a1a4048ed78d914d05c1caf523f
Make necessary changes to use updated AudioPolicyConfig class.
Bug: 205884982
Test: m VtsHalAudioV6_0TargetTest
Test: atest HalAudioV6_0GeneratorTest
Change-Id: Iced9d665d018853c4b2a50f4471a545af7bf60bb
Clarify what should happen to mix port profiles after
connection of an external device. Add a test to verify
this behavior.
Also, add an XML file for the test runner for
VtsHalAudioCoreTargetTest.
Bug: 273252382
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I3381dd29c5922bf31fa3a8ae6fa273597e8333a1
Merged-In: I3381dd29c5922bf31fa3a8ae6fa273597e8333a1
Add 'isDefaultAudioFormat' to Utils.h.
Print the module type in 'setModuleDebug'.
Align 'suggestDeviceAddressTag' with framework code.
Bug: 273252382
Test: m
Change-Id: I0248d2e866522a63a745d4af6132b7d2b6a01564
Merged-In: I0248d2e866522a63a745d4af6132b7d2b6a01564