summaryrefslogtreecommitdiffstats
path: root/services/audioflinger
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-04-14 18:49:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-04-14 18:49:03 +0000
commit17ca0141634a7fa552db3cfdf2a3e79289ec54af (patch)
treeb3cb4a2bbdae3cac22a6bae232f053137b9c7b16 /services/audioflinger
parent210810b644a0bad76a04bfbff8a205f3b97b90ac (diff)
parentc125f38cd0ae35409a01b98a99e483550daa1313 (diff)
downloadframeworks_av-17ca0141634a7fa552db3cfdf2a3e79289ec54af.zip
frameworks_av-17ca0141634a7fa552db3cfdf2a3e79289ec54af.tar.gz
frameworks_av-17ca0141634a7fa552db3cfdf2a3e79289ec54af.tar.bz2
Merge "audioflinger: forward device change to effects in direct thread"
Diffstat (limited to 'services/audioflinger')
-rw-r--r--services/audioflinger/Threads.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index feedd89..ae3dd8b 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -3951,6 +3951,16 @@ bool AudioFlinger::DirectOutputThread::checkForNewParameters_l()
AudioParameter param = AudioParameter(keyValuePair);
int value;
+ if (param.getInt(String8(AudioParameter::keyRouting), value) == NO_ERROR) {
+ // forward device change to effects that have requested to be
+ // aware of attached audio device.
+ if (value != AUDIO_DEVICE_NONE) {
+ mOutDevice = value;
+ for (size_t i = 0; i < mEffectChains.size(); i++) {
+ mEffectChains[i]->setDevice_l(mOutDevice);
+ }
+ }
+ }
if (param.getInt(String8(AudioParameter::keyFrameCount), value) == NO_ERROR) {
// do not accept frame count changes if tracks are open as the track buffer
// size depends on frame count and correct behavior would not be garantied