diff options
author | Glenn Kasten <gkasten@google.com> | 2014-02-07 10:50:43 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2014-02-18 12:56:13 -0800 |
commit | 25f4aa83efaa9179e65a20583a6d441de2c3ff3f (patch) | |
tree | 996653f52a07bb6dc99d058943f852f3182ea637 /services/audioflinger/Tracks.cpp | |
parent | deca2ae0a7cf8bc54ff3f30b7dc39bbc78b94c0d (diff) | |
download | frameworks_av-25f4aa83efaa9179e65a20583a6d441de2c3ff3f.zip frameworks_av-25f4aa83efaa9179e65a20583a6d441de2c3ff3f.tar.gz frameworks_av-25f4aa83efaa9179e65a20583a6d441de2c3ff3f.tar.bz2 |
Move handleSyncStartEvent and clearSyncStartEvent to RecordTrack
Change-Id: I611a63e63acf3eb17e2072c1a77b91fe9e62e36a
Diffstat (limited to 'services/audioflinger/Tracks.cpp')
-rw-r--r-- | services/audioflinger/Tracks.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp index da1b4b8..92ed46a 100644 --- a/services/audioflinger/Tracks.cpp +++ b/services/audioflinger/Tracks.cpp @@ -1903,4 +1903,27 @@ void AudioFlinger::RecordThread::RecordTrack::dump(char* buffer, size_t size, bo } +void AudioFlinger::RecordThread::RecordTrack::handleSyncStartEvent(const sp<SyncEvent>& event) +{ + if (event == mSyncStartEvent) { + ssize_t framesToDrop = 0; + sp<ThreadBase> threadBase = mThread.promote(); + if (threadBase != 0) { + // TODO: use actual buffer filling status instead of 2 buffers when info is available + // from audio HAL + framesToDrop = threadBase->mFrameCount * 2; + } + mFramesToDrop = framesToDrop; + } +} + +void AudioFlinger::RecordThread::RecordTrack::clearSyncStartEvent() +{ + if (mSyncStartEvent != 0) { + mSyncStartEvent->cancel(); + mSyncStartEvent.clear(); + } + mFramesToDrop = 0; +} + }; // namespace android |