summaryrefslogtreecommitdiff
path: root/ext/cdio
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-11-02 14:43:11 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-11-02 14:43:11 +0000
commit2a3809fcc5fa1b3d1371611276bf24195cf32017 (patch)
tree2ff14ea736a3f3e529216c5cd055d61915c6444d /ext/cdio
parenta7377ff9a3effa00ca8ace6bd19a2708b35d28d7 (diff)
downloadgstreamer-plugins-ugly-2a3809fcc5fa1b3d1371611276bf24195cf32017.tar.gz
ext/cdio/: Move CD-TEXT utility function into common file so it can also be used by a future cdioparanoiasrc.
Original commit message from CVS: * ext/cdio/gstcdio.c: (gst_cdio_get_cdtext): * ext/cdio/gstcdio.h: * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open): Move CD-TEXT utility function into common file so it can also be used by a future cdioparanoiasrc.
Diffstat (limited to 'ext/cdio')
-rw-r--r--ext/cdio/gstcdio.c28
-rw-r--r--ext/cdio/gstcdio.h6
-rw-r--r--ext/cdio/gstcdiocddasrc.c37
3 files changed, 35 insertions, 36 deletions
diff --git a/ext/cdio/gstcdio.c b/ext/cdio/gstcdio.c
index f77792d7..5c23a77b 100644
--- a/ext/cdio/gstcdio.c
+++ b/ext/cdio/gstcdio.c
@@ -58,6 +58,34 @@ gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext,
GST_DEBUG_OBJECT (src, "CD-TEXT: %s = %s", gst_tag, txt);
}
+GstTagList *
+gst_cdio_get_cdtext (GstObject * src, CdIo * cdio, track_t track)
+{
+ GstTagList *tags = NULL;
+ cdtext_t *t;
+
+ t = cdio_get_cdtext (cdio, track);
+ if (t == NULL) {
+ GST_DEBUG_OBJECT (src, "no CD-TEXT for track %u", track);
+ return NULL;
+ }
+
+ gst_cdio_add_cdtext_field (src, t, CDTEXT_PERFORMER, GST_TAG_ARTIST, &tags);
+ gst_cdio_add_cdtext_field (src, t, CDTEXT_TITLE, GST_TAG_TITLE, &tags);
+
+ return tags;
+}
+
+#else
+
+GstTagList *
+gst_cdio_get_cdtext (GstObject * src, CdIo * cdio, track_t track)
+{
+ GST_DEBUG_OBJECT (src, "This libcdio version (%u) does not support "
+ "CDTEXT (want >= 76)", LIBCDIO_VERSION_NUM);
+ return NULL;
+}
+
#endif
static void
diff --git a/ext/cdio/gstcdio.h b/ext/cdio/gstcdio.h
index ffe3a195..605ad10f 100644
--- a/ext/cdio/gstcdio.h
+++ b/ext/cdio/gstcdio.h
@@ -22,7 +22,7 @@
#define __GST_CDIO_H__
#include <gst/gst.h>
-#include <cdio/version.h>
+#include <cdio/cdio.h>
GST_DEBUG_CATEGORY_EXTERN (gst_cdio_debug);
#define GST_CAT_DEFAULT gst_cdio_debug
@@ -39,5 +39,9 @@ void gst_cdio_add_cdtext_field (GstObject * src,
#endif
+GstTagList * gst_cdio_get_cdtext (GstObject * src,
+ CdIo * cdio,
+ track_t track);
+
#endif /* __GST_CDIO_H__ */
diff --git a/ext/cdio/gstcdiocddasrc.c b/ext/cdio/gstcdiocddasrc.c
index c2269983..2bfa1700 100644
--- a/ext/cdio/gstcdiocddasrc.c
+++ b/ext/cdio/gstcdiocddasrc.c
@@ -209,40 +209,6 @@ notcdio_track_is_audio_track (const CdIo * p_cdio, track_t i_track)
return (cdio_get_track_format (p_cdio, i_track) == TRACK_FORMAT_AUDIO);
}
-#if (LIBCDIO_VERSION_NUM >= 76)
-
-static GstTagList *
-gst_cdio_cdda_src_get_cdtext (GstCdioCddaSrc * src, track_t i_track)
-{
- GstTagList *tags = NULL;
- GstObject *obj;
- cdtext_t *t;
-
- t = cdio_get_cdtext (src->cdio, i_track);
- if (t == NULL) {
- GST_DEBUG_OBJECT (src, "no CD-TEXT for track %u", i_track);
- return NULL;
- }
-
- obj = GST_OBJECT (src);
- gst_cdio_add_cdtext_field (obj, t, CDTEXT_PERFORMER, GST_TAG_ARTIST, &tags);
- gst_cdio_add_cdtext_field (obj, t, CDTEXT_TITLE, GST_TAG_TITLE, &tags);
-
- return tags;
-}
-
-#else
-
-static GstTagList *
-gst_cdio_cdda_src_get_cdtext (GstCdioCddaSrc * src, track_t i_track)
-{
- GST_DEBUG_OBJECT (src, "This libcdio version (%u) does not support "
- "CDTEXT (want >= 76)", LIBCDIO_VERSION_NUM);
- return NULL;
-}
-
-#endif
-
static gboolean
gst_cdio_cdda_src_open (GstCddaBaseSrc * cddabasesrc, const gchar * device)
{
@@ -305,7 +271,8 @@ gst_cdio_cdda_src_open (GstCddaBaseSrc * cddabasesrc, const gchar * device)
* the right thing here (for cddb id calculations etc. as well) */
track.start = cdio_get_track_lsn (src->cdio, i + first_track);
track.end = track.start + len_sectors - 1; /* -1? */
- track.tags = gst_cdio_cdda_src_get_cdtext (src, i + first_track);
+ track.tags = gst_cdio_get_cdtext (GST_OBJECT (src), src->cdio,
+ i + first_track);
gst_cdda_base_src_add_track (GST_CDDA_BASE_SRC (src), &track);
}