renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter inlined docs for gsttra...
authorStefan Kost <ensonic@users.sourceforge.net>
Wed, 7 Sep 2005 13:22:16 +0000 (13:22 +0000)
committerStefan Kost <ensonic@users.sourceforge.net>
Wed, 7 Sep 2005 13:22:16 +0000 (13:22 +0000)
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/tmpl/.cvsignore:
* docs/gst/tmpl/gsttrace.sgml:
* docs/gst/tmpl/gsttrashstack.sgml:
* gst/Makefile.am:
* gst/gst.h:
* gst/gstelement.h:
* gst/gstevent.h:
* gst/gstmessage.c:
* gst/gstmessage.h:
* gst/gsttag.c:
* gst/gsttag.h:
* gst/gsttaginterface.c:
* gst/gsttaginterface.h:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
* gst/gsttagsetter.c:
* gst/gsttagsetter.h:
* gst/gsttrace.c:
* gst/gsttrace.h:
* gst/gsttrashstack.c:
renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
inlined docs for gsttrace, gsttrashstack

22 files changed:
ChangeLog
docs/gst/gstreamer-docs.sgml
docs/gst/tmpl/.gitignore
docs/gst/tmpl/gsttrace.sgml [deleted file]
docs/gst/tmpl/gsttrashstack.sgml [deleted file]
gst/Makefile.am
gst/gst.h
gst/gstelement.h
gst/gstevent.h
gst/gstmessage.c
gst/gstmessage.h
gst/gsttag.c [deleted file]
gst/gsttag.h [deleted file]
gst/gsttaginterface.c [deleted file]
gst/gsttaginterface.h [deleted file]
gst/gsttaglist.c
gst/gsttaglist.h
gst/gsttagsetter.c
gst/gsttagsetter.h
gst/gsttrace.c
gst/gsttrace.h
gst/gsttrashstack.c

index 83a90ca..0f5687f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
 
+       * docs/gst/gstreamer-docs.sgml:
+       * docs/gst/tmpl/.cvsignore:
+       * docs/gst/tmpl/gsttrace.sgml:
+       * docs/gst/tmpl/gsttrashstack.sgml:
+       * gst/Makefile.am:
+       * gst/gst.h:
+       * gst/gstelement.h:
+       * gst/gstevent.h:
+       * gst/gstmessage.c:
+       * gst/gstmessage.h:
+       * gst/gsttag.c:
+       * gst/gsttag.h:
+       * gst/gsttaginterface.c:
+       * gst/gsttaginterface.h:
+       * gst/gsttaglist.c:
+       * gst/gsttaglist.h:
+       * gst/gsttagsetter.c:
+       * gst/gsttagsetter.h:
+       * gst/gsttrace.c:
+       * gst/gsttrace.h:
+       * gst/gsttrashstack.c:
+          renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
+          inlined docs for gsttrace, gsttrashstack
+
+2005-09-07  Stefan Kost  <ensonic@users.sf.net>
+
        * gst/Makefile.am:
        * gst/elements/gstbufferstore.h:
        * gst/elements/gsttypefindelement.c:
index 2154dc6..e84fe9f 100644 (file)
     &GstMacros;
     &GstMemChunk;
     &GstTrace;
+    &GstTrashStack;
 
   </chapter>
 
   </chapter>
 
   <chapter id="gstreamer-base">
-    <title>GStreamer Base Classes</title>
+    <title>GStreamer Base and Utillity Classes</title>
     <para>
       libgstbase-&GST_MAJORMINOR;.so provides some base classes to be extended
-      by elements.
+      by elements and utillity classes that are most useful for plugin developers.
     </para>
 
-    &GstAdapter;
     &GstBaseSrc;
     &GstBaseSink;
     &GstBaseTransform;
-    &GstCollectPads;
     &GstPushSrc;
 
+    &GstAdapter;
+    &GstCollectPads;
+
   </chapter>
 
 
index 500d16b..037375c 100644 (file)
@@ -44,6 +44,8 @@ gstsystemclock.sgml
 gsttaglist.sgml
 gsttagsetter.sgml
 gsttask.sgml
+gsttrace.sgml
+gsttrashstack.sgml
 gsttypefind.sgml
 gsttypefindfactory.sgml
 gsturihandler.sgml
diff --git a/docs/gst/tmpl/gsttrace.sgml b/docs/gst/tmpl/gsttrace.sgml
deleted file mode 100644 (file)
index 0f69f42..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-GstTrace
-
-<!-- ##### SECTION Short_Description ##### -->
-Tracing functionality
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Tracing functionality
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GstTrace ##### -->
-<para>
-
-</para>
-
-@filename: 
-@fd: 
-@buf: 
-@bufsize: 
-@bufoffset: 
-
-<!-- ##### STRUCT GstTraceEntry ##### -->
-<para>
-
-</para>
-
-@timestamp: 
-@sequence: 
-@data: 
-@message: 
-
-<!-- ##### FUNCTION gst_trace_new ##### -->
-<para>
-
-</para>
-
-@filename: 
-@size: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gst_trace_destroy ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### FUNCTION gst_trace_flush ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### FUNCTION gst_trace_text_flush ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### MACRO gst_trace_get_size ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### MACRO gst_trace_get_offset ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### MACRO gst_trace_get_remaining ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### FUNCTION gst_trace_set_default ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### FUNCTION gst_trace_read_tsc ##### -->
-<para>
-
-</para>
-
-@dst: 
-
-
-<!-- ##### ENUM GstAllocTraceFlags ##### -->
-<para>
-Flags indicating which tracing feature to enable.
-</para>
-
-@GST_ALLOC_TRACE_LIVE: Trace number of non-freed memory
-@GST_ALLOC_TRACE_MEM_LIVE: trace pointers of unfreed memory
-
-<!-- ##### STRUCT GstAllocTrace ##### -->
-<para>
-The main tracing object
-</para>
-
-@name: The name of the tracing object
-@flags: Flags for this object
-@live: counter for live memory
-@mem_live: list with pointers to unfreed memory
-
-<!-- ##### FUNCTION gst_alloc_trace_available ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gst_alloc_trace_list ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gst_alloc_trace_live_all ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gst_alloc_trace_print_all ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gst_alloc_trace_set_flags_all ##### -->
-<para>
-
-</para>
-
-@flags: 
-
-
-<!-- ##### FUNCTION gst_alloc_trace_get ##### -->
-<para>
-
-</para>
-
-@name: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gst_alloc_trace_print ##### -->
-<para>
-
-</para>
-
-@trace: 
-
-
-<!-- ##### FUNCTION gst_alloc_trace_print_live ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gst_alloc_trace_set_flags ##### -->
-<para>
-
-</para>
-
-@trace: 
-@flags: 
-
-
-<!-- ##### MACRO gst_alloc_trace_register ##### -->
-<para>
-Register a new alloc tracer with the given name
-</para>
-
-@name: The name of the tracer object
-
-
-<!-- ##### MACRO gst_alloc_trace_new ##### -->
-<para>
-Use the tracer to trace a new memory allocation
-</para>
-
-@trace: The tracer to use
-@mem: The memory allocated
-
-
-<!-- ##### MACRO gst_alloc_trace_free ##### -->
-<para>
-Trace a memory free operation
-</para>
-
-@trace: The tracer to use
-@mem: The memory that is freed
-
-
-<!-- ##### MACRO gst_trace_add_entry ##### -->
-<para>
-
-</para>
-
-@trace: 
-@seq: 
-@data: 
-@msg: 
-
-
diff --git a/docs/gst/tmpl/gsttrashstack.sgml b/docs/gst/tmpl/gsttrashstack.sgml
deleted file mode 100644 (file)
index 27eeeeb..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-gsttrashstack
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GstTrashStack ##### -->
-<para>
-
-</para>
-
-@head: 
-@count: 
-@lock: 
-
-<!-- ##### STRUCT GstTrashStackElement ##### -->
-<para>
-
-</para>
-
-@next: 
-
-<!-- ##### TYPEDEF gst_vgpointer ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF gst_vgulong ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO SMP_LOCK ##### -->
-<para>
-
-</para>
-
-
-
index b4c1d48..b71b32b 100644 (file)
@@ -109,8 +109,8 @@ libgstreamer_@GST_MAJORMINOR@_la_SOURCES = \
        gstqueue.c              \
        gststructure.c          \
        gstsystemclock.c        \
-       gsttag.c                \
-       gsttaginterface.c       \
+       gsttaglist.c            \
+       gsttagsetter.c  \
        gsttask.c               \
        $(GST_TRACE_SRC)        \
        gsttrashstack.c         \
@@ -186,8 +186,8 @@ gst_headers =                       \
        gstqueue.h              \
        gststructure.h          \
        gstsystemclock.h        \
