summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-09-30 01:16:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-30 01:16:13 +0000
commit6c7ae72f0eccf456744474785afd25f9e205881c (patch)
treedd6c00b243c8aae9d23b9170b649dc11834c5f36 /services
parentf71224ce266abb39f83ecba87783c2347631654a (diff)
parentc260784e37dea73a2090d4ccd91472d61d3b6230 (diff)
downloadframeworks_av-6c7ae72f0eccf456744474785afd25f9e205881c.zip
frameworks_av-6c7ae72f0eccf456744474785afd25f9e205881c.tar.gz
frameworks_av-6c7ae72f0eccf456744474785afd25f9e205881c.tar.bz2
Merge "audio policy: fix HW A/V sync output selection" into lmp-dev
Diffstat (limited to 'services')
-rw-r--r--services/audiopolicy/AudioPolicyManager.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp
index d0b990f..536987a 100644
--- a/services/audiopolicy/AudioPolicyManager.cpp
+++ b/services/audiopolicy/AudioPolicyManager.cpp
@@ -930,7 +930,9 @@ audio_io_handle_t AudioPolicyManager::getOutputForDevice(
sp<IOProfile> profile;
// skip direct output selection if the request can obviously be attached to a mixed output
- if (audio_is_linear_pcm(format) && samplingRate <= MAX_MIXER_SAMPLING_RATE &&
+ // and not explicitly requested
+ if (((flags & AUDIO_OUTPUT_FLAG_DIRECT) == 0) &&
+ audio_is_linear_pcm(format) && samplingRate <= MAX_MIXER_SAMPLING_RATE &&
audio_channel_count_from_out_mask(channelMask) <= 2) {
goto non_direct_output;
}