diff options
author | Eric Laurent <elaurent@google.com> | 2014-10-10 23:46:05 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-10-10 23:46:05 +0000 |
commit | 4c4035355b7fdd123740605c74c06df3c35e7a85 (patch) | |
tree | a744fa278737ad32798edb83c4dbf6309539adf1 /services | |
parent | a0041d67a7d45e55ed88a7b0ff548708fa82872e (diff) | |
parent | ffd5cdbd3e3faa203539e26adc755f860c8cac80 (diff) | |
download | frameworks_av-4c4035355b7fdd123740605c74c06df3c35e7a85.zip frameworks_av-4c4035355b7fdd123740605c74c06df3c35e7a85.tar.gz frameworks_av-4c4035355b7fdd123740605c74c06df3c35e7a85.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
Diffstat (limited to 'services')
-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 536987a..e4d785c 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 0ea7b97..b57a295 100644 --- a/services/audiopolicy/AudioPolicyManager.h +++ b/services/audiopolicy/AudioPolicyManager.h @@ -806,6 +806,8 @@ protected: sp<AudioPatch> mCallTxPatch; sp<AudioPatch> mCallRxPatch; + bool mForceDeepBufferForMedia; + #ifdef AUDIO_POLICY_TEST Mutex mLock; Condition mWaitWorkCV; |