Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't spew out a warning if a tag...
authorTim-Philipp Müller <tim@centricular.net>
Sat, 13 Aug 2005 10:33:22 +0000 (10:33 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 13 Aug 2005 10:33:22 +0000 (10:33 +0000)
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
* gst/gsttag.h:
Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
spew out a warning if a tag that is already registered
is re-registered, unless it is re-registered with a
different type (#308438).

ChangeLog
docs/gst/gstreamer-sections.txt
gst/gsttag.c
gst/gsttag.h
gst/gsttaglist.c
gst/gsttaglist.h

index 4bcde0c..f1f1b51 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
+       * gst/gsttag.h:
+         Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
+         spew out a warning if a tag that is already registered
+         is re-registered, unless it is re-registered with a 
+         different type (#308438).
+
 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
 
        * docs/pwg/appendix-porting.xml:
index 252afc4..4d7a595 100644 (file)
@@ -1319,6 +1319,7 @@ GST_TAG_TRACK_GAIN
 GST_TAG_TRACK_PEAK
 GST_TAG_ALBUM_GAIN
 GST_TAG_ALBUM_PEAK
+GST_TAG_LANGUAGE_CODE
 <SUBSECTION Standard>
 GST_TAG_LIST
 GST_IS_TAG_LIST
index 0b7fb09..b040098 100644 (file)
@@ -188,6 +188,9 @@ _gst_tag_initialize (void)
       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);
 }
 
 /**
@@ -277,7 +280,11 @@ gst_tag_register (const gchar * name, GstTagFlag flag, GType type,
 
   key = g_quark_from_string (name);
   info = gst_tag_lookup (key);
-  g_return_if_fail (info == NULL);
+
+  if (info) {
+    g_return_if_fail (info->type == type);
+    return;
+  }
 
   info = g_new (GstTagInfo, 1);
   info->flag = flag;
index a58665e..163b9e8 100644 (file)
@@ -424,6 +424,12 @@ gboolean   gst_tag_list_get_pointer_index  (const GstTagList *     list,
  * 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
 
index 0b7fb09..b040098 100644 (file)
@@ -188,6 +188,9 @@ _gst_tag_initialize (void)
       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);
 }
 
 /**
@@ -277,7 +280,11 @@ gst_tag_register (const gchar * name, GstTagFlag flag, GType type,
 
   key = g_quark_from_string (name);
   info = gst_tag_lookup (key);
-  g_return_if_fail (info == NULL);
+
+  if (info) {
+    g_return_if_fail (info->type == type);
+    return;
+  }
 
   info = g_new (GstTagInfo, 1);
   info->flag = flag;
index a58665e..163b9e8 100644 (file)
@@ -424,6 +424,12 @@ gboolean   gst_tag_list_get_pointer_index  (const GstTagList *     list,
  * 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