Merge "audio: Align Module::getMmapPolicyInfos behavior with legacy" into main
This commit is contained in:
commit
b9c4bd4ea5
2 changed files with 14 additions and 1 deletions
|
@ -1277,6 +1277,12 @@ ndk::ScopedAStatus Module::getMmapPolicyInfos(AudioMMapPolicyType mmapPolicyType
|
|||
mmapSources.insert(port.id);
|
||||
}
|
||||
}
|
||||
if (mmapSources.empty() && mmapSinks.empty()) {
|
||||
AudioMMapPolicyInfo never;
|
||||
never.mmapPolicy = AudioMMapPolicy::NEVER;
|
||||
_aidl_return->push_back(never);
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
for (const auto& route : getConfig().routes) {
|
||||
if (mmapSinks.count(route.sinkPortId) != 0) {
|
||||
// The sink is a mix port, add the sources if they are device ports.
|
||||
|
|
|
@ -87,6 +87,7 @@ using aidl::android::media::audio::common::AudioDualMonoMode;
|
|||
using aidl::android::media::audio::common::AudioFormatType;
|
||||
using aidl::android::media::audio::common::AudioIoFlags;
|
||||
using aidl::android::media::audio::common::AudioLatencyMode;
|
||||
using aidl::android::media::audio::common::AudioMMapPolicy;
|
||||
using aidl::android::media::audio::common::AudioMMapPolicyInfo;
|
||||
using aidl::android::media::audio::common::AudioMMapPolicyType;
|
||||
using aidl::android::media::audio::common::AudioMode;
|
||||
|
@ -2133,7 +2134,13 @@ TEST_P(AudioCoreModule, GetMmapPolicyInfos) {
|
|||
std::vector<AudioMMapPolicyInfo> policyInfos;
|
||||
EXPECT_IS_OK(module->getMmapPolicyInfos(mmapPolicyType, &policyInfos))
|
||||
<< toString(mmapPolicyType);
|
||||
EXPECT_EQ(isMmapSupported, !policyInfos.empty());
|
||||
const bool isMMapSupportedByPolicyInfos =
|
||||
std::find_if(policyInfos.begin(), policyInfos.end(), [](const auto& info) {
|
||||
return info.mmapPolicy == AudioMMapPolicy::AUTO ||
|
||||
info.mmapPolicy == AudioMMapPolicy::ALWAYS;
|
||||
}) != policyInfos.end();
|
||||
EXPECT_EQ(isMmapSupported, isMMapSupportedByPolicyInfos)
|
||||
<< ::android::internal::ToString(policyInfos);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue