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

Commit e95a81ae authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Virtualizer Effect : Add support to force virtualization mode" into main

parents ff8dca48 f38f9ce6
Loading
Loading
Loading
Loading
+34 −4
Original line number Diff line number Diff line
@@ -564,10 +564,40 @@ RetCode BundleContext::setVirtualizerStrength(int strength) {

RetCode BundleContext::setForcedDevice(
        const ::aidl::android::media::audio::common::AudioDeviceDescription& device) {
    RETURN_VALUE_IF(true != isDeviceSupportedVirtualizer({device}), RetCode::ERROR_EFFECT_LIB_ERROR,
                    " deviceNotSupportVirtualizer");
    mForceDevice = device;
    return RetCode::SUCCESS;
    RetCode ret = RetCode::SUCCESS;
    bool enableVirtualizer = mType == lvm::BundleEffectType::VIRTUALIZER && mEnabled;

    if (isDeviceSupportedVirtualizer({device})) {
        mVirtualizerForcedDevice = device;
    } else {
        // disabling forced virtualization mode
        AudioDeviceDescription noneDevice;
        if (device != noneDevice) {
            // device is not supported, make it behave as a reset of forced mode but return an error
            ret = RetCode::ERROR_ILLEGAL_PARAMETER;
        }
        // verify whether the virtualization should be enabled or disabled
        if (!isDeviceSupportedVirtualizer(mOutputDevice)) {
            enableVirtualizer = false;
        }
        mVirtualizerForcedDevice = noneDevice;
    }

    if (enableVirtualizer) {
        if (mVirtualizerTempDisabled) {
            LOG(VERBOSE) << __func__ << " re-enable virtualizer";
            enableOperatingMode();
            mVirtualizerTempDisabled = false;
        }
    } else {
        if (!mVirtualizerTempDisabled) {
            LOG(VERBOSE) << __func__ << " disable virtualizer";
            disableOperatingMode();
            mVirtualizerTempDisabled = true;
        }
    }

    return ret;
}

RetCode BundleContext::initControlParameter(LVM_ControlParams_t& params) const {
+2 −4
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ class BundleContext final : public EffectContext {
    RetCode setForcedDevice(
            const ::aidl::android::media::audio::common::AudioDeviceDescription& device);
    aidl::android::media::audio::common::AudioDeviceDescription getForcedDevice() const {
        return mForceDevice;
        return mVirtualizerForcedDevice;
    }
    std::vector<Virtualizer::ChannelAngle> getSpeakerAngles(
            const Virtualizer::SpeakerAnglesPayload payload);
@@ -93,8 +93,6 @@ class BundleContext final : public EffectContext {
    bool mEnabled = false;
    LVM_Handle_t mInstance;

    aidl::android::media::audio::common::AudioDeviceDescription mVirtualizerForcedDevice;

    int mSamplesPerSecond = 0;
    int mSamplesToExitCountEq = 0;
    int mSamplesToExitCountBb = 0;
@@ -120,7 +118,7 @@ class BundleContext final : public EffectContext {
    // Virtualizer
    int mVirtStrengthSaved = 0; /* Conversion between Get/Set */
    bool mVirtualizerTempDisabled = false;
    ::aidl::android::media::audio::common::AudioDeviceDescription mForceDevice;
    ::aidl::android::media::audio::common::AudioDeviceDescription mVirtualizerForcedDevice;
    // Volume
    float mLevelSaveddB = 0; /* for when mute is set, level must be saved */
    float mVolumedB = 0;