diff options
author | Eric Laurent <elaurent@google.com> | 2014-10-11 00:23:54 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-10-11 00:23:54 +0000 |
commit | 6337f6032e7bdbf0b4654fb07512a00bd33ef696 (patch) | |
tree | 292f01377a5807e796639b99de5fa392b688616c | |
parent | 92ab9962203f72c69308b0c2a3fed0702f6e1192 (diff) | |
parent | ffd5cdbd3e3faa203539e26adc755f860c8cac80 (diff) | |
download | frameworks_av-6337f6032e7bdbf0b4654fb07512a00bd33ef696.zip frameworks_av-6337f6032e7bdbf0b4654fb07512a00bd33ef696.tar.gz frameworks_av-6337f6032e7bdbf0b4654fb07512a00bd33ef696.tar.bz2 |
am ffd5cdbd: Merge "audio policy: add support for ro.audio.media_deep_buffer" into lmp-dev
* commit 'ffd5cdbd3e3faa203539e26adc755f860c8cac80':
audio policy: add support for ro.audio.media_deep_buffer
-rw-r--r-- | services/audiopolicy/AudioPolicyManager.cpp | 12 | ||||
-rw-r--r-- | services/audiopolicy/AudioPolicyManager.h | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp index c437551..bb34416 100644 --- a/services/audiopolicy/AudioPolicyManager.cpp +++ b/services/audiopolicy/AudioPolicyManager.cpp @@ -926,6 +926,10 @@ audio_io_handle_t AudioPolicyManager::getOutputForDevice( if ((flags & AUDIO_OUTPUT_FLAG_HW_AV_SYNC) != 0) { flags = (audio_output_flags_t)(flags | AUDIO_OUTPUT_FLAG_DIRECT); } + if (mForceDeepBufferForMedia && (flags & AUDIO_OUTPUT_FLAG_DIRECT) == 0 && + stream == AUDIO_STREAM_MUSIC) { + flags = (audio_output_flags_t)(flags | AUDIO_OUTPUT_FLAG_DEEP_BUFFER); + } sp<IOProfile> profile; @@ -2653,8 +2657,14 @@ AudioPolicyManager::AudioPolicyManager(AudioPolicyClientInterface *clientInterfa mTotalEffectsCpuLoad(0), mTotalEffectsMemory(0), mA2dpSuspended(false), mSpeakerDrcEnabled(false), mNextUniqueId(1), - mAudioPortGeneration(1) + mAudioPortGeneration(1), + mForceDeepBufferForMedia(false) { + char propValue[PROPERTY_VALUE_MAX]; + if (property_get("ro.audio.media_deep_buffer", propValue, "0")) { + mForceDeepBufferForMedia = atoi(propValue); + } + mUidCached = getuid(); mpClientInterface = clientInterface; diff --git a/services/audiopolicy/AudioPolicyManager.h b/services/audiopolicy/AudioPolicyManager.h index 7dbd73f..98ac66c 100644 --- a/services/audiopolicy/AudioPolicyManager.h +++ b/services/audiopolicy/AudioPolicyManager.h @@ -808,6 +808,8 @@ protected: sp<AudioPatch> mCallTxPatch; sp<AudioPatch> mCallRxPatch; + bool mForceDeepBufferForMedia; + #ifdef AUDIO_POLICY_TEST Mutex mLock; Condition mWaitWorkCV; |