summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-06-04 23:44:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-06-04 23:44:56 +0000
commit1e7bc6681466777fdcca9b46122c9e7028618564 (patch)
treebb07cd1d18970edb5a9f1c798efb21b74e342c97 /media
parent4b58d70b4109648b5d392d6ad4e4512d9ae5afb7 (diff)
parentbb6f0a0bb413817d707cfb4c4a30847fda520787 (diff)
downloadframeworks_av-1e7bc6681466777fdcca9b46122c9e7028618564.zip
frameworks_av-1e7bc6681466777fdcca9b46122c9e7028618564.tar.gz
frameworks_av-1e7bc6681466777fdcca9b46122c9e7028618564.tar.bz2
Merge "Fix underruns when sample rate != native sample rate"
Diffstat (limited to 'media')
-rw-r--r--media/libmedia/AudioTrack.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index ff52b28..77fc6f6 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -861,8 +861,10 @@ status_t AudioTrack::createTrack_l(
// Ensure that buffer depth covers at least audio hardware latency
uint32_t minBufCount = afLatency / ((1000 * afFrameCount)/afSampleRate);
- if (minBufCount < 2) {
- minBufCount = 2;
+ ALOGV("afFrameCount=%d, minBufCount=%d, afSampleRate=%u, afLatency=%d",
+ afFrameCount, minBufCount, afSampleRate, afLatency);
+ if (minBufCount <= 2) {
+ minBufCount = sampleRate == afSampleRate ? 2 : 3;
}
size_t minFrameCount = (afFrameCount*sampleRate*minBufCount)/afSampleRate;