Index: ext/cdio/gstcdio.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-good/ext/cdio/gstcdio.c,v
retrieving revision 1.5
diff -u -r1.5 gstcdio.c
--- ext/cdio/gstcdio.c	2 Nov 2006 14:43:11 -0000	1.5
+++ ext/cdio/gstcdio.c	6 Jun 2008 13:59:22 -0000
@@ -76,6 +76,26 @@
   return tags;
 }
 
+void
+gst_cdio_get_album (GstObject * src, CdIo * cdio, GstTagList **tags)
+{
+  cdtext_t *t;
+
+  t = cdio_get_cdtext (cdio, 0);
+  if (t == NULL) {
+    GST_DEBUG_OBJECT (src, "no CD-TEXT for album %u");
+    return;
+  }
+
+  /* We don't have a Album-Artist-Tag in gstreamer so we can't use:
+   * gst_cdio_add_cdtext_field (src, t, CDTEXT_PERFORMER, GST_TAG_ARTIST,&tags);
+   * :(
+   * */
+  gst_cdio_add_cdtext_field (src, t, CDTEXT_TITLE, GST_TAG_ALBUM, tags);
+  gst_cdio_add_cdtext_field (src, t, CDTEXT_GENRE, GST_TAG_GENRE, tags);
+}
+
+
 #else
 
 GstTagList *
@@ -86,6 +106,15 @@
   return NULL;
 }
 
+void
+gst_cdio_get_album (GstObject * src, CdIo * cdio, GstTagList **tags)
+{
+
+  GST_DEBUG_OBJECT (src, "This libcdio version (%u) does not support "
+      "CDTEXT (want >= 76)", LIBCDIO_VERSION_NUM);
+  return NULL;
+}
+
 #endif
 
 static void
Index: ext/cdio/gstcdio.h
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-good/ext/cdio/gstcdio.h,v
retrieving revision 1.3
diff -u -r1.3 gstcdio.h
--- ext/cdio/gstcdio.h	2 Nov 2006 14:43:11 -0000	1.3
+++ ext/cdio/gstcdio.h	6 Jun 2008 13:59:22 -0000
@@ -43,5 +43,8 @@
                                     CdIo           * cdio,
                                     track_t          track);
 
+void          gst_cdio_get_album   (GstObject      * src,
+                                    CdIo           * cdio,
+				    GstTagList	  ** tags);
 #endif /* __GST_CDIO_H__ */
 
Index: ext/cdio/gstcdiocddasrc.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-good/ext/cdio/gstcdiocddasrc.c,v
retrieving revision 1.11
diff -u -r1.11 gstcdiocddasrc.c
--- ext/cdio/gstcdiocddasrc.c	17 Apr 2008 10:24:32 -0000	1.11
+++ ext/cdio/gstcdiocddasrc.c	6 Jun 2008 13:59:22 -0000
@@ -254,6 +254,8 @@
 #endif
   }
 
+  gst_cdio_get_album (GST_OBJECT (src),  src->cdio, &GST_CDDA_BASE_SRC(src)->tags);
+
   GST_LOG_OBJECT (src, "%u tracks, first track: %d", num_tracks, first_track);
 
   for (i = 0; i < num_tracks; ++i) {
