summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMingming Yin <mingming@codeaurora.org>2014-01-15 11:50:09 -0800
committerSteve Kondik <shade@chemlab.org>2014-09-28 21:37:50 -0700
commit21985db29b881618ab62b355ddb6f1a40b15c3b1 (patch)
tree271f082e5e98df0f2c61dd3c209bc58562d4e2cb
parent94bfc3bd0bfdf8b363cf140d8e5ca14604bc4900 (diff)
downloadandroid_hardware_libhardware_legacy-21985db29b881618ab62b355ddb6f1a40b15c3b1.tar.gz
android_hardware_libhardware_legacy-21985db29b881618ab62b355ddb6f1a40b15c3b1.tar.bz2
android_hardware_libhardware_legacy-21985db29b881618ab62b355ddb6f1a40b15c3b1.zip
audio: update srcOutputs based on current outputs
- Issue: Direct outputs are also opened to query for dynamic parameters in checkOutputsForDevice and will be closed later by setDeviceConnectionState. There is a mismatch between srcOutputs and dstOutputs in checkOutputForStrategy which results in a temp mute while moving tracks from one output to another - Fix this issue by updating srcOutputs based on mOutputs instead of mPreviousOutputs Change-Id: Ie716e33606985ae93f31abbf8aac506c935840db CRs-Fixed: 591339
-rw-r--r--audio/AudioPolicyManagerBase.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp
index 4d44d2c..df754a0 100644
--- a/audio/AudioPolicyManagerBase.cpp
+++ b/audio/AudioPolicyManagerBase.cpp
@@ -2177,7 +2177,7 @@ void AudioPolicyManagerBase::checkOutputForStrategy(routing_strategy strategy)
{
audio_devices_t oldDevice = getDeviceForStrategy(strategy, true /*fromCache*/);
audio_devices_t newDevice = getDeviceForStrategy(strategy, false /*fromCache*/);
- SortedVector<audio_io_handle_t> srcOutputs = getOutputsForDevice(oldDevice, mPreviousOutputs);
+ SortedVector<audio_io_handle_t> srcOutputs = getOutputsForDevice(oldDevice, mOutputs);
SortedVector<audio_io_handle_t> dstOutputs = getOutputsForDevice(newDevice, mOutputs);
if (!vectorsEqual(srcOutputs,dstOutputs)) {