diff --git a/media/libaudioclient/IAudioPolicyService.cpp b/media/libaudioclient/IAudioPolicyService.cpp index 0b98502af8..e7b5102297 100644 --- a/media/libaudioclient/IAudioPolicyService.cpp +++ b/media/libaudioclient/IAudioPolicyService.cpp @@ -883,7 +883,20 @@ status_t BnAudioPolicyService::onTransact( break; } - TimeCheck check("IAudioPolicyService"); + // FIXME: extend timeout for SET_DEVICE_CONNECTION_STATE and HANDLE_DEVICE_CONFIG_CHANGE + // while we investigate why BT A2DP device connection/disconnection can sometimes + // take more than 5 seconds + uint32_t timeoutMs = TimeCheck::kDefaultTimeOutMs; + switch (code) { + case SET_DEVICE_CONNECTION_STATE: + case HANDLE_DEVICE_CONFIG_CHANGE: + timeoutMs *= 2; + break; + default: + break; + } + + TimeCheck check("IAudioPolicyService", timeoutMs); switch (code) { case SET_DEVICE_CONNECTION_STATE: {