diff options
| author | 2019-07-15 15:18:46 +0000 | |
|---|---|---|
| committer | 2019-07-15 15:18:46 +0000 | |
| commit | aa8b8ecec25873f9882a8c49057f99cd2279dc60 (patch) | |
| tree | 560c153e025cdd8a9b6f4b285d3228cbe901aa98 | |
| parent | d5e7e0753ca91ad21502e33ac426134277a4c56d (diff) | |
| parent | 6a3d2565c3b06d90048bee1cf8e1347f9494a77d (diff) | |
Merge "audioservice: fix hasMediaDynamicPolicy() for loopback and render policies" into qt-r1-dev
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 4b08db6be047..7e2dcae658af 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -5577,6 +5577,7 @@ public class AudioService extends IAudioService.Stub /** * @return true if there is currently a registered dynamic mixing policy that affects media + * and is not a render + loopback policy */ /*package*/ boolean hasMediaDynamicPolicy() { synchronized (mAudioPolicies) { @@ -5585,7 +5586,8 @@ public class AudioService extends IAudioService.Stub } final Collection<AudioPolicyProxy> appColl = mAudioPolicies.values(); for (AudioPolicyProxy app : appColl) { - if (app.hasMixAffectingUsage(AudioAttributes.USAGE_MEDIA)) { + if (app.hasMixAffectingUsage(AudioAttributes.USAGE_MEDIA, + AudioMix.ROUTE_FLAG_LOOP_BACK_RENDER)) { return true; } } @@ -7348,9 +7350,10 @@ public class AudioService extends IAudioService.Stub Binder.restoreCallingIdentity(identity); } - boolean hasMixAffectingUsage(int usage) { + boolean hasMixAffectingUsage(int usage, int excludedFlags) { for (AudioMix mix : mMixes) { - if (mix.isAffectingUsage(usage)) { + if (mix.isAffectingUsage(usage) + && ((mix.getRouteFlags() & excludedFlags) != excludedFlags)) { return true; } } |