summaryrefslogtreecommitdiff
path: root/community-testing/xmms2/vorbis-albumart.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community-testing/xmms2/vorbis-albumart.patch')
-rw-r--r--community-testing/xmms2/vorbis-albumart.patch200
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
-
-