summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy/managerdefault
diff options
context:
space:
mode:
authorvivek mehta <mvivek@codeaurora.org>2015-09-18 10:36:39 -0700
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:25:06 -0600
commit5b0ded9bf189d8e6a22ab1b22316302b1499bb53 (patch)
tree251eabd3ab48ff8e0d36afd8b74fa65f0abb6a1e /services/audiopolicy/managerdefault
parent957c762710b526579a4354fbd0b83b4c26274e49 (diff)
downloadframeworks_av-5b0ded9bf189d8e6a22ab1b22316302b1499bb53.zip
frameworks_av-5b0ded9bf189d8e6a22ab1b22316302b1499bb53.tar.gz
frameworks_av-5b0ded9bf189d8e6a22ab1b22316302b1499bb53.tar.bz2
Direct_PCM: add support for effects
- add support for effects on direct pcm output Change-Id: I2fbac63c623bf51a03e5e91828369739d33329f3
Diffstat (limited to 'services/audiopolicy/managerdefault')
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 8618b08..483855f 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -1765,6 +1765,7 @@ audio_io_handle_t AudioPolicyManager::selectOutputForEffects(
audio_io_handle_t outputOffloaded = 0;
audio_io_handle_t outputDeepBuffer = 0;
+ audio_io_handle_t outputDirectPcm = 0;
for (size_t i = 0; i < outputs.size(); i++) {
sp<SwAudioOutputDescriptor> desc = mOutputs.valueFor(outputs[i]);
@@ -1772,6 +1773,9 @@ audio_io_handle_t AudioPolicyManager::selectOutputForEffects(
if ((desc->mFlags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) != 0) {
outputOffloaded = outputs[i];
}
+ if ((desc->mFlags & AUDIO_OUTPUT_FLAG_DIRECT_PCM) != 0) {
+ outputDirectPcm = outputs[i];
+ }
if ((desc->mFlags & AUDIO_OUTPUT_FLAG_DEEP_BUFFER) != 0) {
outputDeepBuffer = outputs[i];
}
@@ -1782,6 +1786,9 @@ audio_io_handle_t AudioPolicyManager::selectOutputForEffects(
if (outputOffloaded != 0) {
return outputOffloaded;
}
+ if (outputDirectPcm != 0) {
+ return outputDirectPcm;
+ }
if (outputDeepBuffer != 0) {
return outputDeepBuffer;
}