Commit Graph

50 Commits

Author SHA1 Message Date
Shraddha Basantwani
0a981d36cf Audio Effect : Add base implementation of commandImpl method
Removing code repeatation and moving this method to base class.
Effect implementations can override enable, disable and reset methods.

Bug: 305866207
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Iceb7ad51185d6f6bd2b6d70a5a1dd51e7bd37276
2024-07-30 05:23:02 +00:00
Shunkai Yao
fbb29ced9f Improve effect AIDL HAL logging
Bug: 333407024
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Ie983c4360488a6047bd284c20bf9899d38b4273e
2024-05-09 22:34:10 +00:00
Shunkai Yao
ef683a9c60 Use customized event flag for data FMQ not_empty to avoid conflict
also update VTS data path test skipping for offload effects

Bug: 335547630
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Ie92f04091658e210dccb7a2d60ebbab14c49fb58
Merged-In: Ie92f04091658e210dccb7a2d60ebbab14c49fb58
2024-05-09 01:07:34 +00:00
Shunkai Yao
bb35effe0d Audio effect aidl log reduce and level adjust
Bug: 329334917
Test: atest AudioEffectTest
Test: atest CtsMediaAudioTestCases
Test: atest CtsEffectTestCases
Test: audio use cases on pixel AIDL audio hal
Change-Id: I49876924b230f2ac834d3b0e494a03b814c4bb6e
Merged-In: I49876924b230f2ac834d3b0e494a03b814c4bb6e
2024-03-16 00:00:12 +00:00
Shunkai Yao
7e2c3719ff Add backward compatibility in effect hal default implementation
Skipping the reopen sequence for unsupported version
Add member initialize for EffectContext

Bug: 322780092
Test: latest libAudioHal with V1 effect HAL
Test: atest VtsHalAudioEffectTargetTest

Change-Id: I597194e5ebf25566d5adda533e151da2e99781f4
2024-02-05 22:58:54 +00:00
Shunkai Yao
08c05dd017 Update work buffer size with input/output frame size change
call process with the minimal of input/output fmq data capacity

Bug: 321543210
Test: atest VtsHalAudioEffectTargetTest
Test: flash to pixel phone and test audio
Change-Id: I0c5087f541dc8526ac733a0c35f0d06f878d78a1
2024-01-26 18:59:13 +00:00
Shunkai Yao
65c7c7051d Effect AIDL: implement IEffect.reopen
- add IEffect.reopen implementation
- now data MQs can update at runtime, sync
  EffectContext access
- add clang thread annotation

Bug: 302036943
Test: atest VtsHalAudioEffectTargetTest
Test: build and test audio effect on Pixel
Change-Id: I3e9fdc2d5eb50b8c1377e0da75573f0eba7ea3f1
Merged-In: I3e9fdc2d5eb50b8c1377e0da75573f0eba7ea3f1
2024-01-12 17:23:28 +00:00
Shunkai Yao
5b15e005a9 Effect AIDL: add IEffect.reopen to update the effect instances data FMQ
The effect instance may choose to reallocate the input data message
queue under specific conditions. For example, when the input format
changes, requiring an update to the data message queue allocated during
the open time.
In such cases, the effect instance can destroy the existing data message
queue, when the audio framework see a valid status MQ and invalid data MQ,
it call reopen to get the new data message queue.

Bug: 302036943
Test: m android.hardware.audio.effect-update-api, m
Change-Id: Ia245b154176f64bc3cc6e6049bca4f9c68ad482d
Merged-In: Ia245b154176f64bc3cc6e6049bca4f9c68ad482d
2024-01-12 17:23:14 +00:00
Shraddha Basantwani
a3d4847794 Audio Effect : Add checks to validate the channel count
Bug: 302036943
Test: atest audioeffect_analysis
Change-Id: Ic64394e646fa23e02e499c2f01ef3bd4490450d2
2024-01-09 10:37:54 +00:00
Shunkai Yao
5b8638c66c Remove unused file EffectWorker.h
Bug: 299213582
Test: m
Change-Id: I9ffd2e4e1cf1fbca69650eb101812db2ed3acc6f
2023-09-07 17:57:45 +00:00
Shunkai Yao
074cf23ff6 Make EffectFactory implementation thread-safe
Also adjust some log level as verbos

