From 3ed292031dc50c56110cdadb1e3778117e3be76a Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Tue, 7 Aug 2012 15:24:44 -0700 Subject: Replace hard-coded "2" by a constant and comment Bug: 6679403 Change-Id: I6c2701f9afedc26540dfad0b4e23348bbc4cb01a --- services/audioflinger/AudioFlinger.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'services') 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::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::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); -- cgit v1.1