summaryrefslogtreecommitdiffstats
path: root/include/media/AudioRecord.h
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-09-20 14:06:35 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-20 14:06:35 -0700
commitdd0a81253bcf4daef56e991c94dc3c0d1124ef90 (patch)
tree78964e9809df16c448d0fadf5f3b654845b1d901 /include/media/AudioRecord.h
parentb0a5e24d162f6ff55aca720c3562556b87d69637 (diff)
parentf2c643c89e405b57c7ce42067b876fb80031e5fa (diff)
downloadframeworks_av-dd0a81253bcf4daef56e991c94dc3c0d1124ef90.zip
frameworks_av-dd0a81253bcf4daef56e991c94dc3c0d1124ef90.tar.gz
frameworks_av-dd0a81253bcf4daef56e991c94dc3c0d1124ef90.tar.bz2
am f2c643c8: am 3b3cfcfa: Merge "Fix slow AudioTrack and AudioRecord destruction" into klp-dev
* commit 'f2c643c89e405b57c7ce42067b876fb80031e5fa': Fix slow AudioTrack and AudioRecord destruction
Diffstat (limited to 'include/media/AudioRecord.h')
-rw-r--r--include/media/AudioRecord.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/media/AudioRecord.h b/include/media/AudioRecord.h
index 36430a3..fb47448 100644
--- a/include/media/AudioRecord.h
+++ b/include/media/AudioRecord.h
@@ -398,18 +398,20 @@ private:
void pause(); // suspend thread from execution at next loop boundary
void resume(); // allow thread to execute, if not requested to exit
- void pauseConditional();
- // like pause(), but only if prior resume() wasn't latched
private:
+ void pauseInternal(nsecs_t ns = 0LL);
+ // like pause(), but only used internally within thread
+
friend class AudioRecord;
virtual bool threadLoop();
AudioRecord& mReceiver;
virtual ~AudioRecordThread();
Mutex mMyLock; // Thread::mLock is private
Condition mMyCond; // Thread::mThreadExitedCondition is private
- bool mPaused; // whether thread is currently paused
- bool mResumeLatch; // whether next pauseConditional() will be a nop
+ bool mPaused; // whether thread is requested to pause at next loop entry
+ bool mPausedInt; // whether thread internally requests pause
+ nsecs_t mPausedNs; // if mPausedInt then associated timeout, otherwise ignored
};
// body of AudioRecordThread::threadLoop()