blob: 88566477b08524f335ca83828fba6cc5600f9ec2 [file] [log] [blame]
Glenn Kasten3957eba2014-12-30 15:08:59 -08001digraph paused {
2initial [label="INITIAL\n\
3mIgnoreNextPausedInt = false\n\
4mPaused = false\n\
5mPausedInt = false"];
6
7resume_body [label="mIgnoreNextPausedInt = true\nif (mPaused || mPausedInt)"];
8resume_paused [label="mPaused = false\nmPausedInt = false\nsignal()"];
9resume_paused -> resume_merged;
10resume_merged [label="return"];
11
12Application -> ATstop;
13ATstop [label="AudioTrack::stop()"];
14ATstop -> pause;
15Application -> ATpause;
16ATpause [label="AudioTrack::pause()"];
17ATpause -> pause;
18ATstart -> resume;
19ATstart [label="AudioTrack::start()"];
20destructor [label="~AudioTrack()"];
21destructor -> requestExit;
22requestExit [label="AudioTrackThread::requestExit()"];
23requestExit -> resume;
24Application -> ATstart;
25
26resume [label="AudioTrackThread::resume()"];
27resume -> resume_body;
28
29resume_body -> resume_paused [label="true"];
30resume_body -> resume_merged [label="false"];
31
32pause [label="mPaused = true"];
33pause -> return;
34
35threadLoop [label="AudioTrackThread::threadLoop()\nENTRY"];
36threadLoop -> threadLoop_1;
37threadLoop_1 [label="if (mPaused)"];
38threadLoop_1 -> threadLoop_1_true [label="true"];
39threadLoop_1 -> threadLoop_2 [label="false"];
40threadLoop_1_true [label="wait()\nreturn true"];
41threadLoop_2 [label="if (mIgnoreNextPausedInt)"];
42threadLoop_2 -> threadLoop_2_true [label="true"];
43threadLoop_2 -> threadLoop_3 [label="false"];
44threadLoop_2_true [label="mIgnoreNextPausedInt = false\nmPausedInt = false"];
45threadLoop_2_true -> threadLoop_3;
46threadLoop_3 [label="if (mPausedInt)"];
47threadLoop_3 -> threadLoop_3_true [label="true"];
48threadLoop_3 -> threadLoop_4 [label="false"];
49threadLoop_3_true [label="wait()\nmPausedInt = false\nreturn true"];
50threadLoop_4 [label="if (exitPending)"];
51threadLoop_4 -> threadLoop_4_true [label="true"];
52threadLoop_4 -> threadLoop_5 [label="false"];
53threadLoop_4_true [label="return false"];
54threadLoop_5 [label="ns = processAudioBuffer()"];
55threadLoop_5 -> threadLoop_6;
56threadLoop_6 [label="case ns"];
57threadLoop_6 -> threadLoop_6_0 [label="0"];
58threadLoop_6 -> threadLoop_6_NS_INACTIVE [label="NS_INACTIVE"];
59threadLoop_6 -> threadLoop_6_NS_NEVER [label="NS_NEVER"];
60threadLoop_6 -> threadLoop_6_NS_WHENEVER [label="NS_WHENEVER"];
61threadLoop_6 -> threadLoop_6_default [label="default"];
62threadLoop_6_default [label="if (ns < 0)"];
63threadLoop_6_default -> threadLoop_6_default_true [label="true"];
64threadLoop_6_default -> threadLoop_6_default_false [label="false"];
65threadLoop_6_default_true [label="FATAL"];
66threadLoop_6_default_false [label="pauseInternal(ns)\nmPausedInternal = true\nmPausedNs = ns\nreturn true"];
67threadLoop_6_0 [label="return true"];
68threadLoop_6_NS_INACTIVE [label="pauseInternal()\nmPausedInternal = true\nmPausedNs = 0\nreturn true"];
69threadLoop_6_NS_NEVER [label="return false"];
70threadLoop_6_NS_WHENEVER [label="ns = 1s"];
71threadLoop_6_NS_WHENEVER -> threadLoop_6_default_false;
72
73}