mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
[AIDL CTS] pass EnvReverb implementation cts
Bug: 270158223 Test: atest android.media.audio.cts.EnvReverbTest Change-Id: Ie7fcc2d65a8daaef5d7a76cc6ca3ec6e13d4b547
This commit is contained in:
@@ -39,6 +39,8 @@ union EnvironmentalReverb {
|
||||
int roomHfLevelMb;
|
||||
int decayTimeMs;
|
||||
int decayHfRatioPm;
|
||||
int reflectionsLevelMb;
|
||||
int reflectionsDelayMs;
|
||||
int levelMb;
|
||||
int delayMs;
|
||||
int diffusionPm;
|
||||
|
||||
@@ -58,6 +58,14 @@ union EnvironmentalReverb {
|
||||
* HF decay ratio in permilles.
|
||||
*/
|
||||
int decayHfRatioPm;
|
||||
/**
|
||||
* Reverb reflections level in millibels.
|
||||
*/
|
||||
int reflectionsLevelMb;
|
||||
/**
|
||||
* Reverb reflections delay in milliseconds.
|
||||
*/
|
||||
int reflectionsDelayMs;
|
||||
/**
|
||||
* Reverb level in millibels.
|
||||
*/
|
||||
|
||||
@@ -66,6 +66,8 @@ const std::vector<Range::EnvironmentalReverbRange> EnvReverbSw::kRanges = {
|
||||
MAKE_RANGE(EnvironmentalReverb, roomHfLevelMb, -4000, 0),
|
||||
MAKE_RANGE(EnvironmentalReverb, decayTimeMs, 0, 7000),
|
||||
MAKE_RANGE(EnvironmentalReverb, decayHfRatioPm, 100, 2000),
|
||||
MAKE_RANGE(EnvironmentalReverb, reflectionsLevelMb, -6000, 0),
|
||||
MAKE_RANGE(EnvironmentalReverb, reflectionsDelayMs, 0, 65),
|
||||
MAKE_RANGE(EnvironmentalReverb, levelMb, -6000, 0),
|
||||
MAKE_RANGE(EnvironmentalReverb, delayMs, 0, 65),
|
||||
MAKE_RANGE(EnvironmentalReverb, diffusionPm, 0, 1000),
|
||||
@@ -125,6 +127,20 @@ ndk::ScopedAStatus EnvReverbSw::setParameterSpecific(const Parameter::Specific&
|
||||
EX_ILLEGAL_ARGUMENT, "setDecayHfRatioFailed");
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
case EnvironmentalReverb::reflectionsLevelMb: {
|
||||
RETURN_IF(mContext->setErReflectionsLevel(
|
||||
erParam.get<EnvironmentalReverb::reflectionsLevelMb>()) !=
|
||||
RetCode::SUCCESS,
|
||||
EX_ILLEGAL_ARGUMENT, "setReflectionsLevelFailed");
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
case EnvironmentalReverb::reflectionsDelayMs: {
|
||||
RETURN_IF(mContext->setErReflectionsDelay(
|
||||
erParam.get<EnvironmentalReverb::reflectionsDelayMs>()) !=
|
||||
RetCode::SUCCESS,
|
||||
EX_ILLEGAL_ARGUMENT, "setReflectionsDelayFailed");
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
case EnvironmentalReverb::levelMb: {
|
||||
RETURN_IF(mContext->setErLevel(erParam.get<EnvironmentalReverb::levelMb>()) !=
|
||||
RetCode::SUCCESS,
|
||||
@@ -201,6 +217,14 @@ ndk::ScopedAStatus EnvReverbSw::getParameterEnvironmentalReverb(const Environmen
|
||||
erParam.set<EnvironmentalReverb::decayHfRatioPm>(mContext->getErDecayHfRatio());
|
||||
break;
|
||||
}
|
||||
case EnvironmentalReverb::reflectionsLevelMb: {
|
||||
erParam.set<EnvironmentalReverb::reflectionsLevelMb>(mContext->getErReflectionsLevel());
|
||||
break;
|
||||
}
|
||||
case EnvironmentalReverb::reflectionsDelayMs: {
|
||||
erParam.set<EnvironmentalReverb::reflectionsDelayMs>(mContext->getErReflectionsDelay());
|
||||
break;
|
||||
}
|
||||
case EnvironmentalReverb::levelMb: {
|
||||
erParam.set<EnvironmentalReverb::levelMb>(mContext->getErLevel());
|
||||
break;
|
||||
|
||||
@@ -58,12 +58,23 @@ class EnvReverbSwContext final : public EffectContext {
|
||||
int getErDensity() const { return mDensity; }
|
||||
|
||||
RetCode setErBypass(bool bypass) {
|
||||
// TODO : Add implementation to apply new bypass
|
||||
mBypass = bypass;
|
||||
return RetCode::SUCCESS;
|
||||
}
|
||||
bool getErBypass() const { return mBypass; }
|
||||
|
||||
RetCode setErReflectionsDelay(int delay) {
|
||||
mReflectionsDelayMs = delay;
|
||||
return RetCode::SUCCESS;
|
||||
}
|
||||
bool getErReflectionsDelay() const { return mReflectionsDelayMs; }
|
||||
|
||||
RetCode setErReflectionsLevel(int level) {
|
||||
mReflectionsLevelMb = level;
|
||||
return RetCode::SUCCESS;
|
||||
}
|
||||
bool getErReflectionsLevel() const { return mReflectionsLevelMb; }
|
||||
|
||||
private:
|
||||
int mRoomLevel = -6000; // Default room level
|
||||
int mRoomHfLevel = 0; // Default room hf level
|
||||
@@ -71,6 +82,8 @@ class EnvReverbSwContext final : public EffectContext {
|
||||
int mDecayHfRatio = 500; // Default decay hf ratio
|
||||
int mLevel = -6000; // Default level
|
||||
int mDelay = 40; // Default delay
|
||||
int mReflectionsLevelMb = 0;
|
||||
int mReflectionsDelayMs = 0;
|
||||
int mDiffusion = 1000; // Default diffusion
|
||||
int mDensity = 1000; // Default density
|
||||
bool mBypass = false; // Default bypass
|
||||
|
||||
Reference in New Issue
Block a user