diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-10-22 01:22:19 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-10-22 01:22:19 +0000 |
commit | a3170ad9ecec69c824b047697f23216acf752ced (patch) | |
tree | c4eb625fe896e89b28550185b40ffdcd7601de2e /audio/effect/all-versions/default/Effect.cpp | |
parent | 9f41e2ccad3b89cbad30da29a1bf3566f4724b49 (diff) | |
parent | 7d5eb5c8371cd881d8d2fd7b57a6d2803206fd59 (diff) |
Snap for 9206145 from 7d5eb5c8371cd881d8d2fd7b57a6d2803206fd59 to tm-qpr2-release
Change-Id: Ib6a70b475f683a42136f3e7e0de5e64e9df7fecf
Diffstat (limited to 'audio/effect/all-versions/default/Effect.cpp')
-rw-r--r-- | audio/effect/all-versions/default/Effect.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/audio/effect/all-versions/default/Effect.cpp b/audio/effect/all-versions/default/Effect.cpp index b57dc63368..5dc42dc70d 100644 --- a/audio/effect/all-versions/default/Effect.cpp +++ b/audio/effect/all-versions/default/Effect.cpp @@ -700,8 +700,21 @@ Return<void> Effect::command(uint32_t commandId, const hidl_vec<uint8_t>& data, void* dataPtr = halDataSize > 0 ? &halData[0] : NULL; void* resultPtr = halResultSize > 0 ? &halResult[0] : NULL; - status_t status = - (*mHandle)->command(mHandle, commandId, halDataSize, dataPtr, &halResultSize, resultPtr); + status_t status = BAD_VALUE; + switch (commandId) { + case 'gtid': // retrieve the tid, used for spatializer priority boost + if (halDataSize == 0 && resultMaxSize == sizeof(int32_t)) { + auto ptid = (int32_t*)resultPtr; + ptid[0] = mProcessThread ? mProcessThread->getTid() : -1; + status = OK; + break; // we have handled 'gtid' here. + } + [[fallthrough]]; // allow 'gtid' overload (checked halDataSize and resultMaxSize). + default: + status = (*mHandle)->command(mHandle, commandId, halDataSize, dataPtr, &halResultSize, + resultPtr); + break; + } hidl_vec<uint8_t> result; if (status == OK && resultPtr != NULL) { result.setToExternal(&halResult[0], halResultSize); |