parts of the patch submitted in bug #113913
[platform/upstream/gstreamer.git] / docs / gst / tmpl / gstindex.sgml
1 <!-- ##### SECTION Title ##### -->
2 GstIndex
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Generate indexes on objects
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 GstIndex is used to generate a stream index of one or more elements
10 in a pipeline.
11 </para>
12
13 <!-- ##### SECTION See_Also ##### -->
14 <para>
15 #GstIndexFactory
16 </para>
17
18 <!-- ##### STRUCT GstIndexEntry ##### -->
19 <para>
20 The basic element of an index.
21 </para>
22
23 @type: 
24 @id: 
25
26 <!-- ##### STRUCT GstIndexGroup ##### -->
27 <para>
28 A group of related entries in an index.
29 </para>
30
31 @groupnum: 
32 @entries: 
33 @certainty: 
34 @peergroup: 
35
36 <!-- ##### ENUM GstIndexCertainty ##### -->
37 <para>
38 The certainty of a group in the index.
39 </para>
40
41 @GST_INDEX_UNKNOWN: accuracy is not known
42 @GST_INDEX_CERTAIN: accuracy is perfect
43 @GST_INDEX_FUZZY: accuracy is fuzzy
44
45 <!-- ##### ENUM GstIndexEntryType ##### -->
46 <para>
47 The different types of entries in the index.
48 </para>
49
50 @GST_INDEX_ENTRY_ID: This entry is an id that maps an index id to its owner object
51 @GST_INDEX_ENTRY_ASSOCIATION: This entry is an association between formats
52 @GST_INDEX_ENTRY_OBJECT: An object
53 @GST_INDEX_ENTRY_FORMAT: A format definition
54
55 <!-- ##### ENUM GstIndexLookupMethod ##### -->
56 <para>
57 Specify the method to find an index entry in the index.
58 </para>
59
60 @GST_INDEX_LOOKUP_EXACT: There has to be an exact indexentry with the given format/value
61 @GST_INDEX_LOOKUP_BEFORE: The exact entry or the one before it
62 @GST_INDEX_LOOKUP_AFTER: The exact entry or the one after it
63
64 <!-- ##### ENUM GstIndexFlags ##### -->
65 <para>
66 Flags for this index
67 </para>
68
69 @GST_INDEX_WRITABLE: The index is writable
70 @GST_INDEX_READABLE: The index is readable
71 @GST_INDEX_FLAG_LAST: First flag that can be used by subclasses
72
73 <!-- ##### MACRO GST_INDEX_ID_INVALID ##### -->
74 <para>
75 An invalid index id
76 </para>
77
78
79
80 <!-- ##### MACRO GST_INDEX_IS_READABLE ##### -->
81 <para>
82 Check if the index can be read from
83 </para>
84
85 @obj: The index to check
86
87
88 <!-- ##### MACRO GST_INDEX_IS_WRITABLE ##### -->
89 <para>
90 Check if the index can be written to
91 </para>
92
93 @obj: The index to check
94
95
96 <!-- ##### MACRO GST_INDEX_NASSOCS ##### -->
97 <para>
98 Get the number of associations in the entry.
99 </para>
100
101 @entry: The entry to query
102
103
104 <!-- ##### MACRO GST_INDEX_ASSOC_FLAGS ##### -->
105 <para>
106 Get the flags for this entry
107 </para>
108
109 @entry: The entry to query
110
111
112 <!-- ##### MACRO GST_INDEX_ASSOC_FORMAT ##### -->
113 <para>
114 Get the i-th format of the entry.
115 </para>
116
117 @entry: The entry to query
118 @i: The format index
119
120
121 <!-- ##### MACRO GST_INDEX_ASSOC_VALUE ##### -->
122 <para>
123 Get the i-th value of the entry.
124 </para>
125
126 @entry: The entry to query
127 @i: The value index
128
129
130 <!-- ##### STRUCT GstIndexAssociation ##### -->
131 <para>
132 An association in an entry.
133 </para>
134
135 @format: the format of the association
136 @value: the value of the association
137
138 <!-- ##### ENUM GstAssocFlags ##### -->
139 <para>
140 flags for an association entry
141 </para>
142
143 @GST_ASSOCIATION_FLAG_NONE: no extra flags
144 @GST_ASSOCIATION_FLAG_KEY_UNIT: the entry marks a key unit, a key unit is one
145                                 that marks a place where one can randomly seek to.
146 @GST_ASSOCIATION_FLAG_LAST: extra user defined flags should start here.
147
148 <!-- ##### MACRO GST_INDEX_FORMAT_FORMAT ##### -->
149 <para>
150 Get the format of the format entry
151 </para>
152
153 @entry: The entry to query
154
155
156 <!-- ##### MACRO GST_INDEX_FORMAT_KEY ##### -->
157 <para>
158 Get the key of the format entry
159 </para>
160
161 @entry: The entry to query
162
163
164 <!-- ##### MACRO GST_INDEX_ID_DESCRIPTION ##### -->
165 <para>
166 Get the description of the id entry
167 </para>
168
169 @entry: The entry to query
170
171
172 <!-- ##### USER_FUNCTION GstIndexFilter ##### -->
173 <para>
174 Function to filter out entries in the index.
175 </para>
176
177 @index: The index being queried
178 @entry: The entry to be added.
179 @Returns: This function should return TRUE if the entry is to be added
180           to the index, FALSE otherwise.
181
182
183 <!-- ##### USER_FUNCTION GstIndexResolver ##### -->
184 <para>
185 Function to resolve ids to writer descriptions.
186 </para>
187
188 @index: the index being queried.
189 @writer: The object that wants to write
190 @writer_string: A description of the writer.
191 @user_data: user_data as registered
192 @Returns: TRUE if an id could be assigned to the writer.
193 <!-- # Unused Parameters # -->
194 @writer_id: A pointer to the id that has to be assigned to this writer
195
196
197 <!-- ##### ENUM GstIndexResolverMethod ##### -->
198 <para>
199 The method used to resolve index writers
200 </para>
201
202 @GST_INDEX_RESOLVER_CUSTOM: Use a custom resolver
203 @GST_INDEX_RESOLVER_GTYPE: Resolve based on the GType of the object
204 @GST_INDEX_RESOLVER_PATH: Resolve on the path in graph
205
206 <!-- ##### STRUCT GstIndex ##### -->
207 <para>
208 The GstIndex object
209 </para>
210
211
212 <!-- ##### SIGNAL GstIndex::entry-added ##### -->
213 <para>
214 Is emited when a new entry is added to the index.
215 </para>
216
217 @gstindex: the object which received the signal.
218 @arg1: The entry added to the index.
219
220 <!-- ##### ARG GstIndex:resolver ##### -->
221 <para>
222
223 </para>
224
225 <!-- ##### FUNCTION gst_index_new ##### -->
226 <para>
227
228 </para>
229
230 @Returns: 
231
232
233 <!-- ##### FUNCTION gst_index_get_group ##### -->
234 <para>
235
236 </para>
237
238 @index: 
239 @Returns: 
240
241
242 <!-- ##### FUNCTION gst_index_new_group ##### -->
243 <para>
244
245 </para>
246
247 @index: 
248 @Returns: 
249
250
251 <!-- ##### FUNCTION gst_index_set_group ##### -->
252 <para>
253
254 </para>
255
256 @index: 
257 @groupnum: 
258 @Returns: 
259
260
261 <!-- ##### FUNCTION gst_index_set_certainty ##### -->
262 <para>
263
264 </para>
265
266 @index: 
267 @certainty: 
268
269
270 <!-- ##### FUNCTION gst_index_get_certainty ##### -->
271 <para>
272
273 </para>
274
275 @index: 
276 @Returns: 
277
278
279 <!-- ##### FUNCTION gst_index_set_filter ##### -->
280 <para>
281
282 </para>
283
284 @index: 
285 @filter: 
286 @user_data: 
287
288
289 <!-- ##### FUNCTION gst_index_set_resolver ##### -->
290 <para>
291
292 </para>
293
294 @index: 
295 @resolver: 
296 @user_data: 
297
298
299 <!-- ##### FUNCTION gst_index_get_writer_id ##### -->
300 <para>
301
302 </para>
303
304 @index: 
305 @writer: 
306 @id: 
307 @Returns: 
308
309
310 <!-- ##### FUNCTION gst_index_add_format ##### -->
311 <para>
312
313 </para>
314
315 @index: 
316 @id: 
317 @format: 
318 @Returns: 
319
320
321 <!-- ##### FUNCTION gst_index_add_association ##### -->
322 <para>
323
324 </para>
325
326 @index: 
327 @id: 
328 @flags: 
329 @format: 
330 @value: 
331 @Varargs: 
332 @Returns: 
333
334
335 <!-- ##### FUNCTION gst_index_add_object ##### -->
336 <para>
337
338 </para>
339
340 @index: 
341 @id: 
342 @key: 
343 @type: 
344 @object: 
345 @Returns: 
346
347
348 <!-- ##### FUNCTION gst_index_add_id ##### -->
349 <para>
350
351 </para>
352
353 @index: 
354 @id: 
355 @description: 
356 @Returns: 
357
358
359 <!-- ##### FUNCTION gst_index_get_assoc_entry ##### -->
360 <para>
361
362 </para>
363
364 @index: 
365 @id: 
366 @method: 
367 @flags: 
368 @format: 
369 @value: 
370 @Returns: 
371
372
373 <!-- ##### FUNCTION gst_index_get_assoc_entry_full ##### -->
374 <para>
375
376 </para>
377
378 @index: 
379 @id: 
380 @method: 
381 @flags: 
382 @format: 
383 @value: 
384 @func: 
385 @user_data: 
386 @Returns: 
387
388
389 <!-- ##### FUNCTION gst_index_entry_free ##### -->
390 <para>
391
392 </para>
393
394 @entry: 
395
396
397 <!-- ##### FUNCTION gst_index_entry_assoc_map ##### -->
398 <para>
399
400 </para>
401
402 @entry: 
403 @format: 
404 @value: 
405 @Returns: 
406
407
408 <!-- ##### FUNCTION gst_index_commit ##### -->
409 <para>
410
411 </para>
412
413 @index: 
414 @id: 
415
416