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

Commit d9e00897 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Check if non offloadable effect is enabled with uuid" into main am:...

Merge "Check if non offloadable effect is enabled with uuid" into main am: cc1d52cd am: fde86102

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/3367552



Change-Id: Ifaf208ed66b2236726adca1f10e6ba2e8fcd2a8d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 3820cf1a fde86102
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -75,7 +75,8 @@ public:
    bool     isEffectEnabled(int id) const;
    uint32_t getMaxEffectsCpuLoad() const;
    uint32_t getMaxEffectsMemory() const;
    bool isNonOffloadableEffectEnabled() const;
    bool isNonOffloadableEffectEnabled(
            const std::optional<const effect_uuid_t>& uuid = std::nullopt) const;

    void moveEffects(audio_session_t session,
                     audio_io_handle_t srcOutput,
+10 −5
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@

#include "AudioInputDescriptor.h"
#include "EffectDescriptor.h"
#include <system/audio_effects/audio_effects_utils.h>
#include <utils/String8.h>

#include <AudioPolicyInterface.h>
@@ -157,14 +158,18 @@ status_t EffectDescriptorCollection::setEffectEnabled(const sp<EffectDescriptor>
    return NO_ERROR;
}

bool EffectDescriptorCollection::isNonOffloadableEffectEnabled() const
bool EffectDescriptorCollection::isNonOffloadableEffectEnabled(
        const std::optional<const effect_uuid_t>& uuid) const
{
    using namespace android::effect::utils;
    for (size_t i = 0; i < size(); i++) {
        sp<EffectDescriptor> effectDesc = valueAt(i);
        if (effectDesc->mEnabled && (effectDesc->isMusicEffect()) &&
                ((effectDesc->mDesc.flags & EFFECT_FLAG_OFFLOAD_SUPPORTED) == 0)) {
            ALOGV("isNonOffloadableEffectEnabled() non offloadable effect %s enabled on session %d",
                  effectDesc->mDesc.name, effectDesc->mSession);
        if ((effectDesc->mEnabled && (effectDesc->isMusicEffect()) &&
             ((effectDesc->mDesc.flags & EFFECT_FLAG_OFFLOAD_SUPPORTED) == 0)) &&
            (uuid == std::nullopt || uuid.value() == effectDesc->mDesc.uuid)) {
            ALOGE("%s: non offloadable effect %s, uuid %s, enabled on session %d", __func__,
                  effectDesc->mDesc.name, ToString(effectDesc->mDesc.uuid).c_str(),
                  effectDesc->mSession);
            return true;
        }
    }