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

Commit bb88b555 authored by Shunkai Yao's avatar Shunkai Yao Committed by Automerger Merge Worker
Browse files

Merge "AIDL effect: Replace offload check with HardwareAccelerator mode" into main am: 1f50dead

parents 00e86944 1f50dead
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -477,7 +477,7 @@ status_t EffectConversionHelperAidl::updateEventFlags() {
                  efGroup);
            status = (status == OK) ? BAD_VALUE : status;
        }
    } else if (isBypassingOrOffload()) {
    } else if (isBypassingOrTunnel()) {
        // for effect with bypass (no processing) or offloadIndication flag, it's okay to not have
        // statusQ
        return OK;
@@ -487,8 +487,8 @@ status_t EffectConversionHelperAidl::updateEventFlags() {
    return status;
}

bool EffectConversionHelperAidl::isBypassingOrOffload() const {
    return isBypassing() || isOffload();
bool EffectConversionHelperAidl::isBypassingOrTunnel() const {
    return isBypassing() || isTunnel();
}

bool EffectConversionHelperAidl::isBypassing() const {
@@ -497,10 +497,10 @@ bool EffectConversionHelperAidl::isBypassing() const {
            (mIsProxyEffect && std::static_pointer_cast<EffectProxy>(mEffect)->isBypassing()));
}

bool EffectConversionHelperAidl::isOffload() const {
bool EffectConversionHelperAidl::isTunnel() const {
    return mEffect &&
           (mDesc.common.flags.offloadIndication ||
            (mIsProxyEffect && std::static_pointer_cast<EffectProxy>(mEffect)->isOffload()));
           (mDesc.common.flags.hwAcceleratorMode == Flags::HardwareAccelerator::TUNNEL ||
            (mIsProxyEffect && std::static_pointer_cast<EffectProxy>(mEffect)->isTunnel()));
}

Descriptor EffectConversionHelperAidl::getDescriptor() const {
+2 −2
Original line number Diff line number Diff line
@@ -43,8 +43,8 @@ class EffectConversionHelperAidl {
    std::shared_ptr<android::hardware::EventFlag> getEventFlagGroup() { return mEfGroup; }

    bool isBypassing() const;
    bool isOffload() const;
    bool isBypassingOrOffload() const;
    bool isTunnel() const;
    bool isBypassingOrTunnel() const;

    ::aidl::android::hardware::audio::effect::Descriptor getDescriptor() const;

+3 −2
Original line number Diff line number Diff line
@@ -278,8 +278,9 @@ bool EffectProxy::isBypassing() const {
    return mSubEffects[mActiveSubIdx].descriptor.common.flags.bypass;
}

bool EffectProxy::isOffload() const {
    return mSubEffects[mActiveSubIdx].descriptor.common.flags.offloadIndication;
bool EffectProxy::isTunnel() const {
    return mSubEffects[mActiveSubIdx].descriptor.common.flags.hwAcceleratorMode ==
           Flags::HardwareAccelerator::TUNNEL;
}

binder_status_t EffectProxy::dump(int fd, const char** args, uint32_t numArgs) {
+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ class EffectProxy final : public ::aidl::android::hardware::audio::effect::BnEff
    }

    bool isBypassing() const;
    bool isOffload() const;
    bool isTunnel() const;

    // call dump for all sub-effects
    binder_status_t dump(int fd, const char** args, uint32_t numArgs) override;