Merge "audioservice: fix hasMediaDynamicPolicy() for loopback and render policies" into qt-r1-dev
am: aa8b8ecec2
Change-Id: I5b1d986fe559392382289256555298839c683b14
This commit is contained in:
@@ -5578,6 +5578,7 @@ public class AudioService extends IAudioService.Stub
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return true if there is currently a registered dynamic mixing policy that affects media
|
* @return true if there is currently a registered dynamic mixing policy that affects media
|
||||||
|
* and is not a render + loopback policy
|
||||||
*/
|
*/
|
||||||
/*package*/ boolean hasMediaDynamicPolicy() {
|
/*package*/ boolean hasMediaDynamicPolicy() {
|
||||||
synchronized (mAudioPolicies) {
|
synchronized (mAudioPolicies) {
|
||||||
@@ -5586,7 +5587,8 @@ public class AudioService extends IAudioService.Stub
|
|||||||
}
|
}
|
||||||
final Collection<AudioPolicyProxy> appColl = mAudioPolicies.values();
|
final Collection<AudioPolicyProxy> appColl = mAudioPolicies.values();
|
||||||
for (AudioPolicyProxy app : appColl) {
|
for (AudioPolicyProxy app : appColl) {
|
||||||
if (app.hasMixAffectingUsage(AudioAttributes.USAGE_MEDIA)) {
|
if (app.hasMixAffectingUsage(AudioAttributes.USAGE_MEDIA,
|
||||||
|
AudioMix.ROUTE_FLAG_LOOP_BACK_RENDER)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7349,9 +7351,10 @@ public class AudioService extends IAudioService.Stub
|
|||||||
Binder.restoreCallingIdentity(identity);
|
Binder.restoreCallingIdentity(identity);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean hasMixAffectingUsage(int usage) {
|
boolean hasMixAffectingUsage(int usage, int excludedFlags) {
|
||||||
for (AudioMix mix : mMixes) {
|
for (AudioMix mix : mMixes) {
|
||||||
if (mix.isAffectingUsage(usage)) {
|
if (mix.isAffectingUsage(usage)
|
||||||
|
&& ((mix.getRouteFlags() & excludedFlags) != excludedFlags)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user