Loading media/libaudioclient/AudioPolicy.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -143,11 +143,18 @@ status_t AudioMix::writeToParcel(Parcel *parcel) const return NO_ERROR; } void AudioMix::excludeUid(uid_t uid) const { void AudioMix::setExcludeUid(uid_t uid) const { AudioMixMatchCriterion crit; crit.mRule = RULE_EXCLUDE_UID; crit.mValue.mUid = uid; mCriteria.add(crit); } void AudioMix::setMatchUid(uid_t uid) const { AudioMixMatchCriterion crit; crit.mRule = RULE_MATCH_UID; crit.mValue.mUid = uid; mCriteria.add(crit); } } // namespace android media/libaudioclient/include/media/AudioPolicy.h +2 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,8 @@ public: status_t readFromParcel(Parcel *parcel); status_t writeToParcel(Parcel *parcel) const; void excludeUid(uid_t uid) const; void setExcludeUid(uid_t uid) const; void setMatchUid(uid_t uid) const; mutable Vector<AudioMixMatchCriterion> mCriteria; uint32_t mMixType; Loading services/audiopolicy/common/managerdefinitions/src/AudioPolicyMix.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -360,10 +360,12 @@ status_t AudioPolicyMixCollection::setUidDeviceAffinities(uid_t uid, break; } } if (!deviceMatch) { if (deviceMatch) { mix->setMatchUid(uid); } else { // this mix doesn't go to one of the listed devices for the given uid, // modify its rules to exclude the uid mix->excludeUid(uid); mix->setExcludeUid(uid); } } Loading @@ -382,7 +384,7 @@ status_t AudioPolicyMixCollection::removeUidDeviceAffinities(uid_t uid) { for (size_t j = 0; j < mix->mCriteria.size(); j++) { const uint32_t rule = mix->mCriteria[j].mRule; // is this rule affecting the uid? if (rule == RULE_EXCLUDE_UID if ((rule == RULE_EXCLUDE_UID || rule == RULE_MATCH_UID) && uid == mix->mCriteria[j].mValue.mUid) { foundUidRule = true; criteriaToRemove.push_back(j); Loading Loading
media/libaudioclient/AudioPolicy.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -143,11 +143,18 @@ status_t AudioMix::writeToParcel(Parcel *parcel) const return NO_ERROR; } void AudioMix::excludeUid(uid_t uid) const { void AudioMix::setExcludeUid(uid_t uid) const { AudioMixMatchCriterion crit; crit.mRule = RULE_EXCLUDE_UID; crit.mValue.mUid = uid; mCriteria.add(crit); } void AudioMix::setMatchUid(uid_t uid) const { AudioMixMatchCriterion crit; crit.mRule = RULE_MATCH_UID; crit.mValue.mUid = uid; mCriteria.add(crit); } } // namespace android
media/libaudioclient/include/media/AudioPolicy.h +2 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,8 @@ public: status_t readFromParcel(Parcel *parcel); status_t writeToParcel(Parcel *parcel) const; void excludeUid(uid_t uid) const; void setExcludeUid(uid_t uid) const; void setMatchUid(uid_t uid) const; mutable Vector<AudioMixMatchCriterion> mCriteria; uint32_t mMixType; Loading
services/audiopolicy/common/managerdefinitions/src/AudioPolicyMix.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -360,10 +360,12 @@ status_t AudioPolicyMixCollection::setUidDeviceAffinities(uid_t uid, break; } } if (!deviceMatch) { if (deviceMatch) { mix->setMatchUid(uid); } else { // this mix doesn't go to one of the listed devices for the given uid, // modify its rules to exclude the uid mix->excludeUid(uid); mix->setExcludeUid(uid); } } Loading @@ -382,7 +384,7 @@ status_t AudioPolicyMixCollection::removeUidDeviceAffinities(uid_t uid) { for (size_t j = 0; j < mix->mCriteria.size(); j++) { const uint32_t rule = mix->mCriteria[j].mRule; // is this rule affecting the uid? if (rule == RULE_EXCLUDE_UID if ((rule == RULE_EXCLUDE_UID || rule == RULE_MATCH_UID) && uid == mix->mCriteria[j].mValue.mUid) { foundUidRule = true; criteriaToRemove.push_back(j); Loading