audio policy: fix media volume after ringtone am: 57de36ccd1 am: f3ef8248a7
am: 809acee9e2
Change-Id: I69beb8361d17fb215cf1d3d04faa97b25e78d371
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index bb12c2c..39d156c 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -1329,6 +1329,7 @@
// force restoring the device selection on other active outputs if it differs from the
// one being selected for this output
+ uint32_t delayMs = outputDesc->latency()*2;
for (size_t i = 0; i < mOutputs.size(); i++) {
sp<AudioOutputDescriptor> desc = mOutputs.valueAt(i);
if (desc != outputDesc &&
@@ -1340,7 +1341,11 @@
setOutputDevice(desc,
newDevice2,
force,
- outputDesc->latency()*2);
+ delayMs);
+ // re-apply device specific volume if not done by setOutputDevice()
+ if (!force) {
+ applyStreamVolumes(desc, newDevice2, delayMs);
+ }
}
}
// update the outputs if stopping one with a stream that can affect notification routing