diff options
Diffstat (limited to 'community-testing/xmms2/vorbis-albumart.patch')
-rw-r--r-- | community-testing/xmms2/vorbis-albumart.patch | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/community-testing/xmms2/vorbis-albumart.patch b/community-testing/xmms2/vorbis-albumart.patch deleted file mode 100644 index de4305f6f..000000000 --- a/community-testing/xmms2/vorbis-albumart.patch +++ /dev/null @@ -1,200 +0,0 @@ -From f38882beb1c9b4f3e3c63ac7d65603ad5917cd9d Mon Sep 17 00:00:00 2001 -From: Brad Jorsch <anomie@users.sourceforge.net> -Date: Tue, 09 Mar 2010 15:41:33 +0000 -Subject: OTHER: Add support for METADATA_BLOCK_PICTURE in Vorbis plugin - -Bug-Debian: http://bugs.debian.org/565479 ---- -diff --git a/src/plugins/vorbis_common/common.c b/src/plugins/vorbis_common/common.c -index c1f4ef9..fc4ff1b 100644 ---- a/src/plugins/vorbis_common/common.c -+++ b/src/plugins/vorbis_common/common.c -@@ -243,6 +243,74 @@ get_replaygain (xmms_xform_t *xform, vorbis_comment *vc) - } - } - -+static void -+handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len) -+{ -+ guint32 typ, mime_len, desc_len, img_len; -+ guchar *pos, *end, *mime_data, *img_data; -+ gchar hash[33]; -+ -+ pos = value; -+ end = value + len; -+ -+ if (pos + 4 > end) { -+ XMMS_DBG ("Malformed picture comment"); -+ return; -+ } -+ typ = GUINT32_FROM_BE (*(guint32 *)pos); -+ if (typ != 0 && typ != 3) { -+ XMMS_DBG ("Picture type %d not handled", typ); -+ return; -+ } -+ pos += 4; -+ -+ if (pos + 4 > end) { -+ XMMS_DBG ("Malformed picture comment"); -+ return; -+ } -+ mime_len = GUINT32_FROM_BE (*(guint32 *)pos); -+ pos += 4; -+ mime_data = pos; -+ pos += mime_len; -+ -+ if (pos + 4 > end) { -+ XMMS_DBG ("Malformed picture comment"); -+ return; -+ } -+ desc_len = GUINT32_FROM_BE (*(guint32 *)pos); -+ pos += 4; -+ pos += desc_len; -+ -+ pos += 4; /* width */ -+ pos += 4; /* height */ -+ pos += 4; /* depth */ -+ pos += 4; /* indexed palette length */ -+ -+ if (pos + 4 > end) { -+ XMMS_DBG ("Malformed picture comment"); -+ return; -+ } -+ img_len = GUINT32_FROM_BE (*(guint32 *)pos); -+ pos += 4; -+ img_data = pos; -+ -+ if (img_data + img_len > end) { -+ XMMS_DBG ("Malformed picture comment"); -+ return; -+ } -+ -+ if (xmms_bindata_plugin_add ((const guchar *)img_data, img_len, hash)) { -+ const gchar *metakey; -+ -+ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT; -+ xmms_xform_metadata_set_str (xform, metakey, hash); -+ -+ metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT_MIME; -+ mime_data[mime_len] = '\0'; -+ xmms_xform_metadata_set_str (xform, metakey, mime_data); -+ } -+} -+ - /* note that "key" is NOT NUL-terminated here, - * but "value" is. - */ -@@ -253,6 +321,14 @@ handle_comment (xmms_xform_t *xform, - { - gint i; - -+ if (!g_ascii_strncasecmp (key, "METADATA_BLOCK_PICTURE", key_len)) { -+ gsize dlen; -+ gchar *dvalue = g_base64_decode (value, &dlen); -+ handle_image_comment (xform, dvalue, dlen); -+ g_free (dvalue); -+ return; -+ } -+ - for (i = 0; i < G_N_ELEMENTS (properties); i++) { - if (key_len != strlen (properties[i].vname)) - continue; --- -cgit v0.8.3.4 - - -From d8273630bd92ecea581240ae93c6795cc538d076 Mon Sep 17 00:00:00 2001 -From: Erik Massop <e.massop@hccnet.nl> -Date: Tue, 09 Mar 2010 15:45:03 +0000 -Subject: OTHER: Add Brad Jorsch to AUTHORS, disable Vorbis albumart for glib < 2.12 - -(Name found using e-mail address at http://sourceforge.net/users/anomie ) ---- -diff --git a/AUTHORS b/AUTHORS -index f2ef9af..7331d4b 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -146,6 +146,10 @@ N: Johannes Jordan - E: ypnos@lanrules.de - D: Visualization - -+N: Brad Jorsch -+E: anomie@users.sourceforge.net -+D: Support for front picture from Vorbis. -+ - N: Daniel KamiĆski - E: maniel.rulez@gmail.com - D: mlib remove command in cli, Ruby fixes. -diff --git a/src/plugins/vorbis_common/common.c b/src/plugins/vorbis_common/common.c -index fc4ff1b..ab1dc75 100644 ---- a/src/plugins/vorbis_common/common.c -+++ b/src/plugins/vorbis_common/common.c -@@ -27,6 +27,7 @@ - #include "xmms/xmms_sample.h" - #include "xmms/xmms_log.h" - #include "xmms/xmms_medialib.h" -+#include "xmms/xmms_bindata.h" - - #include <glib.h> - -@@ -244,12 +245,22 @@ get_replaygain (xmms_xform_t *xform, vorbis_comment *vc) - } - - static void --handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len) -+handle_image_comment (xmms_xform_t *xform, const gchar *encoded_value) - { -+ gsize len; -+ guchar *value; -+ - guint32 typ, mime_len, desc_len, img_len; - guchar *pos, *end, *mime_data, *img_data; - gchar hash[33]; - -+#if GLIB_CHECK_VERSION(2,12,0) -+ value = g_base64_decode (encoded_value, &len); -+#else -+ /* TODO: Implement/backport base64 decoding */ -+ return; -+#endif -+ - pos = value; - end = value + len; - -@@ -299,7 +310,7 @@ handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len) - return; - } - -- if (xmms_bindata_plugin_add ((const guchar *)img_data, img_len, hash)) { -+ if (xmms_bindata_plugin_add (img_data, img_len, hash)) { - const gchar *metakey; - - metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT; -@@ -307,8 +318,10 @@ handle_image_comment (xmms_xform_t *xform, const gchar *value, gsize len) - - metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_PICTURE_FRONT_MIME; - mime_data[mime_len] = '\0'; -- xmms_xform_metadata_set_str (xform, metakey, mime_data); -+ xmms_xform_metadata_set_str (xform, metakey, (gchar *)mime_data); - } -+ -+ g_free (value); - } - - /* note that "key" is NOT NUL-terminated here, -@@ -322,10 +335,7 @@ handle_comment (xmms_xform_t *xform, - gint i; - - if (!g_ascii_strncasecmp (key, "METADATA_BLOCK_PICTURE", key_len)) { -- gsize dlen; -- gchar *dvalue = g_base64_decode (value, &dlen); -- handle_image_comment (xform, dvalue, dlen); -- g_free (dvalue); -+ handle_image_comment (xform, value); - return; - } - --- -cgit v0.8.3.4 - - |