Loading audio/aidl/vts/VtsHalDynamicsProcessingTest.cpp +5 −11 Original line number Original line Diff line number Diff line Loading @@ -195,48 +195,42 @@ const std::set<std::vector<DynamicsProcessing::InputGain>> template <typename T> template <typename T> bool DynamicsProcessingTestHelper::isBandConfigValid(const std::vector<T>& cfgs, int bandCount) { bool DynamicsProcessingTestHelper::isBandConfigValid(const std::vector<T>& cfgs, int bandCount) { std::vector<float> freqs(cfgs.size(), -1); std::unordered_set<int> freqs; for (auto cfg : cfgs) { for (auto cfg : cfgs) { if (cfg.channel < 0 || cfg.channel >= mChannelCount) return false; if (cfg.channel < 0 || cfg.channel >= mChannelCount) return false; if (cfg.band < 0 || cfg.band >= bandCount) return false; if (cfg.band < 0 || cfg.band >= bandCount) return false; freqs[cfg.band] = cfg.cutoffFrequencyHz; // duplicated band index if (freqs.find(cfg.band) != freqs.end()) return false; freqs.insert(cfg.band); } } if (std::count(freqs.begin(), freqs.end(), -1)) return false; return true; return std::is_sorted(freqs.begin(), freqs.end()); } } bool DynamicsProcessingTestHelper::isParamValid(const DynamicsProcessing::Tag& tag, bool DynamicsProcessingTestHelper::isParamValid(const DynamicsProcessing::Tag& tag, const DynamicsProcessing& dp) { const DynamicsProcessing& dp) { switch (tag) { switch (tag) { case DynamicsProcessing::preEq: { case DynamicsProcessing::preEq: { if (!mEngineConfigApplied.preEqStage.inUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::preEq>()); return isChannelConfigValid(dp.get<DynamicsProcessing::preEq>()); } } case DynamicsProcessing::postEq: { case DynamicsProcessing::postEq: { if (!mEngineConfigApplied.postEqStage.inUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::postEq>()); return isChannelConfigValid(dp.get<DynamicsProcessing::postEq>()); } } case DynamicsProcessing::mbc: { case DynamicsProcessing::mbc: { if (!mEngineConfigApplied.mbcStage.inUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::mbc>()); return isChannelConfigValid(dp.get<DynamicsProcessing::mbc>()); } } case DynamicsProcessing::preEqBand: { case DynamicsProcessing::preEqBand: { if (!mEngineConfigApplied.preEqStage.inUse) return false; return isBandConfigValid(dp.get<DynamicsProcessing::preEqBand>(), return isBandConfigValid(dp.get<DynamicsProcessing::preEqBand>(), mEngineConfigApplied.preEqStage.bandCount); mEngineConfigApplied.preEqStage.bandCount); } } case DynamicsProcessing::postEqBand: { case DynamicsProcessing::postEqBand: { if (!mEngineConfigApplied.postEqStage.inUse) return false; return isBandConfigValid(dp.get<DynamicsProcessing::postEqBand>(), return isBandConfigValid(dp.get<DynamicsProcessing::postEqBand>(), mEngineConfigApplied.postEqStage.bandCount); mEngineConfigApplied.postEqStage.bandCount); } } case DynamicsProcessing::mbcBand: { case DynamicsProcessing::mbcBand: { if (!mEngineConfigApplied.mbcStage.inUse) return false; return isBandConfigValid(dp.get<DynamicsProcessing::mbcBand>(), return isBandConfigValid(dp.get<DynamicsProcessing::mbcBand>(), mEngineConfigApplied.mbcStage.bandCount); mEngineConfigApplied.mbcStage.bandCount); } } case DynamicsProcessing::limiter: { case DynamicsProcessing::limiter: { if (!mEngineConfigApplied.limiterInUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::limiter>()); return isChannelConfigValid(dp.get<DynamicsProcessing::limiter>()); } } case DynamicsProcessing::inputGain: { case DynamicsProcessing::inputGain: { Loading Loading
audio/aidl/vts/VtsHalDynamicsProcessingTest.cpp +5 −11 Original line number Original line Diff line number Diff line Loading @@ -195,48 +195,42 @@ const std::set<std::vector<DynamicsProcessing::InputGain>> template <typename T> template <typename T> bool DynamicsProcessingTestHelper::isBandConfigValid(const std::vector<T>& cfgs, int bandCount) { bool DynamicsProcessingTestHelper::isBandConfigValid(const std::vector<T>& cfgs, int bandCount) { std::vector<float> freqs(cfgs.size(), -1); std::unordered_set<int> freqs; for (auto cfg : cfgs) { for (auto cfg : cfgs) { if (cfg.channel < 0 || cfg.channel >= mChannelCount) return false; if (cfg.channel < 0 || cfg.channel >= mChannelCount) return false; if (cfg.band < 0 || cfg.band >= bandCount) return false; if (cfg.band < 0 || cfg.band >= bandCount) return false; freqs[cfg.band] = cfg.cutoffFrequencyHz; // duplicated band index if (freqs.find(cfg.band) != freqs.end()) return false; freqs.insert(cfg.band); } } if (std::count(freqs.begin(), freqs.end(), -1)) return false; return true; return std::is_sorted(freqs.begin(), freqs.end()); } } bool DynamicsProcessingTestHelper::isParamValid(const DynamicsProcessing::Tag& tag, bool DynamicsProcessingTestHelper::isParamValid(const DynamicsProcessing::Tag& tag, const DynamicsProcessing& dp) { const DynamicsProcessing& dp) { switch (tag) { switch (tag) { case DynamicsProcessing::preEq: { case DynamicsProcessing::preEq: { if (!mEngineConfigApplied.preEqStage.inUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::preEq>()); return isChannelConfigValid(dp.get<DynamicsProcessing::preEq>()); } } case DynamicsProcessing::postEq: { case DynamicsProcessing::postEq: { if (!mEngineConfigApplied.postEqStage.inUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::postEq>()); return isChannelConfigValid(dp.get<DynamicsProcessing::postEq>()); } } case DynamicsProcessing::mbc: { case DynamicsProcessing::mbc: { if (!mEngineConfigApplied.mbcStage.inUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::mbc>()); return isChannelConfigValid(dp.get<DynamicsProcessing::mbc>()); } } case DynamicsProcessing::preEqBand: { case DynamicsProcessing::preEqBand: { if (!mEngineConfigApplied.preEqStage.inUse) return false; return isBandConfigValid(dp.get<DynamicsProcessing::preEqBand>(), return isBandConfigValid(dp.get<DynamicsProcessing::preEqBand>(), mEngineConfigApplied.preEqStage.bandCount); mEngineConfigApplied.preEqStage.bandCount); } } case DynamicsProcessing::postEqBand: { case DynamicsProcessing::postEqBand: { if (!mEngineConfigApplied.postEqStage.inUse) return false; return isBandConfigValid(dp.get<DynamicsProcessing::postEqBand>(), return isBandConfigValid(dp.get<DynamicsProcessing::postEqBand>(), mEngineConfigApplied.postEqStage.bandCount); mEngineConfigApplied.postEqStage.bandCount); } } case DynamicsProcessing::mbcBand: { case DynamicsProcessing::mbcBand: { if (!mEngineConfigApplied.mbcStage.inUse) return false; return isBandConfigValid(dp.get<DynamicsProcessing::mbcBand>(), return isBandConfigValid(dp.get<DynamicsProcessing::mbcBand>(), mEngineConfigApplied.mbcStage.bandCount); mEngineConfigApplied.mbcStage.bandCount); } } case DynamicsProcessing::limiter: { case DynamicsProcessing::limiter: { if (!mEngineConfigApplied.limiterInUse) return false; return isChannelConfigValid(dp.get<DynamicsProcessing::limiter>()); return isChannelConfigValid(dp.get<DynamicsProcessing::limiter>()); } } case DynamicsProcessing::inputGain: { case DynamicsProcessing::inputGain: { Loading