diff options
author | Glenn Kasten <gkasten@google.com> | 2012-08-07 15:24:44 -0700 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2012-08-09 15:34:46 -0700 |
commit | 3ed292031dc50c56110cdadb1e3778117e3be76a (patch) | |
tree | 7aee0b1a5f518733eebcca574807d4de62066c06 /services | |
parent | 0d27c65ddb5c968baa6db0c26e80f5c451bc52bc (diff) | |
download | frameworks_av-3ed292031dc50c56110cdadb1e3778117e3be76a.zip frameworks_av-3ed292031dc50c56110cdadb1e3778117e3be76a.tar.gz frameworks_av-3ed292031dc50c56110cdadb1e3778117e3be76a.tar.bz2 |
Replace hard-coded "2" by a constant and comment
Bug: 6679403
Change-Id: I6c2701f9afedc26540dfad0b4e23348bbc4cb01a
Diffstat (limited to 'services')
-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); |