Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=c7dc674d516a95ddbda6d32e3755aacf477f89c9
commit c7dc674d516a95ddbda6d32e3755aacf477f89c9 Author: crazy <[EMAIL PROTECTED]> Date: Tue Nov 20 05:02:12 2007 +0100 gst-plugins-good-0.10.6-5-i686 * rebuild * fixed taglib plugin diff --git a/source/xmultimedia/gst-plugins-good/FrugalBuild b/source/xmultimedia/gst-plugins-good/FrugalBuild index e18514d..2f3ba87 100644 --- a/source/xmultimedia/gst-plugins-good/FrugalBuild +++ b/source/xmultimedia/gst-plugins-good/FrugalBuild @@ -4,10 +4,10 @@ pkgname=gst-plugins-good pkgver=0.10.6 -pkgrel=4 +pkgrel=5 pkgdesc="Plugins for GStreamer (Good)" url="http://gstreamer.freedesktop.org/" -depends=('gst-plugins-base>=0.10.13' 'gstreamer>=0.10.13' 'zlib') +depends=('gst-plugins-base>=0.10.15' 'gstreamer>=0.10.15' 'zlib') makedepends=('gtk-doc' 'pyxml' 'gconf' 'esd' 'ladspa_sdk' 'speex' 'libshout' 'aalib' \ 'libjpeg' 'flac>=1.1.3' 'libavc1394' 'libpng' 'libcdio' 'libdv' 'cairo' \ 'liboil>=0.3.10' 'taglib' 'hal>=0.5.7.1-3' 'libiec61883' 'libcaca' \ @@ -17,7 +17,7 @@ groups=('xmultimedia') archs=('i686' 'x86_64') options=('scriptlet') up2date="lynx -dump $url/src/$pkgname/|grep '.tar.bz2$'|sort -n -r|head -n 1|sed 's/.*-\(.*\).t.*/\1/'" -source=($url/src/$pkgname/$pkgname-$pkgver.tar.bz2) +source=($url/src/$pkgname/$pkgname-$pkgver.tar.bz2 taglib-compile.patch) subpkgs=("$pkgname-gconf" "$pkgname-esd" "$pkgname-speex" "$pkgname-aalib" "$pkgname-shout" "$pkgname-jpeg" \ "$pkgname-flac" "$pkgname-avc1394" "$pkgname-png" "$pkgname-cdio" "$pkgname-dv" "$pkgname-cairo" \ @@ -53,7 +53,7 @@ build() { if [ "$CARCH" == "x86_64" ]; then export CFLAGS="$CFLAGS -fPIC" fi - #Fpatchall + Fpatchall #autoreconf || Fdie Fmake \ --enable-gtk-doc \ @@ -91,5 +91,6 @@ build() { } -sha1sums=('eb918b6876e90f4ac803d209a14b32c1b3e26695') +sha1sums=('eb918b6876e90f4ac803d209a14b32c1b3e26695' \ + '3e7e7c926843cfb68de82feb1b56bb3f15a0e834') # optimization OK diff --git a/source/xmultimedia/gst-plugins-good/taglib-compile.patch b/source/xmultimedia/gst-plugins-good/taglib-compile.patch new file mode 100644 index 0000000..7004dee --- /dev/null +++ b/source/xmultimedia/gst-plugins-good/taglib-compile.patch @@ -0,0 +1,164 @@ +diff -Naur gst-plugins-good-0.10.6/ext/taglib/gstapev2mux.cc gst-plugins-good-0.10.6-p/ext/taglib/gstapev2mux.cc +--- gst-plugins-good-0.10.6/ext/taglib/gstapev2mux.cc 2006-05-30 16:35:17.000000000 +0200 ++++ gst-plugins-good-0.10.6-p/ext/taglib/gstapev2mux.cc 2007-11-20 04:44:40.000000000 +0100 +@@ -90,7 +90,10 @@ + gst_element_class_add_pad_template (element_class, + gst_static_pad_template_get (&src_template)); + +- gst_element_class_set_details (element_class, &gst_apev2_mux_details); ++ gst_element_class_set_details_simple (element_class, ++ "TagLib-based APEv2 Muxer", "Formatter/Metadata", ++ "Adds an APEv2 header to the beginning of files using taglib", ++ "Sebastian Dröge <[EMAIL PROTECTED]>"); + + GST_DEBUG_CATEGORY_INIT (gst_apev2_mux_debug, "apev2mux", 0, + "taglib-based APEv2 tag muxer"); +@@ -145,6 +148,16 @@ + apev2tag->setArtist (String::String (artist, String::UTF8)); + } + g_free (artist); ++ } else if (strcmp (tag, GST_TAG_COMPOSER) == 0) { ++ char *composer; ++ ++ result = gst_tag_list_get_string_index (list, tag, 0, &composer); ++ if (result != FALSE) { ++ GST_DEBUG ("Setting composer to %s", composer); ++ apev2tag->addValue (String::String ("COMPOSER", String::UTF8), ++ String::String (composer, String::UTF8)); ++ } ++ g_free (composer); + } else if (strcmp (tag, GST_TAG_GENRE) == 0) { + char *genre; + +diff -Naur gst-plugins-good-0.10.6/ext/taglib/gstid3v2mux.cc gst-plugins-good-0.10.6-p/ext/taglib/gstid3v2mux.cc +--- gst-plugins-good-0.10.6/ext/taglib/gstid3v2mux.cc 2007-06-13 11:21:10.000000000 +0200 ++++ gst-plugins-good-0.10.6-p/ext/taglib/gstid3v2mux.cc 2007-11-20 04:44:13.000000000 +0100 +@@ -61,6 +61,8 @@ + #include <uniquefileidentifierframe.h> + #include <attachedpictureframe.h> + #include <commentsframe.h> ++#include <unknownframe.h> ++#include <id3v2synchdata.h> + #include <id3v2tag.h> + #include <gst/tag/tag.h> + +@@ -69,12 +71,6 @@ + GST_DEBUG_CATEGORY_STATIC (gst_id3v2_mux_debug); + #define GST_CAT_DEFAULT gst_id3v2_mux_debug + +-static const GstElementDetails gst_id3v2_mux_details = +-GST_ELEMENT_DETAILS ("TagLib-based ID3v2 Muxer", +- "Formatter/Metadata", +- "Adds an ID3v2 header to the beginning of MP3 files using taglib", +- "Christophe Fergeau <[EMAIL PROTECTED]>"); +- + static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", + GST_PAD_SRC, + GST_PAD_ALWAYS, +@@ -95,7 +91,10 @@ + gst_element_class_add_pad_template (element_class, + gst_static_pad_template_get (&src_template)); + +- gst_element_class_set_details (element_class, &gst_id3v2_mux_details); ++ gst_element_class_set_details_simple (element_class, ++ "TagLib-based ID3v2 Muxer", "Formatter/Metadata", ++ "Adds an ID3v2 header to the beginning of MP3 files using taglib", ++ "Christophe Fergeau <[EMAIL PROTECTED]>"); + + GST_DEBUG_CATEGORY_INIT (gst_id3v2_mux_debug, "id3v2mux", 0, + "taglib-based ID3v2 tag muxer"); +@@ -322,7 +321,14 @@ + GST_TAG_MUSICBRAINZ_ALBUMID, "MusicBrainz Album Id", "musicbrainz_albumid"}, { + GST_TAG_MUSICBRAINZ_ALBUMARTISTID, "MusicBrainz Album Artist Id", + "musicbrainz_albumartistid"}, { +- GST_TAG_MUSICBRAINZ_TRMID, "MusicBrainz TRM Id", "musicbrainz_trmid"} ++ GST_TAG_MUSICBRAINZ_TRMID, "MusicBrainz TRM Id", "musicbrainz_trmid"}, { ++ GST_TAG_CDDA_MUSICBRAINZ_DISCID, "MusicBrainz DiscID", ++ "musicbrainz_discid"}, { ++ /* the following one is more or less made up, there seems to be little ++ * evidence that any popular application is actually putting this info ++ * into TXXX frames; the first one comes from a musicbrainz wiki 'proposed ++ * tags' page, the second one is analogue to the vorbis/ape/flac tag. */ ++ GST_TAG_CDDA_CDDB_DISCID, "CDDB DiscID", "discid"} + }; + guint i, idx; + +@@ -518,6 +524,47 @@ + } + } + ++static void ++add_uri_tag (ID3v2::Tag * id3v2tag, const GstTagList * list, ++ const gchar * tag, guint num_tags, const gchar * frame_id) ++{ ++ gchar *url = NULL; ++ ++ g_assert (frame_id != NULL); ++ ++ /* URI tags are limited to one of each per taglist */ ++ if (gst_tag_list_get_string_index (list, tag, 0, &url) && url != NULL) { ++ guint url_len; ++ ++ url_len = strlen (url); ++ if (url_len > 0 && gst_uri_is_valid (url)) { ++ ID3v2::FrameFactory * factory = ID3v2::FrameFactory::instance (); ++ ID3v2::Frame * frame; ++ char *data; ++ ++ data = g_new0 (char, 10 + url_len); ++ ++ memcpy (data, frame_id, 4); ++ memcpy (data + 4, ID3v2::SynchData::fromUInt (url_len).data (), 4); ++ memcpy (data + 10, url, url_len); ++ ByteVector bytes (data, 10 + url_len); ++ ++ g_free (data); ++ ++ frame = factory->createFrame (bytes, (TagLib::uint) 4); ++ if (frame) { ++ id3v2tag->addFrame (frame); ++ ++ GST_LOG ("%s: %s = '%s'", frame_id, tag, url); ++ } ++ } else { ++ GST_WARNING ("Tag %s does not contain a valid URI (%s)", tag, url); ++ } ++ ++ g_free (url); ++ } ++} ++ + /* id3demux produces these for frames it cannot parse */ + #define GST_ID3_DEMUX_TAG_ID3V2_FRAME "private-id3v2-frame" + +@@ -532,6 +579,7 @@ + GST_TAG_TITLE, add_text_tag, "TIT2"}, { + GST_TAG_ALBUM, add_text_tag, "TALB"}, { + GST_TAG_COPYRIGHT, add_text_tag, "TCOP"}, { ++ GST_TAG_COMPOSER, add_text_tag, "TCOM"}, { + GST_TAG_GENRE, add_text_tag, "TCON"}, { + GST_TAG_COMMENT, add_comment_tag, ""}, { + GST_TAG_EXTENDED_COMMENT, add_comment_tag, ""}, { +@@ -543,14 +591,20 @@ + GST_TAG_MUSICBRAINZ_ALBUMID, add_musicbrainz_tag, "\001"}, { + GST_TAG_MUSICBRAINZ_ALBUMARTISTID, add_musicbrainz_tag, "\002"}, { + GST_TAG_MUSICBRAINZ_TRMID, add_musicbrainz_tag, "\003"}, { ++ GST_TAG_CDDA_MUSICBRAINZ_DISCID, add_musicbrainz_tag, "\004"}, { ++ GST_TAG_CDDA_CDDB_DISCID, add_musicbrainz_tag, "\005"}, { + GST_TAG_MUSICBRAINZ_TRACKID, add_unique_file_id_tag, ""}, { +- GST_TAG_MUSICBRAINZ_SORTNAME, add_text_tag, "TSOP"}, { ++ GST_TAG_ARTIST_SORTNAME, add_text_tag, "TSOP"}, { ++ GST_TAG_ALBUM_SORTNAME, add_text_tag, "TSOA"}, { ++ GST_TAG_TITLE_SORTNAME, add_text_tag, "TSOT"}, { + GST_TAG_TRACK_NUMBER, add_count_or_num_tag, "TRCK"}, { + GST_TAG_TRACK_COUNT, add_count_or_num_tag, "TRCK"}, { + GST_TAG_ALBUM_VOLUME_NUMBER, add_count_or_num_tag, "TPOS"}, { + GST_TAG_ALBUM_VOLUME_COUNT, add_count_or_num_tag, "TPOS"}, { + GST_TAG_ENCODER, add_encoder_tag, ""}, { +- GST_TAG_ENCODER_VERSION, add_encoder_tag, ""} ++ GST_TAG_ENCODER_VERSION, add_encoder_tag, ""}, { ++ GST_TAG_COPYRIGHT_URI, add_uri_tag, "WCOP"}, { ++ GST_TAG_LICENSE_URI, add_uri_tag, "WCOP"} + }; + + _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
