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

Commit b9c4bd4e authored by Mikhail Naganov's avatar Mikhail Naganov Committed by Gerrit Code Review
Browse files

Merge "audio: Align Module::getMmapPolicyInfos behavior with legacy" into main

parents 6b3f886f 85064914
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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.
+8 −1
Original line number Diff line number Diff line
@@ -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);
    }
}