audio policy: update permission check for REMOTE_SUBMIX audio source.
Do not request RECORD_AUDIO permission when capturing from audio source
REMOTE_SUBMIX as this is not capturing from an actual microphone but from
a redirection if the audio output instead.
Now enforce either MODIFY_AUDIO_ROUTING (aligned with dynamic audio
policy registration).
Also fix a similar issue with audio source ECHO_REFERENCE where RECORD_AUDIO
permission was requested in addition to CAPTURE_AUDIO_OUTPUT.
Bug: 186581697
Test: GTS AudioCaptureTest#testFixedVolumeRemoteSubmixSetup,
RemoteSubmixTest#testRecordFromRemoteSubmix, AudioPolicyTest
Test: CTS AudioRecordTest#testRestrictedAudioSourcePermissions,
NoCaptureAudioOutputPermissionTest#testCreateAudioRecord, AudioPlaybackCaptureTest
Change-Id: Icfaa60af99bb5813ec4572e092c94a94090b7d8d
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp
index c21be1e..d0efac0 100644
--- a/services/audiopolicy/service/AudioPolicyService.cpp
+++ b/services/audiopolicy/service/AudioPolicyService.cpp
@@ -904,6 +904,7 @@
switch (source) {
case AUDIO_SOURCE_FM_TUNER:
case AUDIO_SOURCE_ECHO_REFERENCE:
+ case AUDIO_SOURCE_REMOTE_SUBMIX:
return false;
default:
break;