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