Merge remote-tracking branch 'upstream/master' into tizen
[platform/upstream/gstreamer.git] / libs / gst / base / gstindex.c
index a0505cc..964508e 100644 (file)
  *
  * 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
@@ -38,7 +39,7 @@
  * 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 */
@@ -60,6 +61,7 @@
 #endif
 
 #include <gst/gst.h>
+#include "gst/glib-compat-private.h"
 
 /* Index signals and args */
 enum
@@ -160,7 +162,7 @@ gst_index_class_init (GstIndexClass * klass)
   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,
-      g_cclosure_marshal_generic, 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;
@@ -304,7 +306,7 @@ gst_index_new (void)
 {
   GstIndex *index;
 
-  index = g_object_newv (gst_index_get_type (), 0, NULL);
+  index = g_object_new (gst_index_get_type (), NULL);
 
   return index;
 }
@@ -312,7 +314,7 @@ gst_index_new (void)
 /**
  * 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
@@ -368,7 +370,7 @@ gst_index_new_group (GstIndex * index)
  *
  * 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
@@ -496,8 +498,6 @@ gst_index_set_resolver (GstIndex * index,
  *
  * 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,
@@ -573,7 +573,7 @@ gst_index_entry_free (GstIndexEntry * entry)
  * @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
@@ -678,7 +678,7 @@ gst_index_gtype_resolver (GstIndex * index, GstObject * writer,
 /**
  * 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
@@ -689,13 +689,11 @@ gst_index_gtype_resolver (GstIndex * index, GstObject * 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)
@@ -775,9 +773,9 @@ gst_index_add_entry (GstIndex * index, GstIndexEntry * entry)
  * 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.
  *
@@ -801,7 +799,7 @@ gst_index_add_associationv (GstIndex * index, gint id,
   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);
@@ -814,7 +812,7 @@ gst_index_add_associationv (GstIndex * index, gint id,
  * 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
@@ -920,7 +918,7 @@ gst_index_compare_func (gconstpointer a, gconstpointer b, gpointer user_data)
  *
  * 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 *
@@ -951,7 +949,7 @@ gst_index_get_assoc_entry (GstIndex * index, gint id,
  * 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 *
@@ -983,7 +981,7 @@ gst_index_get_assoc_entry_full (GstIndex * index, gint id,
  *
  * 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