Bug: 271500140
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I04560c62bdbcfb85dbe223bec0149b112205a323
2023-07-14 23:57:32 +00:00
Shunkai Yao
41888a2f07 Add EventFlag for effect HAL thread processing
Bug: 261129656
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit

Change-Id: Ibe6052a8c2a182b33e6fe727b8606431dd2f5355
2023-04-11 00:10:50 +00:00
Ram Mohan
9c47719bf7 Add utils for checking range limits of effect config params
Bug: 272195502
Test: Build

Change-Id: I1ff5af7d25e9410c58f323b6d12dbe6764e40073
2023-03-28 20:28:04 +05:30
Shunkai Yao
f8be1acde7 Update EffectUUID initialization
Avoid dynamic initialization global UUID variables

Bug: 271500140
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I7574c1fe1ba0aaff1d9d29a9eed10de1aef33806
2023-03-17 18:16:22 +00:00
Mikhail Naganov
872d4a6518 audio: Put audio/aidl/common/include/Utils.h into 'aidl' NS
These utilities are for types generated from AIDL. Since
the types end up in the 'aidl' namespace (NDK backend), it makes
sense to keep the utilities in the same namespace.

While changing the namespace, I've found numerous useless
includes of 'Utils.h' and removing them, also reorganizing
lists of includes along the way to match the style guide.

Bug: 205884982
Test: m
Test: atest --test-mapping hardware/interfaces/audio/aidl/TEST_MAPPING
Change-Id: Ib23b47092364046f632f9503b92b9baff5b902f5
2023-03-10 11:34:31 -08:00
Shunkai Yao
eae5c56fb4 Add sleep in EffectThread to avoid busy wait
Bug: 261129656
Test: Enable AIDL and run YTM on pixel phone
Change-Id: If7ea5324b8a884e8f07b6855b70cb33b4c7868e4
2023-03-09 02:30:15 +00:00
Shunkai Yao
86741089e3 [AIDL CTS] pass Visualizer implementation cts
Bug: 270158223
Test: atest android.media.audio.cts.VisualizerTest
Change-Id: I51f9eb9b1113031c3aec9e8e35f2a1f729c3d2b9
2023-02-22 18:13:41 +00:00
Shunkai Yao
c2e1b5f7f1 Merge "Effect AIDL: Add default extension with vector<uint8_t>" 2023-02-16 02:24:38 +00:00
Shunkai Yao
85b0169fca Effect AIDL: Add default extension with vector<uint8_t>
Bug: 258124419
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I3fa7f78ed2227d00b999c7e594d1b1d205f585e7
2023-02-16 00:28:21 +00:00
Shraddha Basantwani
cac2e68b40 Audio AIDL : Add placeholder implementation and VTS test case for AGC1
Bug: 258124419
Test: atest VtsHalAGC1TargetTest
Change-Id: Ia9894ac21b284a554f8c2d66966d07e5e4621ccd
2023-02-15 23:36:06 +05:30
Shraddha Basantwani
84ea32e419 Audio AIDL : Rename AutomaticGainControl to AutomaticGainControlV2
Bug: 258124419
Test: atest VtsHalAGC2TargetTest
Change-Id: Ia3de57a109852e21d2f6e2b003e8f4286f8278b3
2023-02-15 18:11:11 +05:30
Shunkai Yao
8781102d74 Effect AIDL: Refactor effect capability with Range implementation
Bug: 258124419
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: Ie76270e91471a30f7dda1883c510cd318745855f
2023-02-14 20:39:22 +00:00
Shunkai Yao
b49631f4c2 Effect AIDL: Move EffectThread process into mutex
To avoid the case of receive thread stop right before process, in this
case test case AudioEffectTest#ConsumeDataAfterRestart will fail.

Bug: 264618800
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I3c00361a537bc7010e6cd138f637f68b963e8033
2023-02-08 17:48:52 +00:00
Shunkai Yao
1d2d51a55d audio: Add API to get io handle
Add new API to fetch IO handle which is
used for offloaded effects.

Test: atest VtsHalAudioEffectFactoryTargetTest
Test: atest VtsHalAudioEffectTargetTest

