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

Commit fde86102 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: cc1d52cd

parents 04e57d0f cc1d52cd
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -75,7 +75,8 @@ public:
    bool     isEffectEnabled(int id) const;
    bool     isEffectEnabled(int id) const;
    uint32_t getMaxEffectsCpuLoad() const;
    uint32_t getMaxEffectsCpuLoad() const;
    uint32_t getMaxEffectsMemory() 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,
    void moveEffects(audio_session_t session,
                     audio_io_handle_t srcOutput,
                     audio_io_handle_t srcOutput,
+10 −5
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@


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


#include <AudioPolicyInterface.h>
#include <AudioPolicyInterface.h>
@@ -157,14 +158,18 @@ status_t EffectDescriptorCollection::setEffectEnabled(const sp<EffectDescriptor>
    return NO_ERROR;
    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++) {
    for (size_t i = 0; i < size(); i++) {
        sp<EffectDescriptor> effectDesc = valueAt(i);
        sp<EffectDescriptor> effectDesc = valueAt(i);
        if (effectDesc->mEnabled && (effectDesc->isMusicEffect()) &&
        if ((effectDesc->mEnabled && (effectDesc->isMusicEffect()) &&
                ((effectDesc->mDesc.flags & EFFECT_FLAG_OFFLOAD_SUPPORTED) == 0)) {
             ((effectDesc->mDesc.flags & EFFECT_FLAG_OFFLOAD_SUPPORTED) == 0)) &&
            ALOGV("isNonOffloadableEffectEnabled() non offloadable effect %s enabled on session %d",
            (uuid == std::nullopt || uuid.value() == effectDesc->mDesc.uuid)) {
                  effectDesc->mDesc.name, effectDesc->mSession);
            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;
            return true;
        }
        }
    }
    }