summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorPaul McLean <pmclean@google.com>2014-08-28 21:06:27 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-08-28 21:06:27 +0000
commitc1f1435ed8c9c7df42ad5dc621412fc7cc9d4633 (patch)
treeee43a14544172ca444df9b0566c3a9df12105cc3 /services
parentf71047f70ccdab19a874c9127dd465ff84e871f7 (diff)
parent131ff14853a45beb336cdd39b5ebfe51647272c0 (diff)
downloadframeworks_av-c1f1435ed8c9c7df42ad5dc621412fc7cc9d4633.zip
frameworks_av-c1f1435ed8c9c7df42ad5dc621412fc7cc9d4633.tar.gz
frameworks_av-c1f1435ed8c9c7df42ad5dc621412fc7cc9d4633.tar.bz2
am 131ff148: am 8962e08c: Merge "Fix audio dropouts with multiple playback streams." into lmp-dev
* commit '131ff14853a45beb336cdd39b5ebfe51647272c0': Fix audio dropouts with multiple playback streams.
Diffstat (limited to 'services')
-rw-r--r--services/audiopolicy/AudioPolicyManager.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp
index 569dc46..06dd22c 100644
--- a/services/audiopolicy/AudioPolicyManager.cpp
+++ b/services/audiopolicy/AudioPolicyManager.cpp
@@ -271,7 +271,13 @@ status_t AudioPolicyManager::setDeviceConnectionState(audio_devices_t device,
return INVALID_OPERATION;
}
- ALOGV("setDeviceConnectionState() disconnecting device %x", device);
+ ALOGV("setDeviceConnectionState() disconnecting output device %x", device);
+
+ // Set Disconnect to HALs
+ AudioParameter param = AudioParameter(address);
+ param.addInt(String8(AUDIO_PARAMETER_DEVICE_DISCONNECT), device);
+ mpClientInterface->setParameters(AUDIO_IO_HANDLE_NONE, param.toString());
+
// remove device from available output devices
mAvailableOutputDevices.remove(devDesc);
@@ -368,8 +374,17 @@ status_t AudioPolicyManager::setDeviceConnectionState(audio_devices_t device,
ALOGW("setDeviceConnectionState() device not connected: %d", device);
return INVALID_OPERATION;
}
+
+ ALOGV("setDeviceConnectionState() disconnecting input device %x", device);
+
+ // Set Disconnect to HALs
+ AudioParameter param = AudioParameter(address);
+ param.addInt(String8(AUDIO_PARAMETER_DEVICE_DISCONNECT), device);
+ mpClientInterface->setParameters(AUDIO_IO_HANDLE_NONE, param.toString());
+
checkInputsForDevice(device, state, inputs, address);
mAvailableInputDevices.remove(devDesc);
+
} break;
default: