diff options
author | Glenn Kasten <gkasten@google.com> | 2012-08-13 11:30:17 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-08-13 11:30:17 -0700 |
commit | a959904968f1d300fe86334bf5099ae2dc39ee28 (patch) | |
tree | bf95afcaab7a56642d1bf6b88ad2699eeaf5af04 /services/audioflinger | |
parent | bd828233d3eda966bf7145108dde74616abd97fb (diff) | |
parent | 3ed292031dc50c56110cdadb1e3778117e3be76a (diff) | |
download | frameworks_av-a959904968f1d300fe86334bf5099ae2dc39ee28.zip frameworks_av-a959904968f1d300fe86334bf5099ae2dc39ee28.tar.gz frameworks_av-a959904968f1d300fe86334bf5099ae2dc39ee28.tar.bz2 |
Merge "Replace hard-coded "2" by a constant and comment" into jb-mr1-dev
Diffstat (limited to 'services/audioflinger')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 7e5f102..9812e57 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -165,6 +165,15 @@ static uint32_t gScreenState; // incremented by 2 when screen state changes, bit static const int kPriorityAudioApp = 2; static const int kPriorityFastMixer = 3; +// IAudioFlinger::createTrack() reports back to client the total size of shared memory area +// for the track. The client then sub-divides this into smaller buffers for its use. +// Currently the client uses double-buffering by default, but doesn't tell us about that. +// So for now we just assume that client is double-buffered. +// FIXME It would be better for client to tell us whether it wants double-buffering or N-buffering, +// so we could allocate the right amount of memory. +// See the client's minBufCount and mNotificationFramesAct calculations for details. +static const int kFastTrackMultiplier = 2; + // ---------------------------------------------------------------------------- #ifdef ADD_BATTERY_DATA @@ -1693,7 +1702,7 @@ sp<AudioFlinger::PlaybackThread::Track> AudioFlinger::PlaybackThread::createTrac ( (tid != -1) && ((frameCount == 0) || - (frameCount >= (int) (mFrameCount * 2))) // * 2 is due to SRC jitter, see below + (frameCount >= (int) (mFrameCount * kFastTrackMultiplier))) ) ) && // PCM data @@ -1714,7 +1723,7 @@ sp<AudioFlinger::PlaybackThread::Track> AudioFlinger::PlaybackThread::createTrac ) { // if frameCount not specified, then it defaults to fast mixer (HAL) frame count if (frameCount == 0) { - frameCount = mFrameCount * 2; // FIXME * 2 is due to SRC jitter, should be computed + frameCount = mFrameCount * kFastTrackMultiplier; } ALOGV("AUDIO_OUTPUT_FLAG_FAST accepted: frameCount=%d mFrameCount=%d", frameCount, mFrameCount); |