Audio Policy: Do not stop getOutputForAttr on invalid Mix
This would allow an app that successfully registered an invalid mix to
block all following mixes.
Test: none
Bug: 111453086
Change-Id: I3c1630b7b697dd70e08a5708d1515e097d683401
Signed-off-by: Kevin Rocard <krocard@google.com>
diff --git a/services/audiopolicy/common/managerdefinitions/src/AudioPolicyMix.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioPolicyMix.cpp
index 8f15016..1b812c0 100644
--- a/services/audiopolicy/common/managerdefinitions/src/AudioPolicyMix.cpp
+++ b/services/audiopolicy/common/managerdefinitions/src/AudioPolicyMix.cpp
@@ -147,7 +147,10 @@
}
switch (mixMatch(policyMix.get(), i, attributes, uid)) {
- case MixMatchStatus::INVALID_MIX: return BAD_VALUE; // TODO: Do we really want to abort?
+ case MixMatchStatus::INVALID_MIX:
+ // The mix has contradictory rules, ignore it
+ // TODO: reject invalid mix at registration
+ continue;
case MixMatchStatus::NO_MATCH:
ALOGV("%s: Mix %zu: does not match", __func__, i);
continue; // skip the mix