summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorHochi Huang <hochi.huang@mediatek.com>2014-10-04 16:40:26 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-04 16:40:26 +0000
commitb4f9e04210fc76ea468cb4fb3c2b20d91b56ce50 (patch)
tree4491b5826e80d272f64736000136c82977830e36 /services
parent6b95616b21c449d9332430fe9500ade56924a3a1 (diff)
parent23fe3c0a05fcb619eeb5b0c2ece02cdadab2df6e (diff)
downloadframeworks_av-b4f9e04210fc76ea468cb4fb3c2b20d91b56ce50.zip
frameworks_av-b4f9e04210fc76ea468cb4fb3c2b20d91b56ce50.tar.gz
frameworks_av-b4f9e04210fc76ea468cb4fb3c2b20d91b56ce50.tar.bz2
am 23fe3c0a: [AU] Import gain setting into ports
* commit '23fe3c0a05fcb619eeb5b0c2ece02cdadab2df6e': [AU] Import gain setting into ports
Diffstat (limited to 'services')
-rw-r--r--services/audiopolicy/AudioPolicyManager.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp
index e18f470..c437551 100644
--- a/services/audiopolicy/AudioPolicyManager.cpp
+++ b/services/audiopolicy/AudioPolicyManager.cpp
@@ -5852,12 +5852,28 @@ void AudioPolicyManager::AudioPort::importAudioPort(const sp<AudioPort> port) {
}
}
}
+ for (size_t k = 0 ; k < port->mGains.size() ; k++) {
+ sp<AudioGain> gain = port->mGains.itemAt(k);
+ if (gain != 0) {
+ bool hasGain = false;
+ for (size_t l = 0 ; l < mGains.size() ; l++) {
+ if (gain == mGains.itemAt(l)) {
+ hasGain = true;
+ break;
+ }
+ }
+ if (!hasGain) { // never import a gain twice
+ mGains.add(gain);
+ }
+ }
+ }
}
void AudioPolicyManager::AudioPort::clearCapabilities() {
mChannelMasks.clear();
mFormats.clear();
mSamplingRates.clear();
+ mGains.clear();
}
void AudioPolicyManager::AudioPort::loadSamplingRates(char *name)