-       gsttag.h                \
-       gsttaginterface.h       \
+       gsttaglist.h            \
+       gsttagsetter.h  \
        gsttask.h               \
        gsttrace.h              \
        gsttrashstack.h         \
index 715291d..1d0eb47 100644 (file)
--- a/gst/gst.h
+++ b/gst/gst.h
@@ -53,8 +53,8 @@
 #include <gst/gstqueryutils.h>
 #include <gst/gststructure.h>
 #include <gst/gstsystemclock.h>
-#include <gst/gsttag.h>
-#include <gst/gsttaginterface.h>
+#include <gst/gsttaglist.h>
+#include <gst/gsttagsetter.h>
 #include <gst/gsttask.h>
 #include <gst/gsttrace.h>
 #include <gst/gsttypefind.h>
index e6c7dfa..22f9794 100644 (file)
@@ -50,7 +50,7 @@ typedef enum {
 #include <gst/gstindex.h>
 #include <gst/gstiterator.h>
 #include <gst/gstmessage.h>
-#include <gst/gsttag.h>
+#include <gst/gsttaglist.h>
 
 G_BEGIN_DECLS
 
index 5c99ce2..d235266 100644 (file)
@@ -30,7 +30,7 @@
 #include <gst/gstobject.h>
 #include <gst/gstclock.h>
 #include <gst/gststructure.h>
-#include <gst/gsttag.h>
+#include <gst/gsttaglist.h>
 
 G_BEGIN_DECLS
 
index 86c6179..29a267d 100644 (file)
@@ -39,7 +39,7 @@
 #include "gstinfo.h"
 #include "gstmemchunk.h"
 #include "gstmessage.h"
-#include "gsttag.h"
+#include "gsttaglist.h"
 #include "gstutils.h"
 
 
index ac6ebbc..6325a5e 100644 (file)
@@ -71,7 +71,7 @@ typedef enum
 #include <gst/gstminiobject.h>
 #include <gst/gstobject.h>
 #include <gst/gstelement.h>
-#include <gst/gsttag.h>
+#include <gst/gsttaglist.h>
 #include <gst/gststructure.h>
 
 #define GST_MESSAGE_TRACE_NAME "GstMessage"
diff --git a/gst/gsttag.c b/gst/gsttag.c
deleted file mode 100644 (file)
index 3e54176..0000000
+++ /dev/null
@@ -1,949 +0,0 @@
-/* GStreamer
- * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
- *
- * gsttag.c: tag support (aka metadata)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * 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.
- */
-/**
- * SECTION:gsttaglist
- * @short_description: List of tags and values used to describe media metadata
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include "gst_private.h"
-#include "gst-i18n-lib.h"
-#include "gsttag.h"
-#include "gstinfo.h"
-#include "gstvalue.h"
-
-#include <gobject/gvaluecollector.h>
-#include <string.h>
-
-#define GST_TAG_IS_VALID(tag)          (gst_tag_get_info (tag) != NULL)
-
-typedef struct
-{
-  GType type;                   /* type the data is in */
-
-  gchar *nick;                  /* translated name */
-  gchar *blurb;                 /* translated description of type */
-
-  GstTagMergeFunc merge_func;   /* functions to merge the values */
-  GstTagFlag flag;              /* type of tag */
-}
-GstTagInfo;
-
-#define TAGLIST "taglist"
-static GQuark gst_tag_list_quark;
-static GMutex *__tag_mutex;
-static GHashTable *__tags;
-
-#define TAG_LOCK g_mutex_lock (__tag_mutex)
-#define TAG_UNLOCK g_mutex_unlock (__tag_mutex)
-
-GType
-gst_tag_list_get_type (void)
-{
-  static GType _gst_tag_list_type;
-
-  if (_gst_tag_list_type == 0) {
-    _gst_tag_list_type = g_boxed_type_register_static ("GstTagList",
-        (GBoxedCopyFunc) gst_tag_list_copy, (GBoxedFreeFunc) gst_tag_list_free);
-
-#if 0
-    g_value_register_transform_func (_gst_tag_list_type, G_TYPE_STRING,
-        _gst_structure_transform_to_string);
-#endif
-  }
-
-  return _gst_tag_list_type;
-}
-
-void
-_gst_tag_initialize (void)
-{
-  gst_tag_list_quark = g_quark_from_static_string (TAGLIST);
-  __tag_mutex = g_mutex_new ();
-  __tags = g_hash_table_new (g_direct_hash, g_direct_equal);
-  gst_tag_register (GST_TAG_TITLE, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("title"), _("commonly used title"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_ARTIST, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("artist"),
-      _("person(s) responsible for the recording"),
-      gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_ALBUM, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("album"),
-      _("album containing this data"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_DATE, GST_TAG_FLAG_META, G_TYPE_UINT,       /* FIXME: own data type for dates? */
-      _("date"),
-      _("date the data was created (in Julian calendar days)"), NULL);
-  gst_tag_register (GST_TAG_GENRE, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("genre"),
-      _("genre this data belongs to"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_COMMENT, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("comment"),
-      _("free text commenting the data"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_TRACK_NUMBER, GST_TAG_FLAG_META,
-      G_TYPE_UINT,
-      _("track number"),
-      _("track number inside a collection"), gst_tag_merge_use_first);
-  gst_tag_register (GST_TAG_TRACK_COUNT, GST_TAG_FLAG_META,
-      G_TYPE_UINT,
-      _("track count"),
-      _("count of tracks inside collection this track belongs to"),
-      gst_tag_merge_use_first);
-  gst_tag_register (GST_TAG_ALBUM_VOLUME_NUMBER, GST_TAG_FLAG_META,
-      G_TYPE_UINT,
-      _("disc number"),
-      _("disc number inside a collection"), gst_tag_merge_use_first);
-  gst_tag_register (GST_TAG_ALBUM_VOLUME_COUNT, GST_TAG_FLAG_META,
-      G_TYPE_UINT,
-      _("disc count"),
-      _("count of discs inside collection this disc belongs to"),
-      gst_tag_merge_use_first);
-  gst_tag_register (GST_TAG_LOCATION, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("location"),
-      _("original location of file as a URI"),
-      gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_DESCRIPTION, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("description"),
-      _("short text describing the content of the data"),
-      gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_VERSION, GST_TAG_FLAG_META,
-      G_TYPE_STRING, _("version"), _("version of this data"), NULL);
-  gst_tag_register (GST_TAG_ISRC, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("ISRC"),
-      _
-      ("International Standard Recording Code - see http://www.ifpi.org/isrc/"),
-      NULL);
-  gst_tag_register (GST_TAG_ORGANIZATION, GST_TAG_FLAG_META, G_TYPE_STRING, _("organization"), _("organization"),       /* FIXME */
-      gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_COPYRIGHT, GST_TAG_FLAG_META,
-      G_TYPE_STRING, _("copyright"), _("copyright notice of the data"), NULL);
-  gst_tag_register (GST_TAG_CONTACT, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("contact"), _("contact information"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_LICENSE, GST_TAG_FLAG_META,
-      G_TYPE_STRING, _("license"), _("license of data"), NULL);
-  gst_tag_register (GST_TAG_PERFORMER, GST_TAG_FLAG_META,
-      G_TYPE_STRING,
-      _("performer"),
-      _("person(s) performing"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_DURATION, GST_TAG_FLAG_DECODED,
-      G_TYPE_UINT64,
-      _("duration"), _("length in GStreamer time units (nanoseconds)"), NULL);
-  gst_tag_register (GST_TAG_CODEC, GST_TAG_FLAG_ENCODED,
-      G_TYPE_STRING,
-      _("codec"),
-      _("codec the data is stored in"), gst_tag_merge_strings_with_comma);
-  gst_tag_register (GST_TAG_VIDEO_CODEC, GST_TAG_FLAG_ENCODED,
-      G_TYPE_STRING,
-      _("video codec"), _("codec the video data is stored in"), NULL);
-  gst_tag_register (GST_TAG_AUDIO_CODEC, GST_TAG_FLAG_ENCODED,
-      G_TYPE_STRING,
-      _("audio codec"), _("codec the audio data is stored in"), NULL);
-  gst_tag_register (GST_TAG_BITRATE, GST_TAG_FLAG_ENCODED,
-      G_TYPE_UINT, _("bitrate"), _("exact or average bitrate in bits/s"), NULL);
-  gst_tag_register (GST_TAG_NOMINAL_BITRATE, GST_TAG_FLAG_ENCODED,
-      G_TYPE_UINT, _("nominal bitrate"), _("nominal bitrate in bits/s"), NULL);
-  gst_tag_register (GST_TAG_MINIMUM_BITRATE, GST_TAG_FLAG_ENCODED,
-      G_TYPE_UINT, _("minimum bitrate"), _("minimum bitrate in bits/s"), NULL);
-  gst_tag_register (GST_TAG_MAXIMUM_BITRATE, GST_TAG_FLAG_ENCODED,
-      G_TYPE_UINT, _("maximum bitrate"), _("maximum bitrate in bits/s"), NULL);
-  gst_tag_register (GST_TAG_ENCODER, GST_TAG_FLAG_ENCODED,
-      G_TYPE_STRING,
-      _("encoder"), _("encoder used to encode this stream"), NULL);
-  gst_tag_register (GST_TAG_ENCODER_VERSION, GST_TAG_FLAG_ENCODED,
-      G_TYPE_UINT,
-      _("encoder version"),
-      _("version of the encoder used to encode this stream"), NULL);
-  gst_tag_register (GST_TAG_SERIAL, GST_TAG_FLAG_ENCODED,
-      G_TYPE_UINT, _("serial"), _("serial number of track"), NULL);
-  gst_tag_register (GST_TAG_TRACK_GAIN, GST_TAG_FLAG_META,
-      G_TYPE_DOUBLE, _("replaygain track gain"), _("track gain in db"), NULL);
-  gst_tag_register (GST_TAG_TRACK_PEAK, GST_TAG_FLAG_META,
-      G_TYPE_DOUBLE, _("replaygain track peak"), _("peak of the track"), NULL);
-  gst_tag_register (GST_TAG_ALBUM_GAIN, GST_TAG_FLAG_META,
-      G_TYPE_DOUBLE, _("replaygain album gain"), _("album gain in db"), NULL);
-  gst_tag_register (GST_TAG_ALBUM_PEAK, GST_TAG_FLAG_META,
-      G_TYPE_DOUBLE, _("replaygain album peak"), _("peak of the album"), NULL);
-  gst_tag_register (GST_TAG_LANGUAGE_CODE, GST_TAG_FLAG_META, G_TYPE_STRING,
-      _("language code"),
-      _("language code for this stream, conforming to ISO-639-1"), NULL);
-}
-
-/**
- * gst_tag_merge_use_first:
- * @dest: uninitialized GValue to store result in
- * @src: GValue to copy from
- *
- * This is a convenience function for the func argument of gst_tag_register().
- * It creates a copy of the first value from the list.
- */
-void
-gst_tag_merge_use_first (GValue * dest, const GValue * src)
-{
-  const GValue *ret = gst_value_list_get_value (src, 0);
-
-  g_value_init (dest, G_VALUE_TYPE (ret));
-  g_value_copy (ret, dest);
-}
-
-/**
- * gst_tag_merge_strings_with_comma:
- * @dest: uninitialized GValue to store result in
- * @src: GValue to copy from
- *
- * This is a convenience function for the func argument of gst_tag_register().
- * It concatenates all given strings using a comma. The tag must be registered
- * as a G_TYPE_STRING or this function will fail.
- */
-void
-gst_tag_merge_strings_with_comma (GValue * dest, const GValue * src)
-{
-  GString *str;
-  gint i, count;
-
-  count = gst_value_list_get_size (src);
-  str = g_string_new (g_value_get_string (gst_value_list_get_value (src, 0)));
-  for (i = 1; i < count; i++) {
-    /* seperator between two string */
-    str = g_string_append (str, _(", "));
-    str =
-        g_string_append (str, g_value_get_string (gst_value_list_get_value (src,
-                1)));
-  }
-
-  g_value_init (dest, G_TYPE_STRING);
-  g_value_set_string_take_ownership (dest, str->str);
-  g_string_free (str, FALSE);
-}
-static GstTagInfo *
-gst_tag_lookup (GQuark entry)
-{
-  GstTagInfo *ret;
-
-  TAG_LOCK;
-  ret = g_hash_table_lookup (__tags, GUINT_TO_POINTER (entry));
-  TAG_UNLOCK;
-
-  return ret;
-}
-
-/**
- * gst_tag_register:
- * @name: the name or identifier string
- * @flag: a flag describing the type of tag info
- * @type: the type this data is in
- * @nick: human-readable name
- * @blurb: a human-readable description about this tag
- * @func: function for merging multiple values of this tag
- *
- * Registers a new tag type for the use with GStreamer's type system. If a type
- * with that name is already registered, that one is used.
- * The old registration may have used a different type however. So don't rely
- * on your supplied values.
- * This function takes ownership of all supplied variables.
- */
-void
-gst_tag_register (const gchar * name, GstTagFlag flag, GType type,
-    const gchar * nick, const gchar * blurb, GstTagMergeFunc func)
-{
-  GQuark key;
-  GstTagInfo *info;
-
-  g_return_if_fail (name != NULL);
-  g_return_if_fail (nick != NULL);
-  g_return_if_fail (blurb != NULL);
-  g_return_if_fail (type != 0 && type != GST_TYPE_LIST);
-
-  key = g_quark_from_string (name);
-  info = gst_tag_lookup (key);
-
-  if (info) {
-    g_return_if_fail (info->type == type);
-    return;
-  }
-
-  info = g_new (GstTagInfo, 1);
-  info->flag = flag;
-  info->type = type;
-  info->nick = g_strdup (nick);
-  info->blurb = g_strdup (blurb);
-  info->merge_func = func;
-
-  TAG_LOCK;
-  g_hash_table_insert (__tags, GUINT_TO_POINTER (key), info);
-  TAG_UNLOCK;
-}
-
-/**
- * gst_tag_exists:
- * @tag: name of the tag
- *
- * Checks if the given type is already registered.
- *
- * Returns: TRUE if the type is already registered
- */
-gboolean
-gst_tag_exists (const gchar * tag)
-{
-  g_return_val_if_fail (tag != NULL, FALSE);
-
-  return gst_tag_lookup (g_quark_from_string (tag)) != NULL;
-}
-
-/**
- * gst_tag_get_type:
- * @tag: the tag
- *
- * Gets the #GType used for this tag.
- *
- * Returns: the #GType of this tag
- */
-GType
-gst_tag_get_type (const gchar * tag)
-{
-  GstTagInfo *info;
-
-  g_return_val_if_fail (tag != NULL, 0);
-  info = gst_tag_lookup (g_quark_from_string (tag));
-  g_return_val_if_fail (info != NULL, 0);
-
-  return info->type;
-}
-
-/**
- * gst_tag_get_nick
- * @tag: the tag
- *
- * Returns the human-readable name of this tag, You must not change or free
- * this string.
- *
- * Returns: the human-readable name of this tag
- */
-const gchar *
-gst_tag_get_nick (const gchar * tag)
-{
-  GstTagInfo *info;
-
-  g_return_val_if_fail (tag != NULL, NULL);
-  info = gst_tag_lookup (g_quark_from_string (tag));
-  g_return_val_if_fail (info != NULL, NULL);
-
-  return info->nick;
-}
-
-/**
- * gst_tag_get_description:
- * @tag: the tag
- *
- * Returns the human-readable description of this tag, You must not change or
- * free this string.
- *
- * Returns: the human-readable description of this tag
- */
-const gchar *
-gst_tag_get_description (const gchar * tag)
-{
-  GstTagInfo *info;
-
-  g_return_val_if_fail (tag != NULL, NULL);
-  info = gst_tag_lookup (g_quark_from_string (tag));
-  g_return_val_if_fail (info != NULL, NULL);
-
-  return info->blurb;
-}
-
-/**
- * gst_tag_get_flag:
- * @tag: the tag
- *
- * Gets the flag of @tag.
- *
- * Returns the flag of this tag.
- */
-GstTagFlag
-gst_tag_get_flag (const gchar * tag)
-{
-  GstTagInfo *info;
-
-  g_return_val_if_fail (tag != NULL, GST_TAG_FLAG_UNDEFINED);
-  info = gst_tag_lookup (g_quark_from_string (tag));
-  g_return_val_if_fail (info != NULL, GST_TAG_FLAG_UNDEFINED);
-
-  return info->flag;
-}
-
-/**
- * gst_tag_is_fixed:
- * @tag: tag to check
- *
- * Checks if the given tag is fixed. A fixed tag can only contain one value.
- * Unfixed tags can contain lists of values.
- *
- * Returns: TRUE, if the given tag is fixed.
- */
-gboolean
-gst_tag_is_fixed (const gchar * tag)
-{
-  GstTagInfo *info;
-
-  g_return_val_if_fail (tag != NULL, FALSE);
-  info = gst_tag_lookup (g_quark_from_string (tag));
-  g_return_val_if_fail (info != NULL, FALSE);
-
-  return info->merge_func == NULL;
-}
-
-/**
- * gst_tag_list_new:
- *
- * Creates a new empty GstTagList.
- *
- * Returns: An empty tag list
- */
-GstTagList *
-gst_tag_list_new (void)
-{
-  return GST_TAG_LIST (gst_structure_new (TAGLIST, NULL));
-}
-
-/**
- * gst_is_tag_list:
- * @p: Object that might be a taglist
- *
- * Checks if the given pointer is a taglist.
- *
- * Returns: TRUE, if the given pointer is a taglist
- */
-gboolean
-gst_is_tag_list (gconstpointer p)
-{
-  g_return_val_if_fail (p != NULL, FALSE);
-
-  return ((GstStructure *) p)->name == gst_tag_list_quark;
-}
-typedef struct
-{
-  GstStructure *list;
-  GstTagMergeMode mode;
-}
-GstTagCopyData;
-static void
-gst_tag_list_add_value_internal (GstStructure * list, GstTagMergeMode mode,
-    GQuark tag, const GValue * value)
-{
-  GstTagInfo *info = gst_tag_lookup (tag);
-  const GValue *value2;
-
-  g_assert (info != NULL);
-
-  if (info->merge_func
-      && (value2 = gst_structure_id_get_value (list, tag)) != NULL) {
-    GValue dest = { 0, };
-
-    switch (mode) {
-      case GST_TAG_MERGE_REPLACE_ALL:
-      case GST_TAG_MERGE_REPLACE:
-        gst_structure_id_set_value (list, tag, value);
-        break;
-      case GST_TAG_MERGE_PREPEND:
-        gst_value_list_concat (&dest, value, value2);
-        gst_structure_id_set_value (list, tag, &dest);
-        g_value_unset (&dest);
-        break;
-      case GST_TAG_MERGE_APPEND:
-        gst_value_list_concat (&dest, value2, value);
-        gst_structure_id_set_value (list, tag, &dest);
-        g_value_unset (&dest);
-        break;
-      case GST_TAG_MERGE_KEEP:
-      case GST_TAG_MERGE_KEEP_ALL:
-        break;
-      default:
-        g_assert_not_reached ();
-        break;
-    }
-  } else {
-    switch (mode) {
-      case GST_TAG_MERGE_APPEND:
-      case GST_TAG_MERGE_KEEP:
-        if (gst_structure_id_get_value (list, tag) != NULL)
-          break;
-        /* fall through */
-      case GST_TAG_MERGE_REPLACE_ALL:
-      case GST_TAG_MERGE_REPLACE:
-      case GST_TAG_MERGE_PREPEND:
-        gst_structure_id_set_value (list, tag, value);
-        break;
-      case GST_TAG_MERGE_KEEP_ALL:
-        break;
-      default:
-        g_assert_not_reached ();
-        break;
-    }
-  }
-}
-static gboolean
-gst_tag_list_copy_foreach (GQuark tag, const GValue * value, gpointer user_data)
-{
-  GstTagCopyData *copy = (GstTagCopyData *) user_data;
-
-  gst_tag_list_add_value_internal (copy->list, copy->mode, tag, value);
-
-  return TRUE;
-}
-
-/**
- * gst_tag_list_insert:
- * @into: list to merge into
- * @from: list to merge from
- * @mode: the mode to use
- *
- * Inserts the tags of the second list into the first list using the given mode.
- */
-void
-gst_tag_list_insert (GstTagList * into, const GstTagList * from,
-    GstTagMergeMode mode)
-{
-  GstTagCopyData data;
-
-  g_return_if_fail (GST_IS_TAG_LIST (into));
-  g_return_if_fail (GST_IS_TAG_LIST (from));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  data.list = (GstStructure *) into;
-  data.mode = mode;
-  if (mode == GST_TAG_MERGE_REPLACE_ALL) {
-    gst_structure_remove_all_fields (data.list);
-  }
-  gst_structure_foreach ((GstStructure *) from, gst_tag_list_copy_foreach,
-      &data);
-}
-
-/**
- * gst_tag_list_copy:
- * @list: list to copy
- *
- * Copies a given #GstTagList.
- *
- * Returns: copy of the given list
- */
-GstTagList *
-gst_tag_list_copy (const GstTagList * list)
-{
-  g_return_val_if_fail (GST_IS_TAG_LIST (list), NULL);
-
-  return GST_TAG_LIST (gst_structure_copy ((GstStructure *) list));
-}
-
-/**
- * gst_tag_list_merge:
- * @list1: first list to merge
- * @list2: second list to merge
- * @mode: the mode to use
- * 
- * Merges the two given lists into a new list. If one of the lists is NULL, a
- * copy of the other is returned. If both lists are NULL, NULL is returned.
- *
- * Returns: the new list
- */
-GstTagList *
-gst_tag_list_merge (const GstTagList * list1, const GstTagList * list2,
-    GstTagMergeMode mode)
-{
-  g_return_val_if_fail (list1 == NULL || GST_IS_TAG_LIST (list1), NULL);
-  g_return_val_if_fail (list2 == NULL || GST_IS_TAG_LIST (list2), NULL);
-  g_return_val_if_fail (GST_TAG_MODE_IS_VALID (mode), NULL);
-
-  if (!list1 && !list2) {
-    return NULL;
-  } else if (!list1) {
-    return gst_tag_list_copy (list2);
-  } else if (!list2) {
-    return gst_tag_list_copy (list1);
-  } else {
-    GstTagList *ret;
-
-    ret = gst_tag_list_copy (list1);
-    gst_tag_list_insert (ret, list2, mode);
-    return ret;
-  }
-}
-
-/**
- * gst_tag_list_free:
- * @list: the list to free
- *
- * Frees the given list and all associated values.
- */
-void
-gst_tag_list_free (GstTagList * list)
-{
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  gst_structure_free ((GstStructure *) list);
-}
-
-/**
- * gst_tag_list_get_tag_size:
- * @list: a taglist
- * @tag: the tag to query
- *
- * Checks how many value are stored in this tag list for the given tag.
- *
- * Returns: The number of tags stored
- */
-guint
-gst_tag_list_get_tag_size (const GstTagList * list, const gchar * tag)
-{
-  const GValue *value;
-
-  g_return_val_if_fail (GST_IS_TAG_LIST (list), 0);
-
-  value = gst_structure_get_value ((GstStructure *) list, tag);
-  if (value == NULL)
-    return 0;
-  if (G_VALUE_TYPE (value) != GST_TYPE_LIST)
-    return 1;
-
-  return gst_value_list_get_size (value);
-}
-
-/**
- * gst_tag_list_add:
- * @list: list to set tags in
- * @mode: the mode to use
- * @tag: tag
- * @...: NULL-terminated list of values to set
- *
- * Sets the values for the given tags using the specified mode.
- */
-void
-gst_tag_list_add (GstTagList * list, GstTagMergeMode mode, const gchar * tag,
-    ...)
-{
-  va_list args;
-
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-  g_return_if_fail (tag != NULL);
-
-  va_start (args, tag);
-  gst_tag_list_add_valist (list, mode, tag, args);
-  va_end (args);
-}
-
-/**
- * gst_tag_list_add_values:
- * @list: list to set tags in
- * @mode: the mode to use
- * @tag: tag
- * @...: GValues to set
- *
- * Sets the GValues for the given tags using the specified mode.
- */
-void
-gst_tag_list_add_values (GstTagList * list, GstTagMergeMode mode,
-    const gchar * tag, ...)
-{
-  va_list args;
-
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-  g_return_if_fail (tag != NULL);
-
-  va_start (args, tag);
-  gst_tag_list_add_valist_values (list, mode, tag, args);
-  va_end (args);
-}
-
-/**
- * gst_tag_list_add_valist:
- * @list: list to set tags in
- * @mode: the mode to use
- * @tag: tag
- * @var_args: tag / value pairs to set
- *
- * Sets the values for the given tags using the specified mode.
- */
-void
-gst_tag_list_add_valist (GstTagList * list, GstTagMergeMode mode,
-    const gchar * tag, va_list var_args)
-{
-  GstTagInfo *info;
-  GQuark quark;
-  gchar *error = NULL;
-
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-  g_return_if_fail (tag != NULL);
-
-  while (tag != NULL) {
-    GValue value = { 0, };
-
-    quark = g_quark_from_string (tag);
-    info = gst_tag_lookup (quark);
-    if (info == NULL)
-      g_warning ("no GstTag for %s", tag);
-    g_return_if_fail (info != NULL);
-    g_value_init (&value, info->type);
-    G_VALUE_COLLECT (&value, var_args, 0, &error);
-    if (error) {
-      g_warning ("%s: %s", G_STRLOC, error);
-      g_free (error);
-      /* we purposely leak the value here, it might not be
-       * in a sane state if an error condition occoured
-       */
-      return;
-    }
-    gst_tag_list_add_value_internal (list, mode, quark, &value);
-    g_value_unset (&value);
-    tag = va_arg (var_args, gchar *);
-  }
-}
-
-/**
- * gst_tag_list_add_valist_values:
- * @list: list to set tags in
- * @mode: the mode to use
- * @tag: tag
- * @var_args: tag / GValue pairs to set
- *
- * Sets the GValues for the given tags using the specified mode.
- */
-void
-gst_tag_list_add_valist_values (GstTagList * list, GstTagMergeMode mode,
-    const gchar * tag, va_list var_args)
-{
-  GstTagInfo *info;
-  GQuark quark;
-
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-  g_return_if_fail (tag != NULL);
-
-  while (tag != NULL) {
-    quark = g_quark_from_string (tag);
-    info = gst_tag_lookup (quark);
-    g_return_if_fail (info != NULL);
-    gst_tag_list_add_value_internal (list, mode, quark, va_arg (var_args,
-            GValue *));
-    tag = va_arg (var_args, gchar *);
-  }
-}
-
-/**
- * gst_tag_list_remove_tag:
- * @list: list to remove tag from
- * @tag: tag to remove
- *
- * Removes the goven tag from the taglist.
- */
-void
-gst_tag_list_remove_tag (GstTagList * list, const gchar * tag)
-{
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  g_return_if_fail (tag != NULL);
-
-  gst_structure_remove_field ((GstStructure *) list, tag);
-}
-typedef struct
-{
-  GstTagForeachFunc func;
-  GstTagList *tag_list;
-  gpointer data;
-}
-TagForeachData;
-static int
-structure_foreach_wrapper (GQuark field_id, const GValue * value,
-    gpointer user_data)
-{
-  TagForeachData *data = (TagForeachData *) user_data;
-
-  data->func (data->tag_list, g_quark_to_string (field_id), data->data);
-  return TRUE;
-}
-
-/**
- * gst_tag_list_foreach:
- * @list: list to iterate over
- * @func: function to be called for each tag
- * @user_data: user specified data
- *
- * Calls the given function for each tag inside the tag list. Note that if there
- * is no tag, the function won't be called at all.
- */
-void
-gst_tag_list_foreach (GstTagList * list, GstTagForeachFunc func,
-    gpointer user_data)
-{
-  TagForeachData data;
-
-  g_return_if_fail (GST_IS_TAG_LIST (list));
-  g_return_if_fail (func != NULL);
-
-  data.func = func;
-  data.tag_list = list;
-  data.data = user_data;
-  gst_structure_foreach ((GstStructure *) list, structure_foreach_wrapper,
-      &data);
-}
-
-/**
- * gst_tag_list_get_value_index:
- * @list: a #GStTagList
- * @tag: tag to read out
- * @index: number of entry to read out
- *
- * Gets the value that is at the given index for the given tag in the given
- * list.
- *
- * Returns: The GValue for the specified entry or NULL if the tag wasn't
- *          available or the tag doesn't have as many entries
- */
-G_CONST_RETURN GValue *
-gst_tag_list_get_value_index (const GstTagList * list, const gchar * tag,
-    guint index)
-{
-  const GValue *value;
-
-  g_return_val_if_fail (GST_IS_TAG_LIST (list), NULL);
-  g_return_val_if_fail (tag != NULL, NULL);
-
-  value = gst_structure_get_value ((GstStructure *) list, tag);
-  if (value == NULL)
-    return NULL;
-
-  if (GST_VALUE_HOLDS_LIST (value)) {
-    if (index >= gst_value_list_get_size (value))
-      return NULL;
-    return gst_value_list_get_value (value, index);
-  } else {
-    if (index > 0)
-      return NULL;
-    return value;
-  }
-}
-
-/**
- * gst_tag_list_copy_value:
- * @dest: uninitialized #GValue to copy into
- * @list: list to get the tag from
- * @tag: tag to read out
- *
- * Copies the contents for the given tag into the value,
- * merging multiple values into one if multiple values are associated
- * with the tag.
- * You must g_value_unset() the value after use.
- *
- * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the
- *         given list.
- */
-gboolean
-gst_tag_list_copy_value (GValue * dest, const GstTagList * list,
-    const gchar * tag)
-{
-  const GValue *src;
-
-  g_return_val_if_fail (GST_IS_TAG_LIST (list), FALSE);
-  g_return_val_if_fail (tag != NULL, FALSE);
-  g_return_val_if_fail (dest != NULL, FALSE);
-  g_return_val_if_fail (G_VALUE_TYPE (dest) == 0, FALSE);
-
-  src = gst_structure_get_value ((GstStructure *) list, tag);
-  if (!src)
-    return FALSE;
-
-  if (G_VALUE_TYPE (src) == GST_TYPE_LIST) {
-    GstTagInfo *info = gst_tag_lookup (g_quark_from_string (tag));
-
-    /* must be there or lists aren't allowed */
-    g_assert (info->merge_func);
-    info->merge_func (dest, src);
-  } else {
-    g_value_init (dest, G_VALUE_TYPE (src));
-    g_value_copy (src, dest);
-  }
-  return TRUE;
-}
-
-/***** evil macros to get all the gst_tag_list_get_*() functions right *****/
-
-#define TAG_MERGE_FUNCS(name,type)                                     \
-gboolean                                                               \
-gst_tag_list_get_ ## name (const GstTagList *list, const gchar *tag,   \
-                          type *value)                                 \
-{                                                                      \
-  GValue v = { 0, };                                                   \
-                                                                       \
-  g_return_val_if_fail (GST_IS_TAG_LIST (list), FALSE);                        \
-  g_return_val_if_fail (tag != NULL, FALSE);                           \
-  g_return_val_if_fail (value != NULL, FALSE);                         \
-                                                                       \
-  if (!gst_tag_list_copy_value (&v, list, tag))                                \
-      return FALSE;                                                    \
-  *value = COPY_FUNC (g_value_get_ ## name (&v));                      \
-  g_value_unset (&v);                                                  \
-  return TRUE;                                                         \
-}                                                                      \
-                                                                       \
-gboolean                                                               \
-gst_tag_list_get_ ## name ## _index (const GstTagList *list,           \
-                                    const gchar *tag,                  \
-                                    guint index, type *value)          \
-{                                                                      \
-  const GValue *v;                                                     \
-                                                                       \
-  g_return_val_if_fail (GST_IS_TAG_LIST (list), FALSE);                        \
-  g_return_val_if_fail (tag != NULL, FALSE);                           \
-  g_return_val_if_fail (value != NULL, FALSE);                         \
-                                                                       \
-  if ((v = gst_tag_list_get_value_index (list, tag, index)) == NULL)   \
-      return FALSE;                                                    \
-  *value = COPY_FUNC (g_value_get_ ## name (v));                       \
-  return TRUE;                                                         \
-}
-
-#define COPY_FUNC /**/
-TAG_MERGE_FUNCS (char, gchar)
-TAG_MERGE_FUNCS (uchar, guchar)
-TAG_MERGE_FUNCS (boolean, gboolean)
-TAG_MERGE_FUNCS (int, gint)
-TAG_MERGE_FUNCS (uint, guint)
-TAG_MERGE_FUNCS (long, glong)
-TAG_MERGE_FUNCS (ulong, gulong)
-TAG_MERGE_FUNCS (int64, gint64)
-TAG_MERGE_FUNCS (uint64, guint64)
-TAG_MERGE_FUNCS (float, gfloat)
-TAG_MERGE_FUNCS (double, gdouble)
-TAG_MERGE_FUNCS (pointer, gpointer)
-#undef COPY_FUNC
-#define COPY_FUNC g_strdup
-TAG_MERGE_FUNCS (string, gchar *)
diff --git a/gst/gsttag.h b/gst/gsttag.h
deleted file mode 100644 (file)
index cb5aea6..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-/* GStreamer
- * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
- *
- * gsttag.h: Header for tag support
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * 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.
- */
-
-
-#ifndef __GST_TAG_H__
-#define __GST_TAG_H__
-
-#include <gst/gststructure.h>
-
-G_BEGIN_DECLS
-
-typedef enum {
-  GST_TAG_MERGE_UNDEFINED,
-  GST_TAG_MERGE_REPLACE_ALL,
-  GST_TAG_MERGE_REPLACE,
-  GST_TAG_MERGE_APPEND,
-  GST_TAG_MERGE_PREPEND,
-  GST_TAG_MERGE_KEEP,
-  GST_TAG_MERGE_KEEP_ALL,
-  /* add more */
-  GST_TAG_MERGE_COUNT
-} GstTagMergeMode;
-#define GST_TAG_MODE_IS_VALID(mode)     (((mode) > GST_TAG_MERGE_UNDEFINED) && ((mode) < GST_TAG_MERGE_COUNT))
-
-typedef enum {
-  GST_TAG_FLAG_UNDEFINED,
-  GST_TAG_FLAG_META,
-  GST_TAG_FLAG_ENCODED,
-  GST_TAG_FLAG_DECODED,
-  GST_TAG_FLAG_COUNT
-} GstTagFlag;
-#define GST_TAG_FLAG_IS_VALID(flag)     (((flag) > GST_TAG_FLAG_UNDEFINED) && ((flag) < GST_TAG_FLAG_COUNT))
-
-typedef GstStructure GstTagList;
-#define GST_TAG_LIST(x)                ((GstTagList *) (x))
-#define GST_IS_TAG_LIST(x)     (gst_is_tag_list (GST_TAG_LIST (x)))
-#define GST_TYPE_TAG_LIST       (gst_tag_list_get_type ())
-
-typedef void           (* GstTagForeachFunc)   (const GstTagList *list, const gchar *tag, gpointer user_data);
-typedef void           (* GstTagMergeFunc)     (GValue *dest, const GValue *src);
-
-/* initialize tagging system */
-void           _gst_tag_initialize             (void);
-GType           gst_tag_list_get_type           (void);
-
-void           gst_tag_register                (const gchar *          name,
-                                                GstTagFlag             flag,
-                                                GType                  type,
-                                                const gchar *          nick,
-                                                const gchar *          blurb,
-                                                GstTagMergeFunc        func);
-/* some default merging functions */
-void           gst_tag_merge_use_first         (GValue *               dest,
-                                                const GValue *         src);
-void           gst_tag_merge_strings_with_comma (GValue *              dest,
-                                                const GValue *         src);
-
-/* basic tag support */
-gboolean       gst_tag_exists                  (const gchar *          tag);
-GType          gst_tag_get_type                (const gchar *          tag);
-G_CONST_RETURN gchar *
-               gst_tag_get_nick                (const gchar *          tag);
-G_CONST_RETURN gchar *
-               gst_tag_get_description         (const gchar *          tag);
-GstTagFlag     gst_tag_get_flag                (const gchar *          tag);
-gboolean       gst_tag_is_fixed                (const gchar *          tag);
-
-/* tag lists */
-GstTagList *   gst_tag_list_new                (void);
-gboolean       gst_is_tag_list                 (gconstpointer          p);
-GstTagList *   gst_tag_list_copy               (const GstTagList *     list);
-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);
-void           gst_tag_list_free               (GstTagList *           list);
-guint          gst_tag_list_get_tag_size       (const GstTagList *     list,
-                                                const gchar *          tag);
-void           gst_tag_list_add                (GstTagList *           list,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                ...);
-void           gst_tag_list_add_values         (GstTagList *           list,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                ...);
-void           gst_tag_list_add_valist         (GstTagList *           list,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                va_list                var_args);
-void           gst_tag_list_add_valist_values  (GstTagList *           list,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                va_list                var_args);
-void           gst_tag_list_remove_tag         (GstTagList *           list,
-                                                const gchar *          tag);
-void           gst_tag_list_foreach            (GstTagList *           list,
-                                                GstTagForeachFunc      func,
-                                                gpointer               user_data);
-
-G_CONST_RETURN GValue *
-               gst_tag_list_get_value_index    (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index);
-gboolean       gst_tag_list_copy_value         (GValue *               dest,
-                                                const GstTagList *     list,
-                                                const gchar *          tag);
-
-/* simplifications (FIXME: do we want them?) */
-gboolean       gst_tag_list_get_char           (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gchar *                value);
-gboolean       gst_tag_list_get_char_index     (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gchar *                value);
-gboolean       gst_tag_list_get_uchar          (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guchar *               value);
-gboolean       gst_tag_list_get_uchar_index    (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                guchar *               value);
-gboolean       gst_tag_list_get_boolean        (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gboolean *             value);
-gboolean       gst_tag_list_get_boolean_index  (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gboolean *             value);
-gboolean       gst_tag_list_get_int            (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gint *                 value);
-gboolean       gst_tag_list_get_int_index      (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gint *                 value);
-gboolean       gst_tag_list_get_uint           (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint *                value);
-gboolean       gst_tag_list_get_uint_index     (const GstTagList *     list,
-                                                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);
-gboolean       gst_tag_list_get_int64_index    (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gint64 *               value);
-gboolean       gst_tag_list_get_uint64         (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint64 *              value);
-gboolean       gst_tag_list_get_uint64_index   (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                guint64 *              value);
-gboolean       gst_tag_list_get_float          (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gfloat *               value);
-gboolean       gst_tag_list_get_float_index    (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gfloat *               value);
-gboolean       gst_tag_list_get_double         (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gdouble *              value);
-gboolean       gst_tag_list_get_double_index   (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gdouble *              value);
-gboolean       gst_tag_list_get_string         (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gchar **               value);
-gboolean       gst_tag_list_get_string_index   (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gchar **               value);
-gboolean       gst_tag_list_get_pointer        (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                gpointer *             value);
-gboolean       gst_tag_list_get_pointer_index  (const GstTagList *     list,
-                                                const gchar *          tag,
-                                                guint                  index,
-                                                gpointer *             value);
-
-/* GStreamer core tags (need to be discussed) */
-/**
- * GST_TAG_TITLE:
- *
- * commonly used title
- */
-#define GST_TAG_TITLE                  "title"
-/**
- * GST_TAG_ARTIST:
- *
- * person(s) responsible for the recording
- */
-#define GST_TAG_ARTIST                 "artist"
-/**
- * GST_TAG_ALBUM:
- *
- * album containing this data
- */
-#define GST_TAG_ALBUM                  "album"
-/**
- * GST_TAG_DATE:
- *
- * date the data was created (in Julian calendar days)
- */
-#define GST_TAG_DATE                   "date"
-/**
- * GST_TAG_GENRE:
- *
- * genre this data belongs to
- */
-#define GST_TAG_GENRE                  "genre"
-/**
- * GST_TAG_COMMENT:
- *
- * free text commenting the data
- */
-#define GST_TAG_COMMENT                        "comment"
-/**
- * GST_TAG_TRACK_NUMBER:
- *
- * track number inside a collection
- */
-#define GST_TAG_TRACK_NUMBER           "track-number"
-/**
- * GST_TAG_TRACK_COUNT:
- *
- * count of tracks inside collection this track belongs to
- */
-#define GST_TAG_TRACK_COUNT            "track-count"
-/**
- * GST_TAG_ALBUM_VOLUME_NUMBER:
- *
- * disc number inside a collection
- */
-#define GST_TAG_ALBUM_VOLUME_NUMBER    "album-disc-number"
-/**
- * GST_TAG_ALBUM_VOLUME_COUNT:
- *
- * count of discs inside collection this disc belongs to
- */
-#define GST_TAG_ALBUM_VOLUME_COUNT     "album-disc-count"
-/**
- * GST_TAG_LOCATION:
- *
- * original location of file as a URI
- */
-#define GST_TAG_LOCATION               "location"
-/**
- * GST_TAG_DESCRIPTION:
- *
- * short text describing the content of the data
- */
-#define GST_TAG_DESCRIPTION            "description"
-/**
- * GST_TAG_VERSION:
- *
- * version of this data
- */
-#define GST_TAG_VERSION                        "version"
-/**
- * GST_TAG_ISRC:
- *
- * International Standard Recording Code - see http://www.ifpi.org/isrc/
- */
-#define GST_TAG_ISRC                   "isrc"
-/**
- * GST_TAG_ORGANIZATION:
- *
- * organization
- */
-#define GST_TAG_ORGANIZATION           "organization"
-/**
- * GST_TAG_COPYRIGHT:
- *
- * copyright notice of the data
- */
-#define GST_TAG_COPYRIGHT              "copyright"
-/**
- * GST_TAG_CONTACT:
- *
- * contact information
- */
-#define GST_TAG_CONTACT                        "contact"
-/**
- * GST_TAG_LICENSE:
- *
- * license of data
- */
-#define GST_TAG_LICENSE                        "license"
-/**
- * GST_TAG_PERFORMER:
- *
- * person(s) performing
- */
-#define GST_TAG_PERFORMER              "performer"
-/**
- * GST_TAG_DURATION:
- *
- * length in GStreamer time units (nanoseconds)
- */
-#define GST_TAG_DURATION               "duration"
-/**
- * GST_TAG_CODEC:
- *
- * codec the data is stored in
- */
-#define GST_TAG_CODEC                  "codec"
-/**
- * GST_TAG_VIDEO_CODEC:
- *
- * codec the video data is stored in
- */
-#define GST_TAG_VIDEO_CODEC            "video-codec"
-/**
- * GST_TAG_AUDIO_CODEC:
- *
- * codec the audio data is stored in
- */
-#define GST_TAG_AUDIO_CODEC            "audio-codec"
-/**
- * GST_TAG_BITRATE:
- *
- * exact or average bitrate in bits/s
- */
-#define GST_TAG_BITRATE                        "bitrate"
-/**
- * GST_TAG_NOMINAL_BITRATE:
- *
- * nominal bitrate in bits/s
- */
-#define GST_TAG_NOMINAL_BITRATE                "nominal-bitrate"
-/**
- * GST_TAG_MINIMUM_BITRATE:
- *
- * minimum bitrate in bits/s
- */
-#define GST_TAG_MINIMUM_BITRATE                "minimum-bitrate"
-/**
- * GST_TAG_MAXIMUM_BITRATE:
- *
- * maximum bitrate in bits/s
- */
-#define GST_TAG_MAXIMUM_BITRATE                "maximum-bitrate"
-/**
- * GST_TAG_SERIAL:
- *
- * serial number of track
- */
-#define GST_TAG_SERIAL                 "serial"
-/**
- * GST_TAG_ENCODER:
- *
- * encoder used to encode this stream
- */
-#define GST_TAG_ENCODER                        "encoder"
-/**
- * GST_TAG_ENCODER_VERSION:
- *
- * version of the encoder used to encode this stream
- */
-#define GST_TAG_ENCODER_VERSION                "encoder-version"
-/**
- * GST_TAG_TRACK_GAIN:
- *
- * track gain in db
- */
-#define GST_TAG_TRACK_GAIN             "replaygain-track-gain"
-/**
- * GST_TAG_TRACK_PEAK:
- *
- * peak of the track
- */
-#define GST_TAG_TRACK_PEAK             "replaygain-track-peak"
-/**
- * GST_TAG_ALBUM_GAIN:
- *
- * album gain in db
- */
-#define GST_TAG_ALBUM_GAIN             "replaygain-album-gain"
-/**
- * GST_TAG_ALBUM_PEAK:
- *
- * peak of the album
- */
-#define GST_TAG_ALBUM_PEAK             "replaygain-album-peak"
-/**
- * GST_TAG_LANGUAGE_CODE:
- *
- * Language code (ISO-639-1)
- */
-#define GST_TAG_LANGUAGE_CODE          "language-code"
-
-G_END_DECLS
-
-#endif /* __GST_EVENT_H__ */
diff --git a/gst/gsttaginterface.c b/gst/gsttaginterface.c
deleted file mode 100644 (file)
index 2fae2b8..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/* GStreamer
- * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
- *
- * gsttaginterface.c: interface for tag setting on elements
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * 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.
- */
-/**
- * SECTION:gsttagsetter
- * @short_description: Element interface that allows setting and retrieval of media metadata
- *
- */
-
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include "gst_private.h"
-#include "gsttaginterface.h"
-#include <gobject/gvaluecollector.h>
-#include <string.h>
-
-GST_DEBUG_CATEGORY_STATIC (gst_tag_interface_debug);
-#define GST_CAT_DEFAULT tag_tag_interface_debug
-
-static GQuark gst_tag_key;
-
-typedef struct
-{
-  GstTagMergeMode mode;
-  GstTagList *list;
-}
-GstTagData;
-
-GType
-gst_tag_setter_get_type (void)
-{
-  static GType tag_setter_type = 0;
-
-  if (!tag_setter_type) {
-    static const GTypeInfo tag_setter_info = {
-      sizeof (GstTagSetterIFace),       /* class_size */
-      NULL,                     /* base_init */
-      NULL,                     /* base_finalize */
-      NULL,
-      NULL,                     /* class_finalize */
-      NULL,                     /* class_data */
-      0,
-      0,
-      NULL
-    };
-
-    GST_DEBUG_CATEGORY_INIT (gst_tag_interface_debug, "GstTagInterface", 0,
-        "interfaces for tagging");
-
-    tag_setter_type = g_type_register_static (G_TYPE_INTERFACE, "GstTagSetter",
-        &tag_setter_info, 0);
-
-    g_type_interface_add_prerequisite (tag_setter_type, GST_TYPE_ELEMENT);
-
-    gst_tag_key = g_quark_from_static_string ("GST_TAG_SETTER");
-  }
-
-  return tag_setter_type;
-}
-static void
-gst_tag_data_free (gpointer p)
-{
-  GstTagData *data = (GstTagData *) p;
-
-  if (data->list)
-    gst_tag_list_free (data->list);
-
-  g_free (data);
-}
-static GstTagData *
-gst_tag_setter_get_data (GstTagSetter * setter)
-{
-  GstTagData *data;
-
-  data = g_object_get_qdata (G_OBJECT (setter), gst_tag_key);
-  if (!data) {
-    data = g_new (GstTagData, 1);
-    data->list = NULL;
-    data->mode = GST_TAG_MERGE_KEEP;
-    g_object_set_qdata_full (G_OBJECT (setter), gst_tag_key, data,
-        gst_tag_data_free);
-  }
-
-  return data;
-}
-
-/**
- * gst_tag_setter_merge:
- * @setter: a #GstTagSetter
- * @list: a tag list to merge from
- * @mode: the mode to merge with
- *
- * Merges the given list into the setter's list using the given mode.
- */
-void
-gst_tag_setter_merge (GstTagSetter * setter, const GstTagList * list,
-    GstTagMergeMode mode)
-{
-  GstTagData *data;
-
-  g_return_if_fail (GST_IS_TAG_SETTER (setter));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  data = gst_tag_setter_get_data (setter);
-  if (!data->list) {
-    data->list = gst_tag_list_copy (list);
-  } else {
-    gst_tag_list_merge (data->list, list, mode);
-  }
-}
-
-/**
- * gst_tag_setter_add:
- * @setter: a #GstTagSetter
- * @mode: the mode to use
- * @tag: tag to set
- * @...: more tag / value pairs to set
- *
- * Adds the given tag / value pairs on the setter using the given merge mode. 
- * The list must be terminated with NULL.
- */
-void
-gst_tag_setter_add (GstTagSetter * setter, GstTagMergeMode mode,
-    const gchar * tag, ...)
-{
-  va_list args;
-
-  g_return_if_fail (GST_IS_TAG_SETTER (setter));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  va_start (args, tag);
-  gst_tag_setter_add_valist (setter, mode, tag, args);
-  va_end (args);
-}
-
-/**
- * gst_tag_setter_add_values:
- * @setter: a #GstTagSetter
- * @mode: the mode to use
- * @tag: tag to set
- * @...: more tag / GValue pairs to set
- *
- * Adds the given tag / GValue pairs on the setter using the given merge mode. 
- * The list must be terminated with NULL.
- */
-void
-gst_tag_setter_add_values (GstTagSetter * setter, GstTagMergeMode mode,
-    const gchar * tag, ...)
-{
-  va_list args;
-
-  g_return_if_fail (GST_IS_TAG_SETTER (setter));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  va_start (args, tag);
-  gst_tag_setter_add_valist_values (setter, mode, tag, args);
-  va_end (args);
-}
-
-/**
- * gst_tag_setter_add_valist:
- * @setter: a #GstTagSetter
- * @mode: the mode to use
- * @tag: tag to set
- * @var_args: tag / value pairs to set
- *
- * Adds the given tag / value pairs on the setter using the given merge mode. 
- * The list must be terminated with NULL.
- */
-void
-gst_tag_setter_add_valist (GstTagSetter * setter, GstTagMergeMode mode,
-    const gchar * tag, va_list var_args)
-{
-  GstTagData *data;
-
-  g_return_if_fail (GST_IS_TAG_SETTER (setter));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  data = gst_tag_setter_get_data (setter);
-  if (!data->list)
-    data->list = gst_tag_list_new ();
-
-  gst_tag_list_add_valist (data->list, mode, tag, var_args);
-}
-
-/**
- * gst_tag_setter_add_valist_values:
- * @setter: a #GstTagSetter
- * @mode: the mode to use
- * @tag: tag to set
- * @var_args: tag / GValue pairs to set
- *
- * Adds the given tag / GValue pairs on the setter using the given merge mode. 
- * The list must be terminated with NULL.
- */
-void
-gst_tag_setter_add_valist_values (GstTagSetter * setter, GstTagMergeMode mode,
-    const gchar * tag, va_list var_args)
-{
-  GstTagData *data;
-
-  g_return_if_fail (GST_IS_TAG_SETTER (setter));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  data = gst_tag_setter_get_data (setter);
-  if (!data->list)
-    data->list = gst_tag_list_new ();
-
-  gst_tag_list_add_valist_values (data->list, mode, tag, var_args);
-}
-
-/**
- * gst_tag_setter_get_list:
- * @setter: a #GstTagSetter
- *
- * Returns the current list of tags the setter uses.  The list should not be
- * modified or freed.
- *
- * Returns: a current snapshot of the taglist used in the setter
- *         or NULL if none is used.
- */
-G_CONST_RETURN GstTagList *
-gst_tag_setter_get_list (GstTagSetter * setter)
-{
-  g_return_val_if_fail (GST_IS_TAG_SETTER (setter), NULL);
-
-  return gst_tag_setter_get_data (setter)->list;
-}
-
-/**
- * gst_tag_setter_set_merge_mode:
- * @setter: a #GstTagSetter
- * @mode: The mode with which tags are added
- *
- * Sets the given merge mode that is used for adding tags from events to tags
- * specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps
- * the tags by this interface and discards tags from events.
- */
-void
-gst_tag_setter_set_merge_mode (GstTagSetter * setter, GstTagMergeMode mode)
-{
-  g_return_if_fail (GST_IS_TAG_SETTER (setter));
-  g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
-
-  gst_tag_setter_get_data (setter)->mode = mode;
-}
-
-/**
- * gst_tag_setter_get_merge_mode:
- * @setter: a #GstTagSetter
- *
- * Queries the mode by which tags inside the setter are overwritten by tags 
- * from events
- *
- * Returns: the merge mode used inside the element.
- */
-GstTagMergeMode
-gst_tag_setter_get_merge_mode (GstTagSetter * setter)
-{
-  g_return_val_if_fail (GST_IS_TAG_SETTER (setter), FALSE);
-
-  return gst_tag_setter_get_data (setter)->mode;
-}
diff --git a/gst/gsttaginterface.h b/gst/gsttaginterface.h
deleted file mode 100644 (file)
index eaf4940..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/* GStreamer
- * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
- *
- * gsttaginterface.h: Interfaces for tagging
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * 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.
- */
-
-#ifndef __GST_TAG_INTERFACE_H__
-#define __GST_TAG_INTERFACE_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_TAG_SETTER            (gst_tag_setter_get_type ())
-#define GST_TAG_SETTER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TAG_SETTER, GstTagSetter))
-#define GST_TAG_SETTER_CLASS(obj)      (G_TYPE_CHECK_CLASS_CAST ((obj), GST_TYPE_TAG_SETTER, GstTagSetter))
-#define GST_IS_TAG_SETTER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TAG_SETTER))
-#define GST_TAG_SETTER_GET_IFACE(obj)  (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_TAG_SETTER, GstTagSetterIFace))
-
-typedef struct _GstTagSetter                   GstTagSetter; /* Dummy typedef */
-typedef struct _GstTagSetterIFace              GstTagSetterIFace;
-
-/* use an empty interface here to allow detection of elements using user-set
-   tags */
-struct _GstTagSetterIFace
-{
-  GTypeInterface g_iface;
-
-  /* signals */
-
-  /* virtual table */
-};
-
-GType          gst_tag_setter_get_type         (void);
-
-void           gst_tag_setter_merge            (GstTagSetter *         setter,
-                                                const GstTagList *     list,
-                                                GstTagMergeMode        mode);
-void           gst_tag_setter_add              (GstTagSetter *         setter,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                ...);
-
-void           gst_tag_setter_add_values       (GstTagSetter *         setter,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                ...);
-
-void            gst_tag_setter_add_valist      (GstTagSetter *         setter,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                va_list                var_args);
-
-void            gst_tag_setter_add_valist_values(GstTagSetter *                setter,
-                                                GstTagMergeMode        mode,
-                                                const gchar *          tag,
-                                                va_list                var_args);
-
-G_CONST_RETURN GstTagList *
-               gst_tag_setter_get_list (GstTagSetter *         setter);
-
-void           gst_tag_setter_set_merge_mode   (GstTagSetter *         setter,
-                                                GstTagMergeMode        mode);
-GstTagMergeMode        gst_tag_setter_get_merge_mode   (GstTagSetter *         setter);
-
-G_END_DECLS
-
-#endif /* __GST_TAG_INTERFACE_H__ */
index 3e54176..2c47ee1 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
  *
- * gsttag.c: tag support (aka metadata)
+ * gsttaglist.c: tag support (aka metadata)
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -30,7 +30,7 @@
 
 #include "gst_private.h"
 #include "gst-i18n-lib.h"
-#include "gsttag.h"
+#include "gsttaglist.h"
 #include "gstinfo.h"
 #include "gstvalue.h"
 
index cb5aea6..a1b9a4f 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
  *
- * gsttag.h: Header for tag support
+ * gsttaglist.h: Header for tag support
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -38,6 +38,7 @@ typedef enum {
   /* add more */
   GST_TAG_MERGE_COUNT
 } GstTagMergeMode;
+
 #define GST_TAG_MODE_IS_VALID(mode)     (((mode) > GST_TAG_MERGE_UNDEFINED) && ((mode) < GST_TAG_MERGE_COUNT))
 
 typedef enum {
@@ -47,6 +48,7 @@ typedef enum {
   GST_TAG_FLAG_DECODED,
   GST_TAG_FLAG_COUNT
 } GstTagFlag;
+
 #define GST_TAG_FLAG_IS_VALID(flag)     (((flag) > GST_TAG_FLAG_UNDEFINED) && ((flag) < GST_TAG_FLAG_COUNT))
 
 typedef GstStructure GstTagList;
index 2fae2b8..0da484c 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
  *
- * gsttaginterface.c: interface for tag setting on elements
+ * gsttagsetter.c: interface for tag setting on elements
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -30,7 +30,7 @@
 #endif
 
 #include "gst_private.h"
-#include "gsttaginterface.h"
+#include "gsttagsetter.h"
 #include <gobject/gvaluecollector.h>
 #include <string.h>
 
index eaf4940..5daef14 100644 (file)
@@ -1,7 +1,7 @@
 /* GStreamer
  * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
  *
- * gsttaginterface.h: Interfaces for tagging
+ * gsttagsetter.h: Interfaces for tagging
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
index 0e7043e..3eb1770 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *                    2000 Wim Taymans <wtay@chello.be>
  *
- * gsttrace.c: Tracing functions (depracated)
+ * gsttrace.c: Tracing functions (deprecated)
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+/**
+ * SECTION:gsttrace
+ * @short_description: Tracing functionality
+ *
+ */
 
 
 #ifdef HAVE_CONFIG_H
index c32dbbc..fa48444 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *                    2000 Wim Taymans <wtay@chello.be>
  *
- * gsttrace.h: Header for tracing functions (depracated)
+ * gsttrace.h: Header for tracing functions (deprecated)
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -69,14 +69,29 @@ void                _gst_trace_add_entry            (GstTrace *trace, guint32 seq,
 void           gst_trace_read_tsc              (gint64 *dst);
 
 
-typedef enum
-{
+/**
+ * GstAllocTraceFlags:
+ * @GST_ALLOC_TRACE_LIVE: Trace number of non-freed memory
+ * @GST_ALLOC_TRACE_MEM_LIVE: trace pointers of unfreed memory
+ *
+ * Flags indicating which tracing feature to enable.
+ */
+typedef enum {
   GST_ALLOC_TRACE_LIVE         = (1 << 0),
   GST_ALLOC_TRACE_MEM_LIVE     = (1 << 1)
 } GstAllocTraceFlags;
 
 typedef struct _GstAllocTrace  GstAllocTrace;
 
+/**
+ * GstAllocTrace:
+ * @name: The name of the tracing object
+ * @flags: Flags for this object
+ * @live: counter for live memory
+ * @mem_live: list with pointers to unfreed memory
+ *
+ * The main tracing object
+ */
 struct _GstAllocTrace {
   gchar                *name;
   gint          flags;
@@ -100,7 +115,21 @@ void                       gst_alloc_trace_set_flags       (GstAllocTrace *trace, GstAllocTraceFlags flags
 
 
 #ifndef GST_DISABLE_ALLOC_TRACE
+/**
+ * gst_alloc_trace_register:
+ * @name: The name of the tracer object
+ *
+ * Register a new alloc tracer with the given name
+ */
 #define        gst_alloc_trace_register(name) _gst_alloc_trace_register (name);
+
+/**
+ * gst_alloc_trace_new:
+ * @trace: The tracer to use
+ * @mem: The memory allocated
+ *
+ * Use the tracer to trace a new memory allocation
+ */
 #define        gst_alloc_trace_new(trace, mem)                 \
 G_STMT_START {                                         \
   if ((trace)->flags & GST_ALLOC_TRACE_LIVE)           \
@@ -110,6 +139,13 @@ G_STMT_START {                                             \
       g_slist_prepend ((trace)->mem_live, mem);                \
 } G_STMT_END
 
+/**
+ * gst_alloc_trace_free:
+ * @trace: The tracer to use
+ * @mem: The memory that is freed
+ *
+ * Trace a memory free operation
+ */
 #define        gst_alloc_trace_free(trace, mem)                \
 G_STMT_START {                                         \
   if ((trace)->flags & GST_ALLOC_TRACE_LIVE)           \
index 8f011d8..e678c6b 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+/**
+ * SECTION:gsttrashstack
+ * @short_description:
+ *
+ */
+
 
 #define GST_IMPLEMENT_INLINES 1
 #define __GST_TRASH_STACK_C__