summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2012-08-07 15:24:44 -0700
committerGlenn Kasten <gkasten@google.com>2012-08-09 15:34:46 -0700
commit3ed292031dc50c56110cdadb1e3778117e3be76a (patch)
tree7aee0b1a5f518733eebcca574807d4de62066c06 /services
parent0d27c65ddb5c968baa6db0c26e80f5c451bc52bc (diff)
downloadframeworks_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.cpp13
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);