blob: 524d8bdac11f903bd3b3203561dfe4654e68cd9e [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstIndex</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GStreamer 0.11 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="GstGhostPad.html" title="GstGhostPad">
<link rel="next" href="GstIndexFactory.html" title="GstIndexFactory">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GstGhostPad.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer 0.11 Core Reference Manual</th>
<td><a accesskey="n" href="GstIndexFactory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#GstIndex.synopsis" class="shortcut">Top</a>
 | 
<a href="#GstIndex.description" class="shortcut">Description</a>
 | 
<a href="#GstIndex.object-hierarchy" class="shortcut">Object Hierarchy</a>
 | 
<a href="#GstIndex.properties" class="shortcut">Properties</a>
 | 
<a href="#GstIndex.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="GstIndex"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GstIndex.top_of_page"></a>GstIndex</span></h2>
<p>GstIndex — Generate indexes on objects</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="GstIndex.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gst/gst.h&gt;
struct <a class="link" href="GstIndex.html#GstIndex-struct" title="struct GstIndex">GstIndex</a>;
struct <a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry">GstIndexEntry</a>;
struct <a class="link" href="GstIndex.html#GstIndexGroup" title="struct GstIndexGroup">GstIndexGroup</a>;
enum <a class="link" href="GstIndex.html#GstIndexCertainty" title="enum GstIndexCertainty">GstIndexCertainty</a>;
enum <a class="link" href="GstIndex.html#GstIndexEntryType" title="enum GstIndexEntryType">GstIndexEntryType</a>;
enum <a class="link" href="GstIndex.html#GstIndexLookupMethod" title="enum GstIndexLookupMethod">GstIndexLookupMethod</a>;
#define <a class="link" href="GstIndex.html#GST-INDEX-NASSOCS:CAPS" title="GST_INDEX_NASSOCS()">GST_INDEX_NASSOCS</a> (entry)
#define <a class="link" href="GstIndex.html#GST-INDEX-ASSOC-FLAGS:CAPS" title="GST_INDEX_ASSOC_FLAGS()">GST_INDEX_ASSOC_FLAGS</a> (entry)
#define <a class="link" href="GstIndex.html#GST-INDEX-ASSOC-FORMAT:CAPS" title="GST_INDEX_ASSOC_FORMAT()">GST_INDEX_ASSOC_FORMAT</a> (entry,
i)
#define <a class="link" href="GstIndex.html#GST-INDEX-ASSOC-VALUE:CAPS" title="GST_INDEX_ASSOC_VALUE()">GST_INDEX_ASSOC_VALUE</a> (entry,
i)
struct <a class="link" href="GstIndex.html#GstIndexAssociation" title="struct GstIndexAssociation">GstIndexAssociation</a>;
enum <a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags">GstAssocFlags</a>;
#define <a class="link" href="GstIndex.html#GST-INDEX-FORMAT-FORMAT:CAPS" title="GST_INDEX_FORMAT_FORMAT()">GST_INDEX_FORMAT_FORMAT</a> (entry)
#define <a class="link" href="GstIndex.html#GST-INDEX-FORMAT-KEY:CAPS" title="GST_INDEX_FORMAT_KEY()">GST_INDEX_FORMAT_KEY</a> (entry)
#define <a class="link" href="GstIndex.html#GST-INDEX-ID-INVALID:CAPS" title="GST_INDEX_ID_INVALID">GST_INDEX_ID_INVALID</a>
#define <a class="link" href="GstIndex.html#GST-INDEX-ID-DESCRIPTION:CAPS" title="GST_INDEX_ID_DESCRIPTION()">GST_INDEX_ID_DESCRIPTION</a> (entry)
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="GstIndex.html#GstIndexFilter" title="GstIndexFilter ()">*GstIndexFilter</a>) (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
enum <a class="link" href="GstIndex.html#GstIndexResolverMethod" title="enum GstIndexResolverMethod">GstIndexResolverMethod</a>;
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()">*GstIndexResolver</a>) (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *writer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **writer_string</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
enum <a class="link" href="GstIndex.html#GstIndexFlags" title="enum GstIndexFlags">GstIndexFlags</a>;
#define <a class="link" href="GstIndex.html#GST-INDEX-IS-READABLE:CAPS" title="GST_INDEX_IS_READABLE()">GST_INDEX_IS_READABLE</a> (obj)
#define <a class="link" href="GstIndex.html#GST-INDEX-IS-WRITABLE:CAPS" title="GST_INDEX_IS_WRITABLE()">GST_INDEX_IS_WRITABLE</a> (obj)
<a class="link" href="GstIndex.html" title="GstIndex"><span class="returnvalue">GstIndex</span></a> * <a class="link" href="GstIndex.html#gst-index-new" title="gst_index_new ()">gst_index_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-commit" title="gst_index_commit ()">gst_index_commit</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="GstIndex.html#gst-index-get-group" title="gst_index_get_group ()">gst_index_get_group</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <a class="link" href="GstIndex.html#gst-index-new-group" title="gst_index_new_group ()">gst_index_new_group</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GstIndex.html#gst-index-set-group" title="gst_index_set_group ()">gst_index_set_group</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> groupnum</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-set-certainty" title="gst_index_set_certainty ()">gst_index_set_certainty</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexCertainty" title="enum GstIndexCertainty"><span class="type">GstIndexCertainty</span></a> certainty</code></em>);
<a class="link" href="GstIndex.html#GstIndexCertainty" title="enum GstIndexCertainty"><span class="returnvalue">GstIndexCertainty</span></a> <a class="link" href="GstIndex.html#gst-index-get-certainty" title="gst_index_get_certainty ()">gst_index_get_certainty</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-set-filter" title="gst_index_set_filter ()">gst_index_set_filter</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexFilter" title="GstIndexFilter ()"><span class="type">GstIndexFilter</span></a> filter</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-set-filter-full" title="gst_index_set_filter_full ()">gst_index_set_filter_full</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexFilter" title="GstIndexFilter ()"><span class="type">GstIndexFilter</span></a> filter</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-set-resolver" title="gst_index_set_resolver ()">gst_index_set_resolver</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()"><span class="type">GstIndexResolver</span></a> resolver</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-set-resolver-full" title="gst_index_set_resolver_full ()">gst_index_set_resolver_full</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()"><span class="type">GstIndexResolver</span></a> resolver</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GstIndex.html#gst-index-get-writer-id" title="gst_index_get_writer_id ()">gst_index_get_writer_id</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *writer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *id</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-add-format" title="gst_index_add_format ()">gst_index_add_format</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-add-association" title="gst_index_add_association ()">gst_index_add_association</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>,
<em class="parameter"><code>...</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-add-associationv" title="gst_index_add_associationv ()">gst_index_add_associationv</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>,
<em class="parameter"><code>const <a class="link" href="GstIndex.html#GstIndexAssociation" title="struct GstIndexAssociation"><span class="type">GstIndexAssociation</span></a> *list</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-add-object" title="gst_index_add_object ()">gst_index_add_object</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-add-id" title="gst_index_add_id ()">gst_index_add_id</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-get-assoc-entry" title="gst_index_get_assoc_entry ()">gst_index_get_assoc_entry</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexLookupMethod" title="enum GstIndexLookupMethod"><span class="type">GstIndexLookupMethod</span></a> method</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-get-assoc-entry-full" title="gst_index_get_assoc_entry_full ()">gst_index_get_assoc_entry_full</a> (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexLookupMethod" title="enum GstIndexLookupMethod"><span class="type">GstIndexLookupMethod</span></a> method</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GCompareDataFunc"><span class="type">GCompareDataFunc</span></a> func</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * <a class="link" href="GstIndex.html#gst-index-entry-copy" title="gst_index_entry_copy ()">gst_index_entry_copy</a> (<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GstIndex.html#gst-index-entry-free" title="gst_index_entry_free ()">gst_index_entry_free</a> (<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GstIndex.html#gst-index-entry-assoc-map" title="gst_index_entry_assoc_map ()">gst_index_entry_assoc_map</a> (<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *value</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GstIndex.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+----<a class="link" href="GstObject.html" title="GstObject">GstObject</a>
+----GstIndex
</pre>
</div>
<div class="refsect1">
<a name="GstIndex.properties"></a><h2>Properties</h2>
<pre class="synopsis">
"<a class="link" href="GstIndex.html#GstIndex--resolver" title='The "resolver" property'>resolver</a>" <a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()"><span class="type">GstIndexResolver</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="GstIndex.signals"></a><h2>Signals</h2>
<pre class="synopsis">
"<a class="link" href="GstIndex.html#GstIndex-entry-added" title='The "entry-added" signal'>entry-added</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
</pre>
</div>
<div class="refsect1">
<a name="GstIndex.description"></a><h2>Description</h2>
<p>
GstIndex is used to generate a stream index of one or more elements
in a pipeline.
</p>
<p>
Elements will overload the set_index and get_index virtual methods in
<a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>. When streaming data, the element will add index entries if it
has an index set.
</p>
<p>
Each element that adds to the index will do that using a writer_id. The
writer_id is obtained from <a class="link" href="GstIndex.html#gst-index-get-writer-id" title="gst_index_get_writer_id ()"><code class="function">gst_index_get_writer_id()</code></a>.
</p>
<p>
The application that wants to index the stream will create a new index object
using <a class="link" href="GstIndex.html#gst-index-new" title="gst_index_new ()"><code class="function">gst_index_new()</code></a> or <a class="link" href="GstIndexFactory.html#gst-index-factory-make" title="gst_index_factory_make ()"><code class="function">gst_index_factory_make()</code></a>. The index is assigned to a
specific element, a bin or the whole pipeline. This will cause indexable
elements to add entires to the index while playing.
</p>
</div>
<div class="refsect1">
<a name="GstIndex.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GstIndex-struct"></a><h3>struct GstIndex</h3>
<pre class="programlisting">struct GstIndex;</pre>
<p>
Opaque <a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> structure.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexEntry"></a><h3>struct GstIndexEntry</h3>
<pre class="programlisting">struct GstIndexEntry {
};
</pre>
<p>
The basic element of an index.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexGroup"></a><h3>struct GstIndexGroup</h3>
<pre class="programlisting">struct GstIndexGroup {
};
</pre>
<p>
A group of related entries in an index.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexCertainty"></a><h3>enum GstIndexCertainty</h3>
<pre class="programlisting">typedef enum {
GST_INDEX_UNKNOWN,
GST_INDEX_CERTAIN,
GST_INDEX_FUZZY
} GstIndexCertainty;
</pre>
<p>
The certainty of a group in the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GST-INDEX-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_INDEX_UNKNOWN</code></span></p></td>
<td>accuracy is not known
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-CERTAIN:CAPS"></a><span class="term"><code class="literal">GST_INDEX_CERTAIN</code></span></p></td>
<td>accuracy is perfect
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-FUZZY:CAPS"></a><span class="term"><code class="literal">GST_INDEX_FUZZY</code></span></p></td>
<td>accuracy is fuzzy
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexEntryType"></a><h3>enum GstIndexEntryType</h3>
<pre class="programlisting">typedef enum {
GST_INDEX_ENTRY_ID,
GST_INDEX_ENTRY_ASSOCIATION,
GST_INDEX_ENTRY_OBJECT,
GST_INDEX_ENTRY_FORMAT
} GstIndexEntryType;
</pre>
<p>
The different types of entries in the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GST-INDEX-ENTRY-ID:CAPS"></a><span class="term"><code class="literal">GST_INDEX_ENTRY_ID</code></span></p></td>
<td>This entry is an id that maps an index id to its owner object
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-ENTRY-ASSOCIATION:CAPS"></a><span class="term"><code class="literal">GST_INDEX_ENTRY_ASSOCIATION</code></span></p></td>
<td>This entry is an association between formats
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-ENTRY-OBJECT:CAPS"></a><span class="term"><code class="literal">GST_INDEX_ENTRY_OBJECT</code></span></p></td>
<td>An object
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-ENTRY-FORMAT:CAPS"></a><span class="term"><code class="literal">GST_INDEX_ENTRY_FORMAT</code></span></p></td>
<td>A format definition
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexLookupMethod"></a><h3>enum GstIndexLookupMethod</h3>
<pre class="programlisting">typedef enum {
GST_INDEX_LOOKUP_EXACT,
GST_INDEX_LOOKUP_BEFORE,
GST_INDEX_LOOKUP_AFTER
} GstIndexLookupMethod;
</pre>
<p>
Specify the method to find an index entry in the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GST-INDEX-LOOKUP-EXACT:CAPS"></a><span class="term"><code class="literal">GST_INDEX_LOOKUP_EXACT</code></span></p></td>
<td>There has to be an exact indexentry with the given format/value
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-LOOKUP-BEFORE:CAPS"></a><span class="term"><code class="literal">GST_INDEX_LOOKUP_BEFORE</code></span></p></td>
<td>The exact entry or the one before it
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-LOOKUP-AFTER:CAPS"></a><span class="term"><code class="literal">GST_INDEX_LOOKUP_AFTER</code></span></p></td>
<td>The exact entry or the one after it
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-NASSOCS:CAPS"></a><h3>GST_INDEX_NASSOCS()</h3>
<pre class="programlisting">#define GST_INDEX_NASSOCS(entry) ((entry)-&gt;data.assoc.nassocs)
</pre>
<p>
Get the number of associations in the entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-ASSOC-FLAGS:CAPS"></a><h3>GST_INDEX_ASSOC_FLAGS()</h3>
<pre class="programlisting">#define GST_INDEX_ASSOC_FLAGS(entry) ((entry)-&gt;data.assoc.flags)
</pre>
<p>
Get the flags for this entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-ASSOC-FORMAT:CAPS"></a><h3>GST_INDEX_ASSOC_FORMAT()</h3>
<pre class="programlisting">#define GST_INDEX_ASSOC_FORMAT(entry,i) ((entry)-&gt;data.assoc.assocs[(i)].format)
</pre>
<p>
Get the i-th format of the entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
<td>The format index</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-ASSOC-VALUE:CAPS"></a><h3>GST_INDEX_ASSOC_VALUE()</h3>
<pre class="programlisting">#define GST_INDEX_ASSOC_VALUE(entry,i) ((entry)-&gt;data.assoc.assocs[(i)].value)
</pre>
<p>
Get the i-th value of the entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>i</code></em> :</span></p></td>
<td>The value index</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexAssociation"></a><h3>struct GstIndexAssociation</h3>
<pre class="programlisting">struct GstIndexAssociation {
GstFormat format;
gint64 value;
};
</pre>
<p>
An association in an entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> <em class="structfield"><code><a name="GstIndexAssociation.format"></a>format</code></em>;</span></p></td>
<td>the format of the association</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> <em class="structfield"><code><a name="GstIndexAssociation.value"></a>value</code></em>;</span></p></td>
<td>the value of the association</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstAssocFlags"></a><h3>enum GstAssocFlags</h3>
<pre class="programlisting">typedef enum {
GST_ASSOCIATION_FLAG_NONE = 0,
GST_ASSOCIATION_FLAG_KEY_UNIT = (1 &lt;&lt; 0),
GST_ASSOCIATION_FLAG_DELTA_UNIT = (1 &lt;&lt; 1),
/* new flags should start here */
GST_ASSOCIATION_FLAG_LAST = (1 &lt;&lt; 8)
} GstAssocFlags;
</pre>
<p>
Flags for an association entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GST-ASSOCIATION-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_ASSOCIATION_FLAG_NONE</code></span></p></td>
<td>no extra flags
</td>
</tr>
<tr>
<td><p><a name="GST-ASSOCIATION-FLAG-KEY-UNIT:CAPS"></a><span class="term"><code class="literal">GST_ASSOCIATION_FLAG_KEY_UNIT</code></span></p></td>
<td>the entry marks a key unit, a key unit is one
that marks a place where one can randomly seek to.
</td>
</tr>
<tr>
<td><p><a name="GST-ASSOCIATION-FLAG-DELTA-UNIT:CAPS"></a><span class="term"><code class="literal">GST_ASSOCIATION_FLAG_DELTA_UNIT</code></span></p></td>
<td>the entry marks a delta unit, a delta unit
is one that marks a place where one can relatively seek to.
</td>
</tr>
<tr>
<td><p><a name="GST-ASSOCIATION-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_ASSOCIATION_FLAG_LAST</code></span></p></td>
<td>extra user defined flags should start here.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-FORMAT-FORMAT:CAPS"></a><h3>GST_INDEX_FORMAT_FORMAT()</h3>
<pre class="programlisting">#define GST_INDEX_FORMAT_FORMAT(entry) ((entry)-&gt;data.format.format)
</pre>
<p>
Get the format of the format entry
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-FORMAT-KEY:CAPS"></a><h3>GST_INDEX_FORMAT_KEY()</h3>
<pre class="programlisting">#define GST_INDEX_FORMAT_KEY(entry) ((entry)-&gt;data.format.key)
</pre>
<p>
Get the key of the format entry
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-ID-INVALID:CAPS"></a><h3>GST_INDEX_ID_INVALID</h3>
<pre class="programlisting">#define GST_INDEX_ID_INVALID (-1)
</pre>
<p>
Constant for an invalid index id
</p>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-ID-DESCRIPTION:CAPS"></a><h3>GST_INDEX_ID_DESCRIPTION()</h3>
<pre class="programlisting">#define GST_INDEX_ID_DESCRIPTION(entry) ((entry)-&gt;data.id.description)
</pre>
<p>
Get the description of the id entry
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to query</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexFilter"></a><h3>GstIndexFilter ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*GstIndexFilter) (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Function to filter out entries in the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>The index being queried</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>The entry to be added.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>User data passed to the function.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>This function should return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the entry is to be added
to the index, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexResolverMethod"></a><h3>enum GstIndexResolverMethod</h3>
<pre class="programlisting">typedef enum {
GST_INDEX_RESOLVER_CUSTOM,
GST_INDEX_RESOLVER_GTYPE,
GST_INDEX_RESOLVER_PATH
} GstIndexResolverMethod;
</pre>
<p>
The method used to resolve index writers
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GST-INDEX-RESOLVER-CUSTOM:CAPS"></a><span class="term"><code class="literal">GST_INDEX_RESOLVER_CUSTOM</code></span></p></td>
<td>Use a custom resolver
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-RESOLVER-GTYPE:CAPS"></a><span class="term"><code class="literal">GST_INDEX_RESOLVER_GTYPE</code></span></p></td>
<td>Resolve based on the GType of the object
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-RESOLVER-PATH:CAPS"></a><span class="term"><code class="literal">GST_INDEX_RESOLVER_PATH</code></span></p></td>
<td>Resolve on the path in graph
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexResolver"></a><h3>GstIndexResolver ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*GstIndexResolver) (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *writer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **writer_string</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Function to resolve ids to writer descriptions.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index being queried.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
<td>The object that wants to write</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer_string</code></em> :</span></p></td>
<td>A description of the writer.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user_data as registered</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if an id could be assigned to the writer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstIndexFlags"></a><h3>enum GstIndexFlags</h3>
<pre class="programlisting">typedef enum {
GST_INDEX_WRITABLE = (GST_OBJECT_FLAG_LAST &lt;&lt; 0),
GST_INDEX_READABLE = (GST_OBJECT_FLAG_LAST &lt;&lt; 1),
GST_INDEX_FLAG_LAST = (GST_OBJECT_FLAG_LAST &lt;&lt; 8)
} GstIndexFlags;
</pre>
<p>
Flags for this index
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GST-INDEX-WRITABLE:CAPS"></a><span class="term"><code class="literal">GST_INDEX_WRITABLE</code></span></p></td>
<td>The index is writable
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-READABLE:CAPS"></a><span class="term"><code class="literal">GST_INDEX_READABLE</code></span></p></td>
<td>The index is readable
</td>
</tr>
<tr>
<td><p><a name="GST-INDEX-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_INDEX_FLAG_LAST</code></span></p></td>
<td>First flag that can be used by subclasses
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-IS-READABLE:CAPS"></a><h3>GST_INDEX_IS_READABLE()</h3>
<pre class="programlisting">#define GST_INDEX_IS_READABLE(obj) (GST_OBJECT_FLAG_IS_SET (obj, GST_INDEX_READABLE))
</pre>
<p>
Check if the index can be read from
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>The index to check</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-INDEX-IS-WRITABLE:CAPS"></a><h3>GST_INDEX_IS_WRITABLE()</h3>
<pre class="programlisting">#define GST_INDEX_IS_WRITABLE(obj) (GST_OBJECT_FLAG_IS_SET (obj, GST_INDEX_WRITABLE))
</pre>
<p>
Check if the index can be written to
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td>The index to check</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-new"></a><h3>gst_index_new ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html" title="GstIndex"><span class="returnvalue">GstIndex</span></a> * gst_index_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Create a new dummy index object. Use <a class="link" href="GstElement.html#gst-element-set-index" title="gst_element_set_index ()"><code class="function">gst_element_set_index()</code></a> to assign that
to an element or pipeline. This index is not storing anything, but will
still emit e.g. the <a class="link" href="GstIndex.html#GstIndex-entry-added" title='The "entry-added" signal'><span class="type">"entry-added"</span></a> signal.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new index object. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-commit"></a><h3>gst_index_commit ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_commit (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>);</pre>
<p>
Tell the index that the writer with the given id is done
with this index and is not going to write any more entries
to it.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to commit</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the writer that commited the index</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-get-group"></a><h3>gst_index_get_group ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gst_index_get_group (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>);</pre>
<p>
Get the id of the current group.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to get the current group from</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the id of the current group.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-new-group"></a><h3>gst_index_new_group ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> gst_index_new_group (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>);</pre>
<p>
Create a new group for the given index. It will be
set as the current group.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to create the new group in</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the id of the newly created group.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-set-group"></a><h3>gst_index_set_group ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_index_set_group (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> groupnum</code></em>);</pre>
<p>
Set the current groupnumber to the given argument.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to set the new group in</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>groupnum</code></em> :</span></p></td>
<td>the groupnumber to set</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if the operation succeeded, FALSE if the group
did not exist.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-set-certainty"></a><h3>gst_index_set_certainty ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_set_certainty (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexCertainty" title="enum GstIndexCertainty"><span class="type">GstIndexCertainty</span></a> certainty</code></em>);</pre>
<p>
Set the certainty of the given index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to set the certainty on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>certainty</code></em> :</span></p></td>
<td>the certainty to set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-get-certainty"></a><h3>gst_index_get_certainty ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexCertainty" title="enum GstIndexCertainty"><span class="returnvalue">GstIndexCertainty</span></a> gst_index_get_certainty (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>);</pre>
<p>
Get the certainty of the given index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to get the certainty of</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the certainty of the index.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-set-filter"></a><h3>gst_index_set_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_set_filter (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexFilter" title="GstIndexFilter ()"><span class="type">GstIndexFilter</span></a> filter</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Lets the app register a custom filter function so that
it can select what entries should be stored in the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to register the filter on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
<td>the filter to register</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>data passed to the filter function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-set-filter-full"></a><h3>gst_index_set_filter_full ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_set_filter_full (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexFilter" title="GstIndexFilter ()"><span class="type">GstIndexFilter</span></a> filter</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);</pre>
<p>
Lets the app register a custom filter function so that
it can select what entries should be stored in the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to register the filter on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
<td>the filter to register</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>data passed to the filter function</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data_destroy</code></em> :</span></p></td>
<td>function to call when <em class="parameter"><code>user_data</code></em> is unset</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-set-resolver"></a><h3>gst_index_set_resolver ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_set_resolver (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()"><span class="type">GstIndexResolver</span></a> resolver</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Lets the app register a custom function to map index
ids to writer descriptions.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to register the resolver on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>resolver</code></em> :</span></p></td>
<td>the resolver to register</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>data passed to the resolver function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-set-resolver-full"></a><h3>gst_index_set_resolver_full ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_set_resolver_full (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()"><span class="type">GstIndexResolver</span></a> resolver</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);</pre>
<p>
Lets the app register a custom function to map index
ids to writer descriptions.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to register the resolver on</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>resolver</code></em> :</span></p></td>
<td>the resolver to register</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>data passed to the resolver function</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data_destroy</code></em> :</span></p></td>
<td>destroy function for <em class="parameter"><code>user_data</code></em>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 0.10.18</p>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-get-writer-id"></a><h3>gst_index_get_writer_id ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_index_get_writer_id (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *writer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *id</code></em>);</pre>
<p>
Before entries can be added to the index, a writer
should obtain a unique id. The methods to add new entries
to the index require this id as an argument.
</p>
<p>
The application can implement a custom function to map the writer object
to a string. That string will be used to register or look up an id
in the index.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
The caller must not hold <em class="parameter"><code>writer</code></em>'s <a class="link" href="GstObject.html#GST-OBJECT-LOCK:CAPS" title="GST_OBJECT_LOCK()"><span class="type">GST_OBJECT_LOCK</span></a>, as the default
resolver may call functions that take the object lock as well, and
the lock is not recursive.
</div>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to get a unique write id for</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>writer</code></em> :</span></p></td>
<td>the GstObject to allocate an id for</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>a pointer to a gint to hold the id</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if the writer would be mapped to an id.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-add-format"></a><h3>gst_index_add_format ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_add_format (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>);</pre>
<p>
Adds a format entry into the index. This function is
used to map dynamic GstFormat ids to their original
format key.
</p>
<p>
Free-function: gst_index_entry_free
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to add the entry to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the format to add to the index</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to the newly added entry in the index. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-add-association"></a><h3>gst_index_add_association ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_add_association (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>
Associate given format/value pairs with each other.
Be sure to pass gint64 values to this functions varargs,
you might want to use a gint64 cast to be sure.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to add the entry to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>optinal flags for this entry</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the format of the value</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>the value</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>other format/value pairs or 0 to end the list</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to the newly added entry in the index.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-add-associationv"></a><h3>gst_index_add_associationv ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_add_associationv (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>,
<em class="parameter"><code>const <a class="link" href="GstIndex.html#GstIndexAssociation" title="struct GstIndexAssociation"><span class="type">GstIndexAssociation</span></a> *list</code></em>);</pre>
<p>
Associate given format/value pairs with each other.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to add the entry to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>optinal flags for this entry</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
<td>number of associations</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>list of associations</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to the newly added entry in the index.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-add-object"></a><h3>gst_index_add_object ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_add_object (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
<p>
Add the given object to the index with the given key.
</p>
<p>
This function is not yet implemented.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to add the object to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
<td>a key for the object</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the GType of the object</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>a pointer to the object to add</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to the newly added entry in the index.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-add-id"></a><h3>gst_index_add_id ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_add_id (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *description</code></em>);</pre>
<p>
Add an id entry into the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to add the entry to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>description</code></em> :</span></p></td>
<td>the description of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a pointer to the newly added entry in the index.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-get-assoc-entry"></a><h3>gst_index_get_assoc_entry ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_get_assoc_entry (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexLookupMethod" title="enum GstIndexLookupMethod"><span class="type">GstIndexLookupMethod</span></a> method</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>);</pre>
<p>
Finds the given format/value in the index
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to search</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
<td>The lookup method to use</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>Flags for the entry</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the format of the value</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>the value to find</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the entry associated with the value or NULL if the
value was not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-get-assoc-entry-full"></a><h3>gst_index_get_assoc_entry_full ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_get_assoc_entry_full (<em class="parameter"><code><a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *index</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexLookupMethod" title="enum GstIndexLookupMethod"><span class="type">GstIndexLookupMethod</span></a> method</code></em>,
<em class="parameter"><code><a class="link" href="GstIndex.html#GstAssocFlags" title="enum GstAssocFlags"><span class="type">GstAssocFlags</span></a> flags</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> value</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GCompareDataFunc"><span class="type">GCompareDataFunc</span></a> func</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Finds the given format/value in the index with the given
compare function and user_data.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>the index to search</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the id of the index writer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
<td>The lookup method to use</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>Flags for the entry</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the format of the value</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>the value to find</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
<td>the function used to compare entries</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data passed to the compare function</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the entry associated with the value or NULL if the
value was not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-entry-copy"></a><h3>gst_index_entry_copy ()</h3>
<pre class="programlisting"><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="returnvalue">GstIndexEntry</span></a> * gst_index_entry_copy (<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>);</pre>
<p>
Copies an entry and returns the result.
</p>
<p>
Free-function: gst_index_entry_free
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to copy</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a newly allocated <a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-entry-free"></a><h3>gst_index_entry_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_index_entry_free (<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>);</pre>
<p>
Free the memory used by the given entry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the entry to free. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-index-entry-assoc-map"></a><h3>gst_index_entry_assoc_map ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_index_entry_assoc_map (<em class="parameter"><code><a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *entry</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> *value</code></em>);</pre>
<p>
Gets alternative formats associated with the indexentry.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>entry</code></em> :</span></p></td>
<td>the index to search</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the format of the value the find</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td>a pointer to store the value</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if there was a value associated with the given
format.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="GstIndex.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstIndex--resolver"></a><h3>The <code class="literal">"resolver"</code> property</h3>
<pre class="programlisting"> "resolver" <a class="link" href="GstIndex.html#GstIndexResolver" title="GstIndexResolver ()"><span class="type">GstIndexResolver</span></a> : Read / Write</pre>
<p>Select a predefined object to string mapper.</p>
<p>Default value: GST_INDEX_RESOLVER_PATH</p>
</div>
</div>
<div class="refsect1">
<a name="GstIndex.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GstIndex-entry-added"></a><h3>The <code class="literal">"entry-added"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GstIndex.html" title="GstIndex"><span class="type">GstIndex</span></a> *gstindex,
<a class="link" href="GstIndex.html#GstIndexEntry" title="struct GstIndexEntry"><span class="type">GstIndexEntry</span></a> *arg1,
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
Is emitted when a new entry is added to the index.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>gstindex</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>arg1</code></em> :</span></p></td>
<td>The entry added to the index.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="GstIndex.see-also"></a><h2>See Also</h2>
<a class="link" href="GstIndexFactory.html" title="GstIndexFactory"><span class="type">GstIndexFactory</span></a>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.18</div>
</body>
</html>