audio policy: fix getDeviceForStrategy()
Modification of getDEviceForStrategy by commit 28d09f064 made
wrong use of available output devices vector passed by reference
and caused an update of the actual list of connected devices instead
of the local list.
Bug: 27586202
Change-Id: I805b9cf27e1fb28494e6e23b2b874e0e5c3487e6
diff --git a/services/audiopolicy/enginedefault/src/Engine.cpp b/services/audiopolicy/enginedefault/src/Engine.cpp
index f8ba3f2..f2224fd 100755
--- a/services/audiopolicy/enginedefault/src/Engine.cpp
+++ b/services/audiopolicy/enginedefault/src/Engine.cpp
@@ -231,20 +231,20 @@
audio_devices_t Engine::getDeviceForStrategy(routing_strategy strategy) const
{
- const DeviceVector &availableOutputDevices = mApmObserver->getAvailableOutputDevices();
- const DeviceVector &availableInputDevices = mApmObserver->getAvailableInputDevices();
+ DeviceVector availableOutputDevices = mApmObserver->getAvailableOutputDevices();
+ DeviceVector availableInputDevices = mApmObserver->getAvailableInputDevices();
const SwAudioOutputCollection &outputs = mApmObserver->getOutputs();
- return getDeviceForStrategyInt(strategy, (DeviceVector&)availableOutputDevices,
+ return getDeviceForStrategyInt(strategy, availableOutputDevices,
availableInputDevices, outputs);
}
audio_devices_t Engine::getDeviceForStrategyInt(routing_strategy strategy,
- DeviceVector &availableOutputDevices,
- const DeviceVector &availableInputDevices,
+ DeviceVector availableOutputDevices,
+ DeviceVector availableInputDevices,
const SwAudioOutputCollection &outputs) const
{
uint32_t device = AUDIO_DEVICE_NONE;