-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement AIDL IEffect ViPER library #25
base: foss
Are you sure you want to change the base?
Conversation
Hey! Thanks for the PR, looks good :) Do you have any idea on how to compile it? I guess this is mostly used with the AOSP build system, but what about standalone? |
I believe there's no easy way. Too much libraries and headers from AOSP are needed (i.e. AIDL interfaces headers, aidl2legacy library and so on). |
Thanks, will check it later. However, even if this builds, I'm bot sure how'd we get Android to detect it and use it as an audio effects library. It has to be registered somewhere with the appropiate UUID and lib name... |
|
I think this file does not get used anymore in Pixel 9... :( Although the issue maybe was that it was not an AIDL lib, but I did not see anything in the logs. On Pixel 9, Google registers the effects using a custom library in vendor (IIRC): https://dumps.tadiphone.dev/dumps/google/komodo/-/blob/komodo-user-14-AD1A.240530.047-12143574-release-keys/vendor/lib64/vendor.google.whitechapel.audio.hal.services.so |
Actually, the effects themselves are probably in this library: https://dumps.tadiphone.dev/dumps/google/komodo/-/blob/komodo-user-14-AD1A.240530.047-12143574-release-keys/vendor/lib64/vendor.google.whitechapel.audio.hal.effect.so That xml file is present in newer builds though: https://dumps.tadiphone.dev/dumps/google/komodo/-/blob/komodo_beta-user-15-AP41.240726.010-12266677-release-keys/system/system/etc/audio_effects.xml |
Okay, it seems that Google hardcoded a few builtin effects and we just can't easily add more of them without dirty tricks. The ideal solution would be to file a bug to Google so that they implement Do you have a Pixel 9 or any other means of testing this? |
I'd say wait and see what AudModLib does, since it'll be the main component adding support for multiple, possibly conflicting effects. |
It looks abandoned since last update was more than a year ago. Or am I looking at the wrong repo? As of now, this (hardcoded list of effects) is exclusively a Pixel problem. All current Qualcomm devices still have HIDL audio HAL. Though maybe 8g4 will switch to AIDL, we'll know it in a few months. Hopefully it will just have Multiple effects can be added via the first (custom effects HAL) method. |
AudioModificationLibrary is officially dead, Zack stopped all public development on his projects. I'm working on a method to inject the libs, I plan on updating the AML module myself if it ends up working (he gave me access to the repo 😋) |
I did look into this a few weeks ago, and I did not see it as a nice universal / viable solution.
Sadly, no, but I have some people willing to test things out. Not ideal, of course. -- My plan is to hook into some effect functions by loading a custom library with |
Are there any problems other than the lack of stock effects with this approach? We probably can try to implement whatever effects Pixels have by default as well since there's a separate library with them (vendor.google.whitechapel.audio.hal.effect.so). The good thing at it would be possible to patch system libraries with a simple
I had some success with using LSPosed for replacing system libraries (Bluetooth stack, to be precise), though just replacing .so files with the patched ones should do. Do you really have to use LD_PRELOAD? But this will heavily rely on having the same system libraries, so probably won't be very universal, i.e. if AIDL version was incremented in QPR or in a major release, these libraries will fail to load due to missing dependencies unless the module will include all of them. |
Only compile-tested.
Should fix AndroidAudioMods/ViPER4Android#101 for Pixel 9