1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Generate indexes on objects
7 <!-- ##### SECTION Long_Description ##### -->
9 GstIndex is used to generate a stream index of one or more elements
13 <!-- ##### SECTION See_Also ##### -->
18 <!-- ##### STRUCT GstIndex ##### -->
24 <!-- ##### SIGNAL GstIndex::entry-added ##### -->
26 Is emited when a new entry is added to the index.
29 @gstindex: the object which received the signal.
30 @arg1: The entry added to the index.
32 <!-- ##### ARG GstIndex:resolver ##### -->
37 <!-- ##### MACRO GST_TYPE_INDEX_ENTRY ##### -->
44 <!-- ##### STRUCT GstIndexEntry ##### -->
46 The basic element of an index.
52 <!-- ##### STRUCT GstIndexGroup ##### -->
54 A group of related entries in an index.
62 <!-- ##### ENUM GstIndexCertainty ##### -->
64 The certainty of a group in the index.
67 @GST_INDEX_UNKNOWN: accuracy is not known
68 @GST_INDEX_CERTAIN: accuracy is perfect
69 @GST_INDEX_FUZZY: accuracy is fuzzy
71 <!-- ##### ENUM GstIndexEntryType ##### -->
73 The different types of entries in the index.
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
81 <!-- ##### ENUM GstIndexLookupMethod ##### -->
83 Specify the method to find an index entry in the index.
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
90 <!-- ##### MACRO GST_INDEX_NASSOCS ##### -->
92 Get the number of associations in the entry.
95 @entry: The entry to query
98 <!-- ##### MACRO GST_INDEX_ASSOC_FLAGS ##### -->
100 Get the flags for this entry
103 @entry: The entry to query
106 <!-- ##### MACRO GST_INDEX_ASSOC_FORMAT ##### -->
108 Get the i-th format of the entry.
111 @entry: The entry to query
115 <!-- ##### MACRO GST_INDEX_ASSOC_VALUE ##### -->
117 Get the i-th value of the entry.
120 @entry: The entry to query
124 <!-- ##### STRUCT GstIndexAssociation ##### -->
126 An association in an entry.
129 @format: the format of the association
130 @value: the value of the association
132 <!-- ##### ENUM GstAssocFlags ##### -->
134 flags for an association entry
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.
143 <!-- ##### MACRO GST_INDEX_FORMAT_FORMAT ##### -->
145 Get the format of the format entry
148 @entry: The entry to query
151 <!-- ##### MACRO GST_INDEX_FORMAT_KEY ##### -->
153 Get the key of the format entry
156 @entry: The entry to query
159 <!-- ##### MACRO GST_INDEX_ID_INVALID ##### -->
166 <!-- ##### MACRO GST_INDEX_ID_DESCRIPTION ##### -->
168 Get the description of the id entry
171 @entry: The entry to query
174 <!-- ##### USER_FUNCTION GstIndexFilter ##### -->
176 Function to filter out entries in the index.
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.
185 <!-- ##### ENUM GstIndexResolverMethod ##### -->
187 The method used to resolve index writers
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
194 <!-- ##### USER_FUNCTION GstIndexResolver ##### -->
196 Function to resolve ids to writer descriptions.
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
208 <!-- ##### ENUM GstIndexFlags ##### -->
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
217 <!-- ##### MACRO GST_INDEX_IS_READABLE ##### -->
219 Check if the index can be read from
222 @obj: The index to check
225 <!-- ##### MACRO GST_INDEX_IS_WRITABLE ##### -->
227 Check if the index can be written to
230 @obj: The index to check
233 <!-- ##### FUNCTION gst_index_new ##### -->
241 <!-- ##### FUNCTION gst_index_commit ##### -->
250 <!-- ##### FUNCTION gst_index_get_group ##### -->
259 <!-- ##### FUNCTION gst_index_new_group ##### -->
268 <!-- ##### FUNCTION gst_index_set_group ##### -->
278 <!-- ##### FUNCTION gst_index_set_certainty ##### -->
287 <!-- ##### FUNCTION gst_index_get_certainty ##### -->
296 <!-- ##### FUNCTION gst_index_set_filter ##### -->
306 <!-- ##### FUNCTION gst_index_set_resolver ##### -->
316 <!-- ##### FUNCTION gst_index_get_writer_id ##### -->
327 <!-- ##### FUNCTION gst_index_add_format ##### -->
338 <!-- ##### FUNCTION gst_index_add_association ##### -->
352 <!-- ##### FUNCTION gst_index_add_object ##### -->
365 <!-- ##### FUNCTION gst_index_add_id ##### -->
376 <!-- ##### FUNCTION gst_index_get_assoc_entry ##### -->
390 <!-- ##### FUNCTION gst_index_get_assoc_entry_full ##### -->
406 <!-- ##### FUNCTION gst_index_entry_get_type ##### -->
414 <!-- ##### FUNCTION gst_index_entry_copy ##### -->
423 <!-- ##### FUNCTION gst_index_entry_free ##### -->
431 <!-- ##### FUNCTION gst_index_entry_assoc_map ##### -->