Index: gst-libs/gst/tag/tag.h
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/gst-libs/gst/tag/tag.h,v
retrieving revision 1.9
diff -u -p -r1.9 tag.h
--- gst-libs/gst/tag/tag.h	12 Mar 2006 13:47:22 -0000	1.9
+++ gst-libs/gst/tag/tag.h	22 Jun 2006 09:45:13 -0000
@@ -84,6 +84,59 @@ G_BEGIN_DECLS
 #define GST_TAG_CMML_CLIP "cmml-clip"
 
 
+/* additional information for image tags */
+
+/**
+ * GstTagImageType:
+ * @GST_TAG_IMAGE_TYPE_UNDEFINED             : Undefined/other image type
+ * @GST_TAG_IMAGE_TYPE_FRONT_COVER           : Cover (front)
+ * @GST_TAG_IMAGE_TYPE_BACK_COVER            : Cover (back)
+ * @GST_TAG_IMAGE_TYPE_LEAFLET_PAGE          : Leaflet page
+ * @GST_TAG_IMAGE_TYPE_MEDIUM                : Medium (e.g. label side of CD)
+ * @GST_TAG_IMAGE_TYPE_LEAD_ARTIST           : Lead artist/lead performer/soloist
+ * @GST_TAG_IMAGE_TYPE_ARTIST                : Artist/performer
+ * @GST_TAG_IMAGE_TYPE_CONDUCTOR             : Conductor
+ * @GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA        : Band/orchestra
+ * @GST_TAG_IMAGE_TYPE_COMPOSER              : Composer
+ * @GST_TAG_IMAGE_TYPE_LYRICIST              : Lyricist/text writer
+ * @GST_TAG_IMAGE_TYPE_RECORDING_LOCATION    : Recording location
+ * @GST_TAG_IMAGE_TYPE_DURING_RECORDING      : During recording
+ * @GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE    : During performance
+ * @GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE         : Movie/video screen capture
+ * @GST_TAG_IMAGE_TYPE_FISH                  : A fish as funny as the ID3v2 spec
+ * @GST_TAG_IMAGE_TYPE_ILLUSTRATION          : Illustration
+ * @GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO      : Band/artist logotype
+ * @GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO : Publisher/studio logotype
+ *
+ * Type of image contained in an image tag (specified as field in
+ * the image buffer's caps structure)
+ */
+typedef enum {
+  GST_TAG_IMAGE_TYPE_UNDEFINED,
+  GST_TAG_IMAGE_TYPE_FRONT_COVER,
+  GST_TAG_IMAGE_TYPE_BACK_COVER,
+  GST_TAG_IMAGE_TYPE_LEAFLET_PAGE,
+  GST_TAG_IMAGE_TYPE_MEDIUM,
+  GST_TAG_IMAGE_TYPE_LEAD_ARTIST,
+  GST_TAG_IMAGE_TYPE_ARTIST,
+  GST_TAG_IMAGE_TYPE_CONDUCTOR,
+  GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA,
+  GST_TAG_IMAGE_TYPE_COMPOSER,
+  GST_TAG_IMAGE_TYPE_LYRICIST,
+  GST_TAG_IMAGE_TYPE_RECORDING_LOCATION,
+  GST_TAG_IMAGE_TYPE_DURING_RECORDING,
+  GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE,
+  GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE,
+  GST_TAG_IMAGE_TYPE_FISH,
+  GST_TAG_IMAGE_TYPE_ILLUSTRATION,
+  GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO,
+  GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO
+} GstTagImageType;
+
+#define GST_TYPE_TAG_IMAGE  (gst_tag_image_type_get_type ())
+GType   gst_tag_image_type_get_type (void);
+
+
 /* functions for vorbis comment manipulation */
 
 G_CONST_RETURN gchar *  gst_tag_from_vorbis_tag                 (const gchar *          vorbis_tag);
