diff options
author | Andy Hung <hunga@google.com> | 2014-12-29 18:39:32 -0800 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2015-01-06 12:00:00 -0800 |
commit | 3c09c78aabcb9d314dfb400258fb99a37c7b50c9 (patch) | |
tree | cff9d9d4cf65e0d4bf4e135ed4337c56dd6670af /media/libmedia/docs | |
parent | 53c3b5fc1afe162a8669cb3d27d6bb14e1847e39 (diff) | |
download | frameworks_av-3c09c78aabcb9d314dfb400258fb99a37c7b50c9.zip frameworks_av-3c09c78aabcb9d314dfb400258fb99a37c7b50c9.tar.gz frameworks_av-3c09c78aabcb9d314dfb400258fb99a37c7b50c9.tar.bz2 |
Event driven wake for AudioTrackThread notification changes
Used for setMarkerPosition and setPositionUpdatePeriod.
Change-Id: I0d94b929438a5cd94b295d7c1884f876fae8b5e7
Diffstat (limited to 'media/libmedia/docs')
-rw-r--r-- | media/libmedia/docs/paused.dot | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/media/libmedia/docs/paused.dot b/media/libmedia/docs/paused.dot index 8856647..11e1777 100644 --- a/media/libmedia/docs/paused.dot +++ b/media/libmedia/docs/paused.dot @@ -21,6 +21,12 @@ destructor [label="~AudioTrack()"]; destructor -> requestExit; requestExit [label="AudioTrackThread::requestExit()"]; requestExit -> resume; +Application -> ATsetMarkerPosition +ATsetMarkerPosition [label="AudioTrack::setMarkerPosition()\n[sets marker variables]"]; +ATsetMarkerPosition -> ATTwake +Application -> ATsetPositionUpdatePeriod +ATsetPositionUpdatePeriod [label="AudioTrack::setPositionUpdatePeriod()\n[sets update period variables]"]; +ATsetPositionUpdatePeriod -> ATTwake Application -> ATstart; resume [label="AudioTrackThread::resume()"]; @@ -29,6 +35,12 @@ resume -> resume_body; resume_body -> resume_paused [label="true"]; resume_body -> resume_merged [label="false"]; +ATTwake [label="AudioTrackThread::wake()\nif (!mPaused && mPausedInt && mPausedNs > 0)"]; +ATTwake-> ATTWake_wakeable [label="true"]; +ATTWake_wakeable [label="mIgnoreNextPausedInt = true\nmPausedInt = false\nsignal()"]; +ATTwake-> ATTWake_cannotwake [label="false"] +ATTWake_cannotwake [label="ignore"]; + pause [label="mPaused = true"]; pause -> return; @@ -63,7 +75,7 @@ threadLoop_6_default [label="if (ns < 0)"]; threadLoop_6_default -> threadLoop_6_default_true [label="true"]; threadLoop_6_default -> threadLoop_6_default_false [label="false"]; threadLoop_6_default_true [label="FATAL"]; -threadLoop_6_default_false [label="pauseInternal(ns)\nmPausedInternal = true\nmPausedNs = ns\nreturn true"]; +threadLoop_6_default_false [label="pauseInternal(ns) [wake()-able]\nmPausedInternal = true\nmPausedNs = ns\nreturn true"]; threadLoop_6_0 [label="return true"]; threadLoop_6_NS_INACTIVE [label="pauseInternal()\nmPausedInternal = true\nmPausedNs = 0\nreturn true"]; threadLoop_6_NS_NEVER [label="return false"]; |