AudioPolicyMix: fix loopback+render mix match rules
Fix matching logic for loopback+render rule and usage VOICE_COMMUNICATION.
Previous logic was requesting flag mAllowPrivilegedPlaybackCapture to
allow capturing playback with usage VOICE_COMMUNICATION.
This is not a requirement: only flag mVoiceCommunicationCaptureAllowed
together with a client not having opted out from capture by the system
is needed for a match.
Also rename mAllowPrivilegedPlaybackCapture to mAllowPrivilegedMediaPlaybackCapture
in AudioMix class to reflect better its actual role.
Test: atest AudioHostTest
Test: atest AudioPlaybackCaptureTest
Bug: 161569476
Change-Id: Iad0b7e89e68c9f2e59fabb75071a6425e9a29085
diff --git a/media/libaudioclient/AudioPolicy.cpp b/media/libaudioclient/AudioPolicy.cpp
index 0522099..c2f7229 100644
--- a/media/libaudioclient/AudioPolicy.cpp
+++ b/media/libaudioclient/AudioPolicy.cpp
@@ -85,7 +85,7 @@
mDeviceType = (audio_devices_t) parcel->readInt32();
mDeviceAddress = parcel->readString8();
mCbFlags = (uint32_t)parcel->readInt32();
- mAllowPrivilegedPlaybackCapture = parcel->readBool();
+ mAllowPrivilegedMediaPlaybackCapture = parcel->readBool();
mVoiceCommunicationCaptureAllowed = parcel->readBool();
size_t size = (size_t)parcel->readInt32();
if (size > MAX_CRITERIA_PER_MIX) {
@@ -110,7 +110,7 @@
parcel->writeInt32(mDeviceType);
parcel->writeString8(mDeviceAddress);
parcel->writeInt32(mCbFlags);
- parcel->writeBool(mAllowPrivilegedPlaybackCapture);
+ parcel->writeBool(mAllowPrivilegedMediaPlaybackCapture);
parcel->writeBool(mVoiceCommunicationCaptureAllowed);
size_t size = mCriteria.size();
if (size > MAX_CRITERIA_PER_MIX) {