From: bryant_liu Date: Tue, 19 Aug 2014 12:07:05 +0000 (+0800) Subject: audiopolicy: Indicate output device change to all input threads for pre-processing X-Git-Tag: android-x86-6.0-r1~852^2~415^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f5e7e79bf88b0c08c73262e7992634797a4f81a1;p=android-x86%2Fframeworks-av.git audiopolicy: Indicate output device change to all input threads for pre-processing Bug: 17129715 Change-Id: I1fd938cce0b85241c80ea00f3d013a98948d3975 --- diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp index 06dd22ca18..f65e136642 100644 --- a/services/audiopolicy/AudioPolicyManager.cpp +++ b/services/audiopolicy/AudioPolicyManager.cpp @@ -4317,6 +4317,20 @@ uint32_t AudioPolicyManager::setOutputDevice(audio_io_handle_t output, mpClientInterface->onAudioPatchListUpdate(); } } + + // inform all input as well + for (size_t i = 0; i < mInputs.size(); i++) { + const sp inputDescriptor = mInputs.valueAt(i); + if (!isVirtualInputDevice(inputDescriptor->mDevice)) { + AudioParameter inputCmd = AudioParameter(); + ALOGV("%s: inform input %d of device:%d", __func__, + inputDescriptor->mIoHandle, device); + inputCmd.addInt(String8(AudioParameter::keyRouting),device); + mpClientInterface->setParameters(inputDescriptor->mIoHandle, + inputCmd.toString(), + delayMs); + } + } } // update stream volumes according to new device