From b13f0d15809e885d688661c96da818e68ff6d83b Mon Sep 17 00:00:00 2001 From: Danny Rawlins Date: Sun, 16 Feb 2014 02:54:43 +1100 Subject: [PATCH] gst-plugins-ugly: update for libcdio and opencore-amr, removed dependency libid3tag --- gst-plugins-ugly/.md5sum | 2 + gst-plugins-ugly/Pkgfile | 17 ++- gst-plugins-ugly/cdio-cd-text-api.patch | 183 ++++++++++++++++++++++++ gst-plugins-ugly/opencore-amr.patch | 35 +++++ 4 files changed, 231 insertions(+), 6 deletions(-) create mode 100644 gst-plugins-ugly/cdio-cd-text-api.patch create mode 100644 gst-plugins-ugly/opencore-amr.patch diff --git a/gst-plugins-ugly/.md5sum b/gst-plugins-ugly/.md5sum index 1522d4e6d..2124b1e5a 100644 --- a/gst-plugins-ugly/.md5sum +++ b/gst-plugins-ugly/.md5sum @@ -1 +1,3 @@ +6c1c665f864387f3a77d32231fedeaab cdio-cd-text-api.patch ba26045c8c8c91f0d48d327ccf53ac0c gst-plugins-ugly-0.10.19.tar.xz +d8feb6c99bfaff8be6b2c48ea4e98e47 opencore-amr.patch diff --git a/gst-plugins-ugly/Pkgfile b/gst-plugins-ugly/Pkgfile index 7269a84e3..c476af7b4 100644 --- a/gst-plugins-ugly/Pkgfile +++ b/gst-plugins-ugly/Pkgfile @@ -2,24 +2,29 @@ # URL: http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html # Maintainer: Danny Rawlins, monster dot romster at gmail dot com # Packager Matt Housh, jaeger at morpheus dot net -# Depends on: gst-plugins-base lame liba52 libcdio libdvdread libid3tag libmad libmpeg2 opencore-amr x264 +# Depends on: gst-plugins-base lame liba52 libcdio libdvdread libmad libmpeg2 opencore-amr x264 xz name=gst-plugins-ugly version=0.10.19 -release=1 -source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz) +release=2 +source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz + opencore-amr.patch + cdio-cd-text-api.patch) build() { cd $name-$version + patch -p 0 -i $SRC/opencore-amr.patch + patch -p 1 -i $SRC/cdio-cd-text-api.patch + ./configure \ --prefix=/usr \ --mandir=/usr/man \ - --disable-static \ - --disable-debug \ + --with-package-name="GStreamer Ugly Plugins (Crux)" \ + --with-package-origin="http://crux.nu/" \ + --enable-experimental \ --disable-nls \ --disable-dependency-tracking \ - --disable-valgrind \ --disable-examples make diff --git a/gst-plugins-ugly/cdio-cd-text-api.patch b/gst-plugins-ugly/cdio-cd-text-api.patch new file mode 100644 index 000000000..cbd16b8e4 --- /dev/null +++ b/gst-plugins-ugly/cdio-cd-text-api.patch @@ -0,0 +1,183 @@ +From 649bd92cd2600719862ad5189899212409dd0a67 Mon Sep 17 00:00:00 2001 +From: Leon Merten Lohse +Date: Thu, 03 May 2012 22:50:30 +0000 +Subject: cdio: compensate for libcdio's recent cd-text api changes + +https://bugzilla.gnome.org/show_bug.cgi?id=675112 + +Conflicts: + + ext/cdio/gstcdiocddasrc.c +--- +diff --git a/ext/cdio/gstcdio.c b/ext/cdio/gstcdio.c +index 2f58d18..483ebf5 100644 +--- a/ext/cdio/gstcdio.c ++++ b/ext/cdio/gstcdio.c +@@ -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 @@ gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, + } + + 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,22 @@ gst_cdio_get_cdtext (GstObject * src, CdIo * cdio, track_t track) + 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 +102,14 @@ gst_cdio_add_cdtext_album_tags (GstObject * src, CdIo * cdio, GstTagList * tags) + 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 --git a/ext/cdio/gstcdio.h b/ext/cdio/gstcdio.h +index ef31ed0..c6da580 100644 +--- a/ext/cdio/gstcdio.h ++++ b/ext/cdio/gstcdio.h +@@ -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 --git a/ext/cdio/gstcdiocddasrc.c b/ext/cdio/gstcdiocddasrc.c +index 615a0c8..830839e 100644 +--- a/ext/cdio/gstcdiocddasrc.c ++++ b/ext/cdio/gstcdiocddasrc.c +@@ -206,6 +206,9 @@ gst_cdio_cdda_src_open (GstAudioCdSrc * audiocdsrc, const gchar * device) + 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 (audiocdsrc); + +@@ -232,8 +235,18 @@ gst_cdio_cdda_src_open (GstAudioCdSrc * audiocdsrc, const gchar * device) + if (src->read_speed != -1) + cdio_set_speed (src->cdio, src->read_speed); + ++#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); + +@@ -250,8 +263,14 @@ gst_cdio_cdda_src_open (GstAudioCdSrc * audiocdsrc, 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? */ ++#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_audio_cd_src_add_track (GST_AUDIO_CD_SRC (src), &track); + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/gst-plugins-ugly/opencore-amr.patch b/gst-plugins-ugly/opencore-amr.patch new file mode 100644 index 000000000..0a350dc46 --- /dev/null +++ b/gst-plugins-ugly/opencore-amr.patch @@ -0,0 +1,35 @@ +--- ext/amrnb/amrnbdec.h.orig 2012-03-12 16:49:14.417405139 +0000 ++++ ext/amrnb/amrnbdec.h 2012-03-12 16:49:35.393899419 +0000 +@@ -22,7 +22,7 @@ + + #include + #include +-#include ++#include + + G_BEGIN_DECLS + +--- ext/amrnb/amrnbenc.h.orig 2012-03-12 16:49:23.833996062 +0000 ++++ ext/amrnb/amrnbenc.h 2012-03-12 16:49:46.597141876 +0000 +@@ -21,7 +21,7 @@ + #define __GST_AMRNBENC_H__ + + #include +-#include ++#include + #include + + G_BEGIN_DECLS +--- ext/amrwbdec/amrwbdec.h.orig 2012-03-12 16:47:48.658100992 +0000 ++++ ext/amrwbdec/amrwbdec.h 2012-03-12 16:48:12.177910733 +0000 +@@ -22,8 +22,8 @@ + + #include + #include +-#include +-#include ++#include ++#include + + G_BEGIN_DECLS +