summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Threads.h
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2014-09-28 14:41:07 -0700
committerRachad Alao <rachad@google.com>2014-09-30 01:10:58 +0000
commit54464ba861aaafd11ee5645f5d1ecd1171c6e9fe (patch)
treec04a12c44ee589fec8baebafe200fe95529fa76a /services/audioflinger/Threads.h
parenta67ced9746e6f0d4e03ff8007682091afea71f6c (diff)
downloadframeworks_av-54464ba861aaafd11ee5645f5d1ecd1171c6e9fe.zip
frameworks_av-54464ba861aaafd11ee5645f5d1ecd1171c6e9fe.tar.gz
frameworks_av-54464ba861aaafd11ee5645f5d1ecd1171c6e9fe.tar.bz2
Fix uncertainty of one normal mix buffer in AudioTrack::getTimestamp
The per-thread timestamp latch was not synchronized with the per-track released frames. Now the value of each track's released frames is latched along with the timestamp. Bug: 17531839 Bug: 17669342 Change-Id: I96252782911bd42a2534cc4030521b7eeb99a7b9
Diffstat (limited to 'services/audioflinger/Threads.h')
-rw-r--r--services/audioflinger/Threads.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index fd025b5..cda8095 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -819,6 +819,7 @@ private:
struct {
AudioTimestamp mTimestamp;
uint32_t mUnpresentedFrames;
+ KeyedVector<Track *, uint32_t> mFramesReleased;
} mLatchD, mLatchQ;
bool mLatchDValid; // true means mLatchD is valid, and clock it into latch at next opportunity
bool mLatchQValid; // true means mLatchQ is valid