Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3170ad9 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 9206145 from 7d5eb5c8 to tm-qpr2-release

Change-Id: Ib6a70b475f683a42136f3e7e0de5e64e9df7fecf
parents 9f41e2cc 7d5eb5c8
Loading
Loading
Loading
Loading
+15 −2
Original line number Original line Diff line number Diff line
@@ -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* dataPtr = halDataSize > 0 ? &halData[0] : NULL;
    void* resultPtr = halResultSize > 0 ? &halResult[0] : NULL;
    void* resultPtr = halResultSize > 0 ? &halResult[0] : NULL;
    status_t status =
    status_t status = BAD_VALUE;
        (*mHandle)->command(mHandle, commandId, halDataSize, dataPtr, &halResultSize, resultPtr);
    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;
    hidl_vec<uint8_t> result;
    if (status == OK && resultPtr != NULL) {
    if (status == OK && resultPtr != NULL) {
        result.setToExternal(&halResult[0], halResultSize);
        result.setToExternal(&halResult[0], halResultSize);