<!-- ##### SECTION Title ##### --> GstIndex <!-- ##### SECTION Short_Description ##### --> Generate indexes on objects <!-- ##### SECTION Long_Description ##### --> <para> GstIndex is used to generate a stream index of one or more elements in a pipeline. </para> <!-- ##### SECTION See_Also ##### --> <para> #GstIndexFactory </para> <!-- ##### STRUCT GstIndexEntry ##### --> <para> The basic element of an index. </para> @type: @id: <!-- ##### STRUCT GstIndexGroup ##### --> <para> A group of related entries in an index. </para> @groupnum: @entries: @certainty: @peergroup: <!-- ##### ENUM GstIndexCertainty ##### --> <para> The certainty of a group in the index. </para> @GST_INDEX_UNKNOWN: accuracy is not known @GST_INDEX_CERTAIN: accuracy is perfect @GST_INDEX_FUZZY: accuracy is fuzzy <!-- ##### ENUM GstIndexEntryType ##### --> <para> The different types of entries in the index. </para> @GST_INDEX_ENTRY_ID: This entry is an id that maps an index id to its owner object @GST_INDEX_ENTRY_ASSOCIATION: This entry is an association between formats @GST_INDEX_ENTRY_OBJECT: An object @GST_INDEX_ENTRY_FORMAT: A format definition <!-- ##### ENUM GstIndexLookupMethod ##### --> <para> Specify the method to find an index entry in the index. </para> @GST_INDEX_LOOKUP_EXACT: There has to be an exact indexentry with the given format/value @GST_INDEX_LOOKUP_BEFORE: The exact entry or the one before it @GST_INDEX_LOOKUP_AFTER: The exact entry or the one after it <!-- ##### ENUM GstIndexFlags ##### --> <para> Flags for this index </para> @GST_INDEX_WRITABLE: The index is writable @GST_INDEX_READABLE: The index is readable @GST_INDEX_FLAG_LAST: First flag that can be used by subclasses <!-- ##### MACRO GST_INDEX_ID_INVALID ##### --> <para> An invalid index id </para> <!-- ##### MACRO GST_INDEX_IS_READABLE ##### --> <para> Check if the index can be read from </para> @obj: The index to check <!-- ##### MACRO GST_INDEX_IS_WRITABLE ##### --> <para> Check if the index can be written to </para> @obj: The index to check <!-- ##### MACRO GST_INDEX_NASSOCS ##### --> <para> Get the number of associations in the entry. </para> @entry: The entry to query <!-- ##### MACRO GST_INDEX_ASSOC_FLAGS ##### --> <para> Get the flags for this entry </para> @entry: The entry to query <!-- ##### MACRO GST_INDEX_ASSOC_FORMAT ##### --> <para> Get the i-th format of the entry. </para> @entry: The entry to query @i: The format index <!-- ##### MACRO GST_INDEX_ASSOC_VALUE ##### --> <para> Get the i-th value of the entry. </para> @entry: The entry to query @i: The value index <!-- ##### STRUCT GstIndexAssociation ##### --> <para> An association in an entry. </para> @format: the format of the association @value: the value of the association <!-- ##### ENUM GstAssocFlags ##### --> <para> flags for an association entry </para> @GST_ASSOCIATION_FLAG_NONE: no extra flags @GST_ASSOCIATION_FLAG_KEY_UNIT: the entry marks a key unit, a key unit is one that marks a place where one can randomly seek to. @GST_ASSOCIATION_FLAG_LAST: extra user defined flags should start here. <!-- ##### MACRO GST_INDEX_FORMAT_FORMAT ##### --> <para> Get the format of the format entry </para> @entry: The entry to query <!-- ##### MACRO GST_INDEX_FORMAT_KEY ##### --> <para> Get the key of the format entry </para> @entry: The entry to query <!-- ##### MACRO GST_INDEX_ID_DESCRIPTION ##### --> <para> Get the description of the id entry </para> @entry: The entry to query <!-- ##### USER_FUNCTION GstIndexFilter ##### --> <para> Function to filter out entries in the index. </para> @index: The index being queried @entry: The entry to be added. @Returns: This function should return TRUE if the entry is to be added to the index, FALSE otherwise. <!-- ##### USER_FUNCTION GstIndexResolver ##### --> <para> Function to resolve ids to writer descriptions. </para> @index: the index being queried. @writer: The object that wants to write @writer_string: A description of the writer. @user_data: user_data as registered @Returns: TRUE if an id could be assigned to the writer. <!-- # Unused Parameters # --> @writer_id: A pointer to the id that has to be assigned to this writer <!-- ##### ENUM GstIndexResolverMethod ##### --> <para> The method used to resolve index writers </para> @GST_INDEX_RESOLVER_CUSTOM: Use a custom resolver @GST_INDEX_RESOLVER_GTYPE: Resolve based on the GType of the object @GST_INDEX_RESOLVER_PATH: Resolve on the path in graph <!-- ##### STRUCT GstIndex ##### --> <para> The GstIndex object </para> <!-- ##### FUNCTION gst_index_new ##### --> <para> </para> @Returns: <!-- ##### FUNCTION gst_index_get_group ##### --> <para> </para> @index: @Returns: <!-- ##### FUNCTION gst_index_new_group ##### --> <para> </para> @index: @Returns: <!-- ##### FUNCTION gst_index_set_group ##### --> <para> </para> @index: @groupnum: @Returns: <!-- ##### FUNCTION gst_index_set_certainty ##### --> <para> </para> @index: @certainty: <!-- ##### FUNCTION gst_index_get_certainty ##### --> <para> </para> @index: @Returns: <!-- ##### FUNCTION gst_index_set_filter ##### --> <para> </para> @index: @filter: @user_data: <!-- ##### FUNCTION gst_index_set_resolver ##### --> <para> </para> @index: @resolver: @user_data: <!-- ##### FUNCTION gst_index_get_writer_id ##### --> <para> </para> @index: @writer: @id: @Returns: <!-- ##### FUNCTION gst_index_add_format ##### --> <para> </para> @index: @id: @format: @Returns: <!-- ##### FUNCTION gst_index_add_association ##### --> <para> </para> @index: @id: @flags: @format: @value: @Varargs: @Returns: <!-- ##### FUNCTION gst_index_add_object ##### --> <para> </para> @index: @id: @key: @type: @object: @Returns: <!-- ##### FUNCTION gst_index_add_id ##### --> <para> </para> @index: @id: @description: @Returns: <!-- ##### FUNCTION gst_index_get_assoc_entry ##### --> <para> </para> @index: @id: @method: @flags: @format: @value: @Returns: <!-- ##### FUNCTION gst_index_get_assoc_entry_full ##### --> <para> </para> @index: @id: @method: @flags: @format: @value: @func: @user_data: @Returns: <!-- ##### FUNCTION gst_index_entry_free ##### --> <para> </para> @entry: <!-- ##### FUNCTION gst_index_entry_assoc_map ##### --> <para> </para> @entry: @format: @value: @Returns: <!-- ##### FUNCTION gst_index_commit ##### --> <para> </para> @index: @id: <!-- ##### SIGNAL GstIndex::entry-added ##### --> <para> Is emited when a new entry is added to the index. </para> @gstindex: the object which received the signal. @arg1: The entry added to the index. <!-- ##### ARG GstIndex:resolver ##### --> <para> </para>