diff options
| author | Mingming Yin <mingming@codeaurora.org> | 2014-01-15 11:50:09 -0800 |
|---|---|---|
| committer | Steve Kondik <shade@chemlab.org> | 2014-09-28 21:37:50 -0700 |
| commit | 21985db29b881618ab62b355ddb6f1a40b15c3b1 (patch) | |
| tree | 271f082e5e98df0f2c61dd3c209bc58562d4e2cb | |
| parent | 94bfc3bd0bfdf8b363cf140d8e5ca14604bc4900 (diff) | |
| download | android_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.cpp | 2 |
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)) { |
