d828fa3114b3c052aeedafe19782f6186a017763
[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 <!-- ##### FUNCTION gst_index_new ##### -->
213 <para>
214
215 </para>
216
217 @Returns: 
218
219
220 <!-- ##### FUNCTION gst_index_get_group ##### -->
221 <para>
222
223 </para>
224
225 @index: 
226 @Returns: 
227
228
229 <!-- ##### FUNCTION gst_index_new_group ##### -->
230 <para>
231
232 </para>
233
234 @index: 
235 @Returns: 
236
237
238 <!-- ##### FUNCTION gst_index_set_group ##### -->
239 <para>
240
241 </para>
242
243 @index: 
244 @groupnum: 
245 @Returns: 
246
247
248 <!-- ##### FUNCTION gst_index_set_certainty ##### -->
249 <para>
250
251 </para>
252
253 @index: 
254 @certainty: 
255
256
257 <!-- ##### FUNCTION gst_index_get_certainty ##### -->
258 <para>
259
260 </para>
261
262 @index: 
263 @Returns: 
264
265
266 <!-- ##### FUNCTION gst_index_set_filter ##### -->
267 <para>
268
269 </para>
270
271 @index: 
272 @filter: 
273 @user_data: 
274
275
276 <!-- ##### FUNCTION gst_index_set_resolver ##### -->
277 <para>
278
279 </para>
280
281 @index: 
282 @resolver: 
283 @user_data: 
284
285
286 <!-- ##### FUNCTION gst_index_get_writer_id ##### -->
287 <para>
288
289 </para>
290
291 @index: 
292 @writer: 
293 @id: 
294 @Returns: 
295
296
297 <!-- ##### FUNCTION gst_index_add_format ##### -->
298 <para>
299
300 </para>
301
302 @index: 
303 @id: 
304 @format: 
305 @Returns: 
306
307
308 <!-- ##### FUNCTION gst_index_add_association ##### -->
309 <para>
310
311 </para>
312
313 @index: 
314 @id: 
315 @flags: 
316 @format: 
317 @value: 
318 @Varargs: 
319 @Returns: 
320
321
322 <!-- ##### FUNCTION gst_index_add_object ##### -->
323 <para>
324
325 </para>
326
327 @index: 
328 @id: 
329 @key: 
330 @type: 
331 @object: 
332 @Returns: 
333
334
335 <!-- ##### FUNCTION gst_index_add_id ##### -->
336 <para>
337
338 </para>
339
340 @index: 
341 @id: 
342 @description: 
343 @Returns: 
344
345
346 <!-- ##### FUNCTION gst_index_get_assoc_entry ##### -->
347 <para>
348
349 </para>
350
351 @index: 
352 @id: 
353 @method: 
354 @flags: 
355 @format: 
356 @value: 
357 @Returns: 
358
359
360 <!-- ##### FUNCTION gst_index_get_assoc_entry_full ##### -->
361 <para>
362
363 </para>
364
365 @index: 
366 @id: 
367 @method: 
368 @flags: 
369 @format: 
370 @value: 
371 @func: 
372 @user_data: 
373 @Returns: 
374
375
376 <!-- ##### FUNCTION gst_index_entry_free ##### -->
377 <para>
378
379 </para>
380
381 @entry: 
382
383
384 <!-- ##### FUNCTION gst_index_entry_assoc_map ##### -->
385 <para>
386
387 </para>
388
389 @entry: 
390 @format: 
391 @value: 
392 @Returns: 
393
394
395 <!-- ##### FUNCTION gst_index_commit ##### -->
396 <para>
397
398 </para>
399
400 @index: 
401 @id: 
402
403
404 <!-- ##### SIGNAL GstIndex::entry-added ##### -->
405 <para>
406 Is emited when a new entry is added to the index.
407 </para>
408
409 @gstindex: the object which received the signal.
410 @arg1: The entry added to the index.
411
412 <!-- ##### ARG GstIndex:resolver ##### -->
413 <para>
414
415 </para>
416