Change-Id: I82abe76036507e770f0e2aed2feef7905d85a5c9
2023-01-26 18:18:32 +00:00
Shunkai Yao
f1f15a1e86 Merge "Audio AIDL : Add libeffects reverb implementation uuids" 2023-01-11 19:06:32 +00:00
Shunkai Yao
5df4e6c4b0 AIDL effect: update AudioDeviceDescription to list
Bug: 261129656
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I424afb287fa97a6bf39221ba64d6af50c1d697eb
2023-01-11 17:02:21 +00:00
Shraddha Basantwani
b83ec07797 Audio AIDL : Add libeffects reverb implementation uuids
Bug: 258124419
Test: atest VtsHalEnvironmentalReverbTest
      atest VtsHalPresetReverbTargetTest

Change-Id: Ifa858ab002ee815f59b8582e5427eca566226fa2
2023-01-10 15:50:11 +05:30
Ram Mohan
e4064cebba DynamicsProcessing: Add AIDL placeholder implementation and its unit test
Update audio_effects_config.xml to use libeffect dynamicsProcessing
implementation.

Bug: 258124419
Test: atest VtsHalDynamicsProcessingTargetTest
Test: atest VtsHalAudioEffectTargetTest

Change-Id: If93d084be383b716ff950faf1c3e23d6c1edaa66
2023-01-06 23:00:09 +00:00
Shunkai Yao
e39cd36545 Effect AIDL Add visualizer libeffect implementation
Bug: 258124419
Test: atest VtsHalVisualizerTargetTest
Change-Id: I4ad827a4e8951a16738580ecf91fe1b9cf65cc20
2022-12-22 17:10:03 +00:00
Shunkai Yao
18c9dd8acc Merge changes from topic "aidl_audio_effect_volume_impl"
* changes:
  Audio AIDL : Add libeffects volume implementation uuid
  Volume: Add AIDL placeholder implementation and vts test
2022-12-22 05:20:54 +00:00
Sham Rathod
51d16c619c Audio AIDL : Add libeffects volume implementation uuid
Bug: 258124419
Test: atest VtsHalVolumeTargetTest

Change-Id: I7c87f27d08b2c037ee9c9edd8173138aae97e670
2022-12-21 23:15:25 +00:00
Shraddha Basantwani
ae7dde5d10 Audio AIDL : Add libeffects haptic generator implementation uuid
Bug: 258124419
Test: atest VtsHalHapticGeneratorTargetTest

Change-Id: I09abbc7a74d1e75f18bd1fbb4f1c2276a420eb20
2022-12-22 01:01:18 +05:30
Treehugger Robot
686c214a38 Merge changes from topic "aidl_audio_effect_virtualizer_impl"
* changes:
  Audio AIDL : Add libeffects virtualizer bundle uuid
  Virtualizer: Add AIDL placeholder implementation and vts test
2022-12-21 04:45:22 +00:00
Sham Rathod
5fd232fc79 Audio AIDL : Add libeffects virtualizer bundle uuid
Bug: 258124419
Test: atest VtsHalVirtualizerTargetTest

Change-Id: Id7ab913765e43d96199562af2766dfc6799a046e
2022-12-20 18:10:04 +00:00
Shunkai Yao
bd862b8287 Effect AIDL: Add AEC, AGC and NS AIDL and placeholder implmentation
Bug: 238913361
Test: atest VtsHalAECTargetTest
Test: atest VtsHalAGCTargetTest
Test: atest VtsHalNSTargetTest

Change-Id: I13de3fb554a3161d993fbe69942019546c7a96a6
2022-12-20 18:09:27 +00:00
Treehugger Robot
b02f80b5c4 Merge "Audio AIDL : Add libeffects downmix implementation uuid" 2022-12-20 15:08:55 +00:00
Shunkai Yao
2af598bfa5 Merge "Audio AIDL : Add libeffects loudness enhancer implementation uuid" 2022-12-19 21:15:33 +00:00
Shraddha Basantwani
4ff8698a25 Audio AIDL : Add libeffects downmix implementation uuid
Bug: 258124419
Test: atest VtsHalDownmixTargetTest

