diff options
Diffstat (limited to 'src/android/android_Effect.cpp')
-rw-r--r-- | src/android/android_Effect.cpp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/android/android_Effect.cpp b/src/android/android_Effect.cpp index ca0a1c5..2b5582f 100644 --- a/src/android/android_Effect.cpp +++ b/src/android/android_Effect.cpp @@ -32,6 +32,8 @@ #include <system/audio.h> +using android::content::AttributionSourceState; + static const int EQUALIZER_PARAM_SIZE_MAX = sizeof(effect_param_t) + 2 * sizeof(int32_t) + EFFECT_STRING_LEN_MAX; @@ -665,12 +667,20 @@ bool android_fx_initEffectObj(audio_session_t sessionId, android::sp<android::Au const effect_uuid_t *type) { //SL_LOGV("android_fx_initEffectObj on session %d", sessionId); - effect = new android::AudioEffect(type, android::String16(), EFFECT_UUID_NULL, + // TODO b/182392769: use attribution source util + AttributionSourceState attributionSource; + attributionSource.uid = VALUE_OR_FATAL(android::legacy2aidl_uid_t_int32_t(getuid())); + attributionSource.pid = VALUE_OR_FATAL(android::legacy2aidl_pid_t_int32_t(getpid())); + attributionSource.token = android::sp<android::BBinder>::make(); + + effect = android::sp<android::AudioEffect>::make(attributionSource); + + effect->set(type, EFFECT_UUID_NULL, 0,// priority 0,// effect callback 0,// callback data sessionId,// session ID - 0 );// output + 0); // output android::status_t status = effect->initCheck(); if (android::NO_ERROR != status) { @@ -805,9 +815,15 @@ SLresult android_genericFx_createEffect(IAndroidEffect* iae, SLInterfaceID pUuid } // create new effect - android::sp<android::AudioEffect> pFx = new android::AudioEffect( - NULL, // not using type to create effect - android::String16(), + // TODO b/182392769: use attribution source util + AttributionSourceState attributionSource; + attributionSource.uid = VALUE_OR_FATAL(android::legacy2aidl_uid_t_int32_t(getuid())); + attributionSource.pid = VALUE_OR_FATAL(android::legacy2aidl_pid_t_int32_t(getpid())); + attributionSource.token = android::sp<android::BBinder>::make(); + + const auto pFx = android::sp<android::AudioEffect>::make(attributionSource); + + pFx->set(NULL, // not using type to create effect (const effect_uuid_t*)pUuid, 0,// priority 0,// effect callback |