diff -Nurd -x'*~' gst-plugins-ugly-0.10.18.orig/ext/amrnb/amrnbdec.h gst-plugins-ugly-0.10.18/ext/amrnb/amrnbdec.h --- gst-plugins-ugly-0.10.18.orig/ext/amrnb/amrnbdec.h 2010-04-29 04:57:31.000000000 -0400 +++ gst-plugins-ugly-0.10.18/ext/amrnb/amrnbdec.h 2015-02-14 22:33:04.000000000 -0500 @@ -22,7 +22,7 @@ #include #include -#include +#include G_BEGIN_DECLS diff -Nurd -x'*~' gst-plugins-ugly-0.10.18.orig/ext/amrnb/amrnbenc.h gst-plugins-ugly-0.10.18/ext/amrnb/amrnbenc.h --- gst-plugins-ugly-0.10.18.orig/ext/amrnb/amrnbenc.h 2010-04-29 04:57:31.000000000 -0400 +++ gst-plugins-ugly-0.10.18/ext/amrnb/amrnbenc.h 2015-02-14 22:33:04.000000000 -0500 @@ -21,7 +21,7 @@ #define __GST_AMRNBENC_H__ #include -#include +#include #include G_BEGIN_DECLS diff -Nurd -x'*~' gst-plugins-ugly-0.10.18.orig/ext/amrwbdec/amrwbdec.h gst-plugins-ugly-0.10.18/ext/amrwbdec/amrwbdec.h --- gst-plugins-ugly-0.10.18.orig/ext/amrwbdec/amrwbdec.h 2010-04-29 04:57:31.000000000 -0400 +++ gst-plugins-ugly-0.10.18/ext/amrwbdec/amrwbdec.h 2015-02-14 22:33:04.000000000 -0500 @@ -22,8 +22,8 @@ #include #include -#include -#include +#include +#include G_BEGIN_DECLS diff -Nurd -x'*~' gst-plugins-ugly-0.10.18.orig/ext/cdio/gstcdio.c gst-plugins-ugly-0.10.18/ext/cdio/gstcdio.c --- gst-plugins-ugly-0.10.18.orig/ext/cdio/gstcdio.c 2010-04-29 04:57:31.000000000 -0400 +++ gst-plugins-ugly-0.10.18/ext/cdio/gstcdio.c 2015-02-14 22:32:31.000000000 -0500 @@ -30,12 +30,16 @@ GST_DEBUG_CATEGORY (gst_cdio_debug); void -gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, +gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, track_t track, cdtext_field_t field, const gchar * gst_tag, GstTagList ** p_tags) { const gchar *txt; +#if LIBCDIO_VERSION_NUM > 83 + txt = cdtext_get_const (cdtext, field, track); +#else txt = cdtext_get_const (field, cdtext); +#endif if (txt == NULL || *txt == '\0') { GST_DEBUG_OBJECT (src, "empty CD-TEXT field %u (%s)", field, gst_tag); return; @@ -57,6 +61,12 @@ } GstTagList * +#if LIBCDIO_VERSION_NUM > 83 +gst_cdio_get_cdtext (GstObject * src, cdtext_t * t, track_t track) +{ + GstTagList *tags = NULL; + +#else gst_cdio_get_cdtext (GstObject * src, CdIo * cdio, track_t track) { GstTagList *tags = NULL; @@ -67,14 +77,21 @@ GST_DEBUG_OBJECT (src, "no CD-TEXT for track %u", track); return NULL; } +#endif - 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); + gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_PERFORMER, + GST_TAG_ARTIST, &tags); + gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_TITLE, GST_TAG_TITLE, + &tags); return tags; } void +#if LIBCDIO_VERSION_NUM > 83 +gst_cdio_add_cdtext_album_tags (GstObject * src, cdtext_t * t, GstTagList * tags) +{ +#else gst_cdio_add_cdtext_album_tags (GstObject * src, CdIo * cdio, GstTagList * tags) { cdtext_t *t; @@ -84,11 +101,14 @@ GST_DEBUG_OBJECT (src, "no CD-TEXT for album"); return; } +#endif - /* FIXME: map CDTEXT_PERFORMER to GST_TAG_ALBUM_ARTIST once we have that */ - 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); - + gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_PERFORMER, + GST_TAG_ALBUM_ARTIST, &tags); + gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_TITLE, GST_TAG_ALBUM, + &tags); + gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_GENRE, GST_TAG_GENRE, + &tags); GST_DEBUG ("CD-TEXT album tags: %" GST_PTR_FORMAT, tags); } diff -Nurd -x'*~' gst-plugins-ugly-0.10.18.orig/ext/cdio/gstcdio.h gst-plugins-ugly-0.10.18/ext/cdio/gstcdio.h --- gst-plugins-ugly-0.10.18.orig/ext/cdio/gstcdio.h 2010-04-29 04:57:31.000000000 -0400 +++ gst-plugins-ugly-0.10.18/ext/cdio/gstcdio.h 2015-02-14 22:32:31.000000000 -0500 @@ -24,22 +24,38 @@ #include #include #include +#include + +#if LIBCDIO_VERSION_NUM <= 83 + #define CDTEXT_FIELD_PERFORMER CDTEXT_PERFORMER + #define CDTEXT_FIELD_GENRE CDTEXT_GENRE + #define CDTEXT_FIELD_TITLE CDTEXT_TITLE +#endif GST_DEBUG_CATEGORY_EXTERN (gst_cdio_debug); #define GST_CAT_DEFAULT gst_cdio_debug void gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, + track_t track, cdtext_field_t field, const gchar * gst_tag, GstTagList ** p_tags); GstTagList * gst_cdio_get_cdtext (GstObject * src, +#if LIBCDIO_VERSION_NUM > 83 + cdtext_t * t, +#else CdIo * cdio, +#endif track_t track); void gst_cdio_add_cdtext_album_tags (GstObject * src, +#if LIBCDIO_VERSION_NUM > 83 + cdtext_t * t, +#else CdIo * cdio, +#endif GstTagList * tags); #endif /* __GST_CDIO_H__ */ diff -Nurd -x'*~' gst-plugins-ugly-0.10.18.orig/ext/cdio/gstcdiocddasrc.c gst-plugins-ugly-0.10.18/ext/cdio/gstcdiocddasrc.c --- gst-plugins-ugly-0.10.18.orig/ext/cdio/gstcdiocddasrc.c 2011-01-07 09:13:18.000000000 -0500 +++ gst-plugins-ugly-0.10.18/ext/cdio/gstcdiocddasrc.c 2015-02-14 22:32:31.000000000 -0500 @@ -218,6 +218,9 @@ GstCdioCddaSrc *src; discmode_t discmode; gint first_track, num_tracks, i; +#if LIBCDIO_VERSION_NUM > 83 + cdtext_t *cdtext; +#endif src = GST_CDIO_CDDA_SRC (cddabasesrc); @@ -244,8 +247,18 @@ if (src->read_speed != -1) cdio_set_speed (src->cdio, src->read_speed); - gst_cdio_add_cdtext_album_tags (GST_OBJECT_CAST (src), src->cdio, - cddabasesrc->tags); +#if LIBCDIO_VERSION_NUM > 83 + cdtext = cdio_get_cdtext (src->cdio); + + if (NULL == cdtext) + GST_DEBUG_OBJECT (src, "no CD-TEXT on disc"); + else + gst_cdio_add_cdtext_album_tags (GST_OBJECT_CAST (src), cdtext, + cddabasesrc->tags); +#else + gst_cdio_add_cdtext_album_tags (GST_OBJECT_CAST (src), src->cdio, + cddabasesrc->tags); +#endif GST_LOG_OBJECT (src, "%u tracks, first track: %d", num_tracks, first_track); @@ -262,8 +275,14 @@ * 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? */ +#if LIBCDIO_VERSION_NUM > 83 + if (NULL != cdtext) + track.tags = gst_cdio_get_cdtext (GST_OBJECT (src), cdtext, + i + first_track); +#else track.tags = gst_cdio_get_cdtext (GST_OBJECT (src), src->cdio, i + first_track); +#endif gst_cdda_base_src_add_track (GST_CDDA_BASE_SRC (src), &track); }