#include <gst/gstdatetime.h>
#include <gst/gstbuffer.h>
-#include <gst/gststructure.h>
#include <gst/glib-compat.h>
G_BEGIN_DECLS
#define GST_TAG_FLAG_IS_VALID(flag) (((flag) > GST_TAG_FLAG_UNDEFINED) && ((flag) < GST_TAG_FLAG_COUNT))
-/* FIXME 0.11: Don't typedef GstTagList to be a GstStructure, they're
- * internally the same but not from an API point of view.
- * See bug #518934.
- */
/**
* GstTagList:
*
* Opaque #GstTagList data structure.
*/
-#ifdef _FOOL_GTK_DOC_
-typedef struct _GstTagList GstTagList;
-#else
-#ifdef IN_GOBJECT_INTROSPECTION
typedef struct _GstTagList GstTagList;
-#else
-typedef GstStructure GstTagList;
-#endif
-#endif
#define GST_TAG_LIST(x) ((GstTagList *) (x))
#define GST_IS_TAG_LIST(x) ((x) != NULL && gst_is_tag_list (GST_TAG_LIST (x)))
gboolean gst_tag_is_fixed (const gchar * tag);
/* tag lists */
-GstTagList * gst_tag_list_new (void);
-GstTagList * gst_tag_list_new_full (const gchar * tag, ...);
-GstTagList * gst_tag_list_new_full_valist (va_list var_args);
+GstTagList * gst_tag_list_new_empty (void) G_GNUC_MALLOC;
+GstTagList * gst_tag_list_new (const gchar * tag, ...) G_GNUC_MALLOC;
+GstTagList * gst_tag_list_new_valist (va_list var_args) G_GNUC_MALLOC;
+
+gchar * gst_tag_list_to_string (const GstTagList * list) G_GNUC_MALLOC;
+GstTagList * gst_tag_list_new_from_string (const gchar * str) G_GNUC_MALLOC;
gboolean gst_is_tag_list (gconstpointer p);
-GstTagList * gst_tag_list_copy (const GstTagList * list);
+GstTagList * gst_tag_list_copy (const GstTagList * list) G_GNUC_MALLOC;
gboolean gst_tag_list_is_empty (const GstTagList * list);
+gboolean gst_tag_list_is_equal (const GstTagList * list1,
+ const GstTagList * list2);
void gst_tag_list_insert (GstTagList * into,
const GstTagList * from,
GstTagMergeMode mode);
GstTagList * gst_tag_list_merge (const GstTagList * list1,
const GstTagList * list2,
- GstTagMergeMode mode);
+ GstTagMergeMode mode) G_GNUC_MALLOC;
void gst_tag_list_free (GstTagList * list);
guint gst_tag_list_get_tag_size (const GstTagList * list,
const gchar * tag);
const gchar * tag,
guint index,
guint * value);
-gboolean gst_tag_list_get_long (const GstTagList * list,
- const gchar * tag,
- glong * value);
-gboolean gst_tag_list_get_long_index (const GstTagList * list,
- const gchar * tag,
- guint index,
- glong * value);
-gboolean gst_tag_list_get_ulong (const GstTagList * list,
- const gchar * tag,
- gulong * value);
-gboolean gst_tag_list_get_ulong_index (const GstTagList * list,
- const gchar * tag,
- guint index,
- gulong * value);
gboolean gst_tag_list_get_int64 (const GstTagList * list,
const gchar * tag,
gint64 * value);
*
* Since: 0.10.15
*/
-/* FIXME 0.11: change to "artist-sortname" */
-#define GST_TAG_ARTIST_SORTNAME "musicbrainz-sortname"
+#define GST_TAG_ARTIST_SORTNAME "artist-sortname"
/**
* GST_TAG_ALBUM:
*