Index: gst-libs/gst/tag/tags.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/gst-libs/gst/tag/tags.c,v
retrieving revision 1.3
diff -u -p -r1.3 tags.c
--- gst-libs/gst/tag/tags.c	5 Feb 2006 18:22:01 -0000	1.3
+++ gst-libs/gst/tag/tags.c	22 Jun 2006 09:45:13 -0000
@@ -83,3 +83,49 @@ gst_tag_register_musicbrainz_tags (void)
 
   g_once (&mb_once, gst_tag_register_musicbrainz_tags_internal, NULL);
 }
+
+static void
+register_tag_image_type_enum (GType * id)
+{
+  static const GEnumValue image_types[] = {
+    {GST_TAG_IMAGE_TYPE_UNDEFINED, "Undefined/other image type", "undefined"},
+    {GST_TAG_IMAGE_TYPE_FRONT_COVER, "Cover (front)", "front-cover"},
+    {GST_TAG_IMAGE_TYPE_BACK_COVER, "Cover (back)", "back-cover"},
+    {GST_TAG_IMAGE_TYPE_LEAFLET_PAGE, "Leaflet page", "leaflet-page"},
+    {GST_TAG_IMAGE_TYPE_MEDIUM, "Medium (e.g. label side of CD)", "medium"},
+    {GST_TAG_IMAGE_TYPE_LEAD_ARTIST, "Lead artist/lead performer/soloist",
+          "lead-artist"},
+    {GST_TAG_IMAGE_TYPE_ARTIST, "Artist/performer", "artist"},
+    {GST_TAG_IMAGE_TYPE_CONDUCTOR, "Conductor", "conductor"},
+    {GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA, "Band/orchestra", "band-orchestra"},
+    {GST_TAG_IMAGE_TYPE_COMPOSER, "Composer", "composer"},
+    {GST_TAG_IMAGE_TYPE_LYRICIST, "Lyricist/text writer", "lyricist"},
+    {GST_TAG_IMAGE_TYPE_RECORDING_LOCATION, "Recording location",
+          "recording-location"},
+    {GST_TAG_IMAGE_TYPE_DURING_RECORDING, "During recording",
+          "during-recording"},
+    {GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE, "During performance",
+          "during-performance"},
+    {GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE, "Movie/video screen capture",
+          "video-capture"},
+    {GST_TAG_IMAGE_TYPE_FISH, "A fish as funny as the ID3v2 spec", "fish"},
+    {GST_TAG_IMAGE_TYPE_ILLUSTRATION, "Illustration", "illustration"},
+    {GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO, "Band/artist logotype",
+          "artist-logo"},
+    {GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO, "Publisher/studio logotype",
+          "publisher-studio-logo"},
+    {0, NULL, NULL}
+  };
+
+  *id = g_enum_register_static ("GstTagImageType", image_types);
+}
+
+GType
+gst_tag_image_type_get_type (void)
+{
+  static GType id;
+  static GOnce once = G_ONCE_INIT;
+
+  g_once (&once, (GThreadFunc) register_tag_image_type_enum, &id);
+  return id;
+}
Index: docs/libs/gst-plugins-base-libs-sections.txt
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/docs/libs/gst-plugins-base-libs-sections.txt,v
retrieving revision 1.17
diff -u -p -r1.17 gst-plugins-base-libs-sections.txt
--- docs/libs/gst-plugins-base-libs-sections.txt	16 Jun 2006 10:20:10 -0000	1.17
+++ docs/libs/gst-plugins-base-libs-sections.txt	22 Jun 2006 09:45:14 -0000
@@ -853,6 +853,10 @@ GST_TAG_CMML_CLIP
 GST_TAG_CMML_HEAD
 GST_TAG_CMML_STREAM
 gst_tag_register_musicbrainz_tags
+GstTagImageType
+<SUBSECTION Standard>
+GST_TYPE_TAG_IMAGE
+gst_tag_image_type_get_type
 <SUBSECTION Private>
 GstTagEntryMatch
 </SECTION>
