Merge "audioservice: fix hasMediaDynamicPolicy() for loopback and render policies" into qt-r1-dev
This commit is contained in:
@@ -5577,6 +5577,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) {
|
||||||
@@ -5585,7 +5586,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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7348,9 +7350,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