Change-Id: I32d415d83e0a068efbea93ef4c2af3403db0f0a5
2022-12-19 15:31:54 +05:30
Treehugger Robot
2e9fe5d8d2 Merge "Audio AIDL : Add libeffects bass boost bundle uuid" 2022-12-17 09:32:04 +00:00
Shunkai Yao
cb0fc410d7 Effect AIDL: Add VTS test cases cleanup in TearDown
Remove output FMQ reset in EffectImpl
Update vts cases with ASSERT_* for critical errors
And update vts case naming

Bug: 261646550
Test: atest VtsHalAudioEffectTargetTest
Test: atest VtsHalEqualizerTargetTest
Test: atest VtsHalBassBoostTargetTest
Test: atest VtsHalLoudnessEnhancerTargetTest
Test: atest VtsHalAudioEffectFactoryTargetTest

Change-Id: If8d8aab0d4a68b13c488c053af1f36b58b7c99a1
2022-12-16 02:10:10 +00:00
Shraddha Basantwani
3a2fb0344b Audio AIDL : Add libeffects bass boost bundle uuid
Bug: 258124419
Test: atest VtsHalBassBoostTargetTest
Change-Id: I7048ee71e16a1e9c7ca6850a216b9f3ae62a0452
2022-12-14 23:56:06 +05:30
Shraddha Basantwani
22834eab2c Audio AIDL : Add libeffects loudness enhancer implementation uuid
Bug: 258124419
Test: atest VtsHalLoudnessEnhancerTargetTest

Change-Id: I55449dc58cc65ae8697f2b33e190f3fd6aa5e4f9
2022-12-13 19:32:00 +05:30
Shunkai Yao
c12e0821e6 Effect AIDL: queryEffect with Descriptor for all effects implementation
Add queryEffect for effect libraries.
Change Descriptor in each effect implementation to be static so
extern C function can access.
Update vts test cases.

Bug: 261646550
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I8e5d7240db31a0d09b17541c39d9e4c15e1eea73
2022-12-13 02:46:40 +00:00
Shraddha Basantwani
f627d80d37 AIDL Effect: Update locking in EffectImpl
Avoid locking for all EffectContext calls.
Locking inside context seems not necessary for now as all binder calls
already serialized.
Add BassBoost AIDL placeholder implementation.

Bug: 261646550
Test: atest VtsHalAudioEffectTargetTest

Change-Id: Iaa41f013d5756801553e20b995aab5ddc845cf32
2022-12-09 21:39:46 +00:00
Shunkai Yao
812d5b4ce0 AIDL effect vts test cases refinement
Bug: 255361653
Test: atest VtsHalAudioEffectTargetTest
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: I4d4c4de97a73d4ea6dedd9c9e1733da03860430b
2022-11-18 19:50:24 +00:00
Shunkai Yao
f0c263b547 Use AIDL effect bundle in effectserviceexampleimpl.
Bug: 255361653
Test: atest VtsHalAudioEffectTargetTest
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: Ia50ff5066e007f6a8569114e36f0e4565a6100ea
2022-11-16 18:09:17 +00:00
Shunkai Yao
52abf0a662 Support effect config parser in effect AIDL
Bug: 255361653
Test: parse an example audio_effects.xml
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalAudioEffectTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: I086905bcbe113a56767cae45102c84f5250d348e
2022-11-10 22:38:55 +00:00
Shunkai Yao
6afc855087 AIDL effect: Add all aosp effects default implementation
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: I6825ba77ae0707f97e852f0faa52ce3486ba2af5
2022-10-31 22:53:57 +00:00
Shunkai Yao
a4ab38caf0 AIDL effect: Add Equalizer parameters implementation and vts
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: I94b2283ca2aa0e45715e1c9ac3ea6ad809ec2a2c
2022-10-19 19:13:25 +00:00
Shunkai Yao
ea24c1a128 AIDL effect: Add effect AIDL implementationi and vts test
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest; atest VtsHalAudioEffectFactoryTargetTest
Merged-In: If8000b7396360996bdfb8eb269bc3de543871673
Change-Id: If8000b7396360996bdfb8eb269bc3de543871673
2022-10-13 02:14:23 +00:00