*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
/**
* SECTION:gstindex
+ * @title: GstIndexEntry
* @short_description: Generate indexes on objects
* @see_also: #GstIndexFactory
*
- * GstIndex is used to generate a stream index of one or more elements
+ * #GstIndex is used to generate a stream index of one or more elements
* in a pipeline.
*
* Elements will overload the set_index and get_index virtual methods in
* The application that wants to index the stream will create a new index object
* using gst_index_new() or gst_index_factory_make(). 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.
+ * elements to add entries to the index while playing.
*/
/* FIXME: complete gobject annotations */
#endif
#include <gst/gst.h>
+#include "gst/glib-compat-private.h"
/* Index signals and args */
enum
return index_resolver_type;
}
-GType
-gst_index_entry_get_type (void)
-{
- static GType index_entry_type = 0;
-
- if (!index_entry_type) {
- index_entry_type = g_boxed_type_register_static ("GstIndexEntry",
- (GBoxedCopyFunc) gst_index_entry_copy,
- (GBoxedFreeFunc) gst_index_entry_free);
- }
- return index_entry_type;
-}
+G_DEFINE_BOXED_TYPE (GstIndexEntry, gst_index_entry,
+ (GBoxedCopyFunc) gst_index_entry_copy,
+ (GBoxedFreeFunc) gst_index_entry_free);
#if 0
#define _do_init \
gst_index_signals[ENTRY_ADDED] =
g_signal_new ("entry-added", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstIndexClass, entry_added), NULL, NULL,
- gst_marshal_VOID__BOXED, G_TYPE_NONE, 1, GST_TYPE_INDEX_ENTRY);
+ NULL, G_TYPE_NONE, 1, GST_TYPE_INDEX_ENTRY);
gobject_class->set_property = gst_index_set_property;
gobject_class->get_property = gst_index_get_property;
{
GstIndex *index;
- index = g_object_newv (gst_index_get_type (), 0, NULL);
+ index = g_object_new (gst_index_get_type (), NULL);
return index;
}
/**
* gst_index_commit:
* @index: the index to commit
- * @id: the writer that commited the index
+ * @id: the writer that committed the index
*
* Tell the index that the writer with the given id is done
* with this index and is not going to write any more entries
*
* Set the current groupnumber to the given argument.
*
- * Returns: TRUE if the operation succeeded, FALSE if the group
+ * Returns: %TRUE if the operation succeeded, %FALSE if the group
* did not exist.
*/
gboolean
*
* Lets the app register a custom function to map index
* ids to writer descriptions.
- *
- * Since: 0.10.18
*/
void
gst_index_set_resolver_full (GstIndex * index, GstIndexResolver resolver,
* @format: the format to add to the index
*
* Adds a format entry into the index. This function is
- * used to map dynamic GstFormat ids to their original
+ * used to map dynamic #GstFormat ids to their original
* format key.
*
* Free-function: gst_index_entry_free
/**
* gst_index_get_writer_id:
* @index: the index to get a unique write id for
- * @writer: the GstObject to allocate an id for
+ * @writer: the #GstObject to allocate an id for
* @id: a pointer to a gint to hold the id
*
* Before entries can be added to the index, a writer
* to a string. That string will be used to register or look up an id
* in the index.
*
- * <note>
- * The caller must not hold @writer's #GST_OBJECT_LOCK, as the default
- * resolver may call functions that take the object lock as well, and
- * the lock is not recursive.
- * </note>
+ * > The caller must not hold @writer's GST_OBJECT_LOCK(), as the default
+ * > resolver may call functions that take the object lock as well, and
+ * > the lock is not recursive.
*
- * Returns: TRUE if the writer would be mapped to an id.
+ * Returns: %TRUE if the writer would be mapped to an id.
*/
gboolean
gst_index_get_writer_id (GstIndex * index, GstObject * writer, gint * id)
* gst_index_add_associationv:
* @index: the index to add the entry to
* @id: the id of the index writer
- * @flags: optinal flags for this entry
+ * @flags: optional flags for this entry
* @n: number of associations
- * @list: list of associations
+ * @list: (array length=n): list of associations
*
* Associate given format/value pairs with each other.
*
* Returns: a pointer to the newly added entry in the index.
*/
GstIndexEntry *
-gst_index_add_associationv (GstIndex * index, gint id, GstAssocFlags flags,
- gint n, const GstIndexAssociation * list)
+gst_index_add_associationv (GstIndex * index, gint id,
+ GstIndexAssociationFlags flags, gint n, const GstIndexAssociation * list)
{
GstIndexEntry *entry;
entry->type = GST_INDEX_ENTRY_ASSOCIATION;
entry->id = id;
entry->data.assoc.flags = flags;
- entry->data.assoc.assocs = g_memdup (list, sizeof (GstIndexAssociation) * n);
+ entry->data.assoc.assocs = g_memdup2 (list, sizeof (GstIndexAssociation) * n);
entry->data.assoc.nassocs = n;
gst_index_add_entry (index, entry);
* gst_index_add_association:
* @index: the index to add the entry to
* @id: the id of the index writer
- * @flags: optinal flags for this entry
+ * @flags: optional flags for this entry
* @format: the format of the value
* @value: the value
* @...: other format/value pairs or 0 to end the list
* Returns: a pointer to the newly added entry in the index.
*/
GstIndexEntry *
-gst_index_add_association (GstIndex * index, gint id, GstAssocFlags flags,
- GstFormat format, gint64 value, ...)
+gst_index_add_association (GstIndex * index, gint id,
+ GstIndexAssociationFlags flags, GstFormat format, gint64 value, ...)
{
va_list args;
GstIndexEntry *entry;
*
* Finds the given format/value in the index
*
- * Returns: the entry associated with the value or NULL if the
+ * Returns: (nullable): the entry associated with the value or %NULL if the
* value was not found.
*/
GstIndexEntry *
gst_index_get_assoc_entry (GstIndex * index, gint id,
- GstIndexLookupMethod method, GstAssocFlags flags,
+ GstIndexLookupMethod method, GstIndexAssociationFlags flags,
GstFormat format, gint64 value)
{
g_return_val_if_fail (GST_IS_INDEX (index), NULL);
* Finds the given format/value in the index with the given
* compare function and user_data.
*
- * Returns: the entry associated with the value or NULL if the
+ * Returns: (nullable): the entry associated with the value or %NULL if the
* value was not found.
*/
GstIndexEntry *
gst_index_get_assoc_entry_full (GstIndex * index, gint id,
- GstIndexLookupMethod method, GstAssocFlags flags,
+ GstIndexLookupMethod method, GstIndexAssociationFlags flags,
GstFormat format, gint64 value, GCompareDataFunc func, gpointer user_data)
{
GstIndexClass *iclass;
*
* Gets alternative formats associated with the indexentry.
*
- * Returns: TRUE if there was a value associated with the given
+ * Returns: %TRUE if there was a value associated with the given
* format.
*/
gboolean