Loading media/libeffects/lvm/wrapper/Aidl/BundleContext.cpp +16 −19 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #define LOG_TAG "BundleContext" #include <android-base/logging.h> #include <audio_utils/power.h> #include <Utils.h> #include "BundleContext.h" Loading Loading @@ -398,15 +399,10 @@ LVM_INT16 BundleContext::LVC_ToDB_s32Tos16(LVM_INT32 Lin_fix) const { return db_fix; } // TODO: replace with more generic approach, like: audio_utils_power_from_amplitude int16_t BundleContext::VolToDb(uint32_t vol) const { int16_t dB; dB = LVC_ToDB_s32Tos16(vol << 7); dB = (dB + 8) >> 4; dB = (dB < -96) ? -96 : dB; return dB; /* static */ float BundleContext::VolToDb(float vol) { float dB = audio_utils_power_from_amplitude(vol); return std::max(dB, -96.f); } RetCode BundleContext::setVolumeStereo(const Parameter::VolumeStereo& volume) { Loading @@ -414,11 +410,12 @@ RetCode BundleContext::setVolumeStereo(const Parameter::VolumeStereo& volume) { LVM_ReturnStatus_en status = LVM_SUCCESS; // Convert volume to dB int leftdB = VolToDb(volume.left); int rightdB = VolToDb(volume.right); int maxdB = std::max(leftdB, rightdB); int pandB = rightdB - leftdB; setVolumeLevel(maxdB * 100); float leftdB = VolToDb(volume.left); float rightdB = VolToDb(volume.right); float maxdB = std::max(leftdB, rightdB); float pandB = rightdB - leftdB; setVolumeLevel(maxdB); LOG(DEBUG) << __func__ << " pandB: " << pandB << " maxdB " << maxdB; { Loading Loading @@ -555,18 +552,18 @@ RetCode BundleContext::setBassBoostStrength(int strength) { return limitLevel(); } RetCode BundleContext::setVolumeLevel(int level) { RetCode BundleContext::setVolumeLevel(float level) { if (mMuteEnabled) { mLevelSaved = level / 100; mLevelSaved = level; } else { mVolume = level / 100; mVolume = level; } LOG(INFO) << __func__ << " success with level " << level; return limitLevel(); } int BundleContext::getVolumeLevel() const { return (mMuteEnabled ? mLevelSaved * 100 : mVolume * 100); float BundleContext::getVolumeLevel() const { return (mMuteEnabled ? mLevelSaved : mVolume); } RetCode BundleContext::setVolumeMute(bool mute) { Loading media/libeffects/lvm/wrapper/Aidl/BundleContext.h +5 −5 Original line number Diff line number Diff line Loading @@ -80,8 +80,8 @@ class BundleContext final : public EffectContext { RetCode setBassBoostStrength(int strength); int getBassBoostStrength() const { return mBassStrengthSaved; } RetCode setVolumeLevel(int level); int getVolumeLevel() const; RetCode setVolumeLevel(float level); float getVolumeLevel() const; RetCode setVolumeMute(bool mute); int getVolumeMute() const { return mMuteEnabled; } Loading Loading @@ -141,14 +141,14 @@ class BundleContext final : public EffectContext { bool mVirtualizerTempDisabled = false; ::aidl::android::media::audio::common::AudioDeviceDescription mForceDevice; // Volume int mLevelSaved = 0; /* for when mute is set, level must be saved */ int mVolume = 0; float mLevelSaved = 0; /* for when mute is set, level must be saved */ float mVolume = 0; bool mMuteEnabled = false; /* Must store as mute = -96dB level */ void initControlParameter(LVM_ControlParams_t& params) const; void initHeadroomParameter(LVM_HeadroomParams_t& params) const; RetCode limitLevel(); int16_t VolToDb(uint32_t vol) const; static float VolToDb(float vol); LVM_INT16 LVC_ToDB_s32Tos16(LVM_INT32 Lin_fix) const; RetCode updateControlParameter(const std::vector<Equalizer::BandLevel>& bandLevels); bool isBandLevelIndexInRange(const std::vector<Equalizer::BandLevel>& bandLevels) const; Loading media/libeffects/lvm/wrapper/Aidl/EffectBundleAidl.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -355,7 +355,7 @@ ndk::ScopedAStatus EffectBundleAidl::getParameterVolume(const Volume::Id& id, auto tag = id.get<Volume::Id::commonTag>(); switch (tag) { case Volume::levelDb: { volParam.set<Volume::levelDb>(mContext->getVolumeLevel()); volParam.set<Volume::levelDb>(static_cast<int>(mContext->getVolumeLevel())); break; } case Volume::mute: { Loading Loading
media/libeffects/lvm/wrapper/Aidl/BundleContext.cpp +16 −19 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #define LOG_TAG "BundleContext" #include <android-base/logging.h> #include <audio_utils/power.h> #include <Utils.h> #include "BundleContext.h" Loading Loading @@ -398,15 +399,10 @@ LVM_INT16 BundleContext::LVC_ToDB_s32Tos16(LVM_INT32 Lin_fix) const { return db_fix; } // TODO: replace with more generic approach, like: audio_utils_power_from_amplitude int16_t BundleContext::VolToDb(uint32_t vol) const { int16_t dB; dB = LVC_ToDB_s32Tos16(vol << 7); dB = (dB + 8) >> 4; dB = (dB < -96) ? -96 : dB; return dB; /* static */ float BundleContext::VolToDb(float vol) { float dB = audio_utils_power_from_amplitude(vol); return std::max(dB, -96.f); } RetCode BundleContext::setVolumeStereo(const Parameter::VolumeStereo& volume) { Loading @@ -414,11 +410,12 @@ RetCode BundleContext::setVolumeStereo(const Parameter::VolumeStereo& volume) { LVM_ReturnStatus_en status = LVM_SUCCESS; // Convert volume to dB int leftdB = VolToDb(volume.left); int rightdB = VolToDb(volume.right); int maxdB = std::max(leftdB, rightdB); int pandB = rightdB - leftdB; setVolumeLevel(maxdB * 100); float leftdB = VolToDb(volume.left); float rightdB = VolToDb(volume.right); float maxdB = std::max(leftdB, rightdB); float pandB = rightdB - leftdB; setVolumeLevel(maxdB); LOG(DEBUG) << __func__ << " pandB: " << pandB << " maxdB " << maxdB; { Loading Loading @@ -555,18 +552,18 @@ RetCode BundleContext::setBassBoostStrength(int strength) { return limitLevel(); } RetCode BundleContext::setVolumeLevel(int level) { RetCode BundleContext::setVolumeLevel(float level) { if (mMuteEnabled) { mLevelSaved = level / 100; mLevelSaved = level; } else { mVolume = level / 100; mVolume = level; } LOG(INFO) << __func__ << " success with level " << level; return limitLevel(); } int BundleContext::getVolumeLevel() const { return (mMuteEnabled ? mLevelSaved * 100 : mVolume * 100); float BundleContext::getVolumeLevel() const { return (mMuteEnabled ? mLevelSaved : mVolume); } RetCode BundleContext::setVolumeMute(bool mute) { Loading
media/libeffects/lvm/wrapper/Aidl/BundleContext.h +5 −5 Original line number Diff line number Diff line Loading @@ -80,8 +80,8 @@ class BundleContext final : public EffectContext { RetCode setBassBoostStrength(int strength); int getBassBoostStrength() const { return mBassStrengthSaved; } RetCode setVolumeLevel(int level); int getVolumeLevel() const; RetCode setVolumeLevel(float level); float getVolumeLevel() const; RetCode setVolumeMute(bool mute); int getVolumeMute() const { return mMuteEnabled; } Loading Loading @@ -141,14 +141,14 @@ class BundleContext final : public EffectContext { bool mVirtualizerTempDisabled = false; ::aidl::android::media::audio::common::AudioDeviceDescription mForceDevice; // Volume int mLevelSaved = 0; /* for when mute is set, level must be saved */ int mVolume = 0; float mLevelSaved = 0; /* for when mute is set, level must be saved */ float mVolume = 0; bool mMuteEnabled = false; /* Must store as mute = -96dB level */ void initControlParameter(LVM_ControlParams_t& params) const; void initHeadroomParameter(LVM_HeadroomParams_t& params) const; RetCode limitLevel(); int16_t VolToDb(uint32_t vol) const; static float VolToDb(float vol); LVM_INT16 LVC_ToDB_s32Tos16(LVM_INT32 Lin_fix) const; RetCode updateControlParameter(const std::vector<Equalizer::BandLevel>& bandLevels); bool isBandLevelIndexInRange(const std::vector<Equalizer::BandLevel>& bandLevels) const; Loading
media/libeffects/lvm/wrapper/Aidl/EffectBundleAidl.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -355,7 +355,7 @@ ndk::ScopedAStatus EffectBundleAidl::getParameterVolume(const Volume::Id& id, auto tag = id.get<Volume::Id::commonTag>(); switch (tag) { case Volume::levelDb: { volParam.set<Volume::levelDb>(mContext->getVolumeLevel()); volParam.set<Volume::levelDb>(static_cast<int>(mContext->getVolumeLevel())); break; } case Volume::mute: { Loading