gst-plugins-ugly: update for libcdio and opencore-amr, removed dependency libid3tag

This commit is contained in:
Danny Rawlins 2014-02-16 02:54:43 +11:00
parent 2e740c00b4
commit b13f0d1580
4 changed files with 231 additions and 6 deletions

View File

@ -1 +1,3 @@
6c1c665f864387f3a77d32231fedeaab cdio-cd-text-api.patch
ba26045c8c8c91f0d48d327ccf53ac0c gst-plugins-ugly-0.10.19.tar.xz
d8feb6c99bfaff8be6b2c48ea4e98e47 opencore-amr.patch

View File

@ -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

View File

@ -0,0 +1,183 @@
From 649bd92cd2600719862ad5189899212409dd0a67 Mon Sep 17 00:00:00 2001
From: Leon Merten Lohse <leon@green-side.de>
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 <gst/gst.h>
#include <cdio/cdio.h>
#include <cdio/cdtext.h>
+#include <cdio/version.h>
+
+#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

View File

@ -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 <gst/gst.h>
#include <gst/audio/gstaudiodecoder.h>
-#include <interf_dec.h>
+#include <opencore-amrnb/interf_dec.h>
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 <gst/gst.h>
-#include <interf_enc.h>
+#include <opencore-amrnb/interf_enc.h>
#include <gst/audio/gstaudioencoder.h>
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 <gst/gst.h>
#include <gst/audio/gstaudiodecoder.h>
-#include <dec_if.h>
-#include <if_rom.h>
+#include <opencore-amrwb/dec_if.h>
+#include <opencore-amrwb/if_rom.h>
G_BEGIN_DECLS