7bb30e83152dfdde3429141b29b118f4a636e350
[platform/upstream/gstreamer.git] / docs / gst / tmpl / cothreads.sgml
1 <!-- ##### SECTION Title ##### -->
2 cothreads
3
4 <!-- ##### SECTION Short_Description ##### -->
5 userspace threads
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 Cothreads are a simple user-space method for switching between
10 subtasks.  They're based on setjmp()/longjmp() in their current form.
11 </para>
12
13 <para>
14 Cothreads are used for loop-based elements that pull data instead
15 of being fed with data. They can also be used to pull a specific region
16 of data out of their src element.
17 </para>
18
19 <!-- ##### SECTION See_Also ##### -->
20 <para>
21
22 </para>
23
24 <!-- ##### MACRO CURRENT_STACK_FRAME ##### -->
25 <para>
26 Get the current stack frame.
27 </para>
28
29
30
31 <!-- ##### STRUCT cothread_state ##### -->
32 <para>
33
34 </para>
35
36 @ctx: 
37 @threadnum: 
38 @func: 
39 @argc: 
40 @argv: 
41 @flags: 
42 @sp: 
43 @jmp: 
44 @top_sp: 
45 @pc: 
46
47 <!-- ##### STRUCT cothread_context ##### -->
48 <para>
49
50 </para>
51
52
53 <!-- ##### USER_FUNCTION cothread_func ##### -->
54 <para>
55 the function that will be called when the cothread starts. The function
56 prototype is like a main() function, so you can do whatever you want with
57 it.
58 </para>
59
60 @argc: a main-like argument count
61 @argv: a main-like array of arguments
62 @Returns: a return code
63
64
65 <!-- ##### MACRO COTHREAD_STARTED ##### -->
66 <para>
67 Indicates the cothread is started.
68 </para>
69
70
71
72 <!-- ##### FUNCTION cothread_init ##### -->
73 <para>
74 </para>
75
76 @Returns: 
77
78
79 <!-- ##### FUNCTION cothread_create ##### -->
80 <para>
81
82 </para>
83
84 @ctx: 
85 @Returns: 
86
87
88 <!-- ##### FUNCTION cothread_setfunc ##### -->
89 <para>
90
91 </para>
92
93 @thread: 
94 @func: 
95 @argc: 
96 @argv: 
97
98
99 <!-- ##### FUNCTION cothread_switch ##### -->
100 <para>
101
102 </para>
103
104 @thread: 
105
106
107 <!-- ##### FUNCTION cothread_getcurrent ##### -->
108 <para>
109
110 </para>
111
112 @Returns: 
113
114
115 <!-- ##### FUNCTION cothread_main ##### -->
116 <para>
117
118 </para>
119
120 @ctx: 
121 @Returns: 
122
123
124 <!-- ##### FUNCTION cothread_set_data ##### -->
125 <para>
126
127 </para>
128
129 @thread: 
130 @key: 
131 @data: 
132
133
134 <!-- ##### FUNCTION cothread_get_data ##### -->
135 <para>
136
137 </para>
138
139 @thread: 
140 @key: 
141 @Returns: 
142
143
144 <!-- ##### FUNCTION cothread_unlock ##### -->
145 <para>
146
147 </para>
148
149 @thread: 
150
151
152 <!-- ##### FUNCTION cothread_current_main ##### -->
153 <para>
154
155 </para>
156
157 @Returns: 
158
159
160 <!-- ##### FUNCTION cothread_lock ##### -->
161 <para>
162
163 </para>
164
165 @thread: 
166
167
168 <!-- ##### FUNCTION cothread_trylock ##### -->
169 <para>
170
171 </para>
172
173 @thread: 
174 @Returns: 
175
176