summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-10-10 23:46:05 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-10 23:46:05 +0000
commit4c4035355b7fdd123740605c74c06df3c35e7a85 (patch)
treea744fa278737ad32798edb83c4dbf6309539adf1 /services
parenta0041d67a7d45e55ed88a7b0ff548708fa82872e (diff)
parentffd5cdbd3e3faa203539e26adc755f860c8cac80 (diff)
downloadframeworks_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.cpp12
-rw-r--r--services/audiopolicy/AudioPolicyManager.h2
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;