diff options
author | Glenn Kasten <gkasten@google.com> | 2013-06-04 23:44:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-06-04 23:44:56 +0000 |
commit | 1e7bc6681466777fdcca9b46122c9e7028618564 (patch) | |
tree | bb07cd1d18970edb5a9f1c798efb21b74e342c97 /media | |
parent | 4b58d70b4109648b5d392d6ad4e4512d9ae5afb7 (diff) | |
parent | bb6f0a0bb413817d707cfb4c4a30847fda520787 (diff) | |
download | frameworks_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.cpp | 6 |
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; |