diff options
author | Eric Laurent <elaurent@google.com> | 2012-06-06 16:09:03 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2012-06-06 16:58:35 -0700 |
commit | fa3697d716b444bbea6be480801536c44bf69214 (patch) | |
tree | affb22e5d7eb0b585f58e99a6ac1ece071881283 /audio/AudioPolicyManagerBase.cpp | |
parent | 3cdfddf1b27bcb5408ca3a04fcdf206447ba07ba (diff) | |
download | hardware_libhardware_legacy-fa3697d716b444bbea6be480801536c44bf69214.zip hardware_libhardware_legacy-fa3697d716b444bbea6be480801536c44bf69214.tar.gz hardware_libhardware_legacy-fa3697d716b444bbea6be480801536c44bf69214.tar.bz2 |
audio policy: remove delay when enabling speaker
Do not force mute on a strategy when moving it from one output
stream to another if no stream is active.
Bug 6611972.
Change-Id: I21f72b0ef3600639de66e6b0a1c3ae44045fd81f
Diffstat (limited to 'audio/AudioPolicyManagerBase.cpp')
-rw-r--r-- | audio/AudioPolicyManagerBase.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp index 9522000..fcee6ae 100644 --- a/audio/AudioPolicyManagerBase.cpp +++ b/audio/AudioPolicyManagerBase.cpp @@ -1803,8 +1803,11 @@ void AudioPolicyManagerBase::checkOutputForStrategy(routing_strategy strategy) strategy, srcOutputs[0], dstOutputs[0]); // mute strategy while moving tracks from one output to another for (size_t i = 0; i < srcOutputs.size(); i++) { - setStrategyMute(strategy, true, srcOutputs[i]); - setStrategyMute(strategy, false, srcOutputs[i], MUTE_TIME_MS, newDevice); + AudioOutputDescriptor *desc = mOutputs.valueFor(srcOutputs[i]); + if (desc->strategyRefCount(strategy) != 0) { + setStrategyMute(strategy, true, srcOutputs[i]); + setStrategyMute(strategy, false, srcOutputs[i], MUTE_TIME_MS, newDevice); + } } // Move effects associated to this strategy from previous output to new output |