summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/clementine/files/clementine-chromaprint14.patch')
-rw-r--r--media-sound/clementine/files/clementine-chromaprint14.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/media-sound/clementine/files/clementine-chromaprint14.patch b/media-sound/clementine/files/clementine-chromaprint14.patch
new file mode 100644
index 000000000000..bfdc49265aa3
--- /dev/null
+++ b/media-sound/clementine/files/clementine-chromaprint14.patch
@@ -0,0 +1,41 @@
+From ded312685735fc266d4154d355286eeb86db3bcd Mon Sep 17 00:00:00 2001
+From: Chocobozzz <florian.bigard@gmail.com>
+Date: Thu, 8 Dec 2016 23:12:17 +0100
+Subject: [PATCH] Add compatibility with chromaprint >= 1.4
+
+---
+ src/musicbrainz/chromaprinter.cpp | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/src/musicbrainz/chromaprinter.cpp b/src/musicbrainz/chromaprinter.cpp
+index 9579b62..c7ad99e 100644
+--- a/src/musicbrainz/chromaprinter.cpp
++++ b/src/musicbrainz/chromaprinter.cpp
+@@ -143,16 +143,24 @@ QString Chromaprinter::CreateFingerprint() {
+ ChromaprintContext* chromaprint =
+ chromaprint_new(CHROMAPRINT_ALGORITHM_DEFAULT);
+ chromaprint_start(chromaprint, kDecodeRate, kDecodeChannels);
+- chromaprint_feed(chromaprint, reinterpret_cast<void*>(data.data()),
++ chromaprint_feed(chromaprint, reinterpret_cast<int16_t *>(data.data()),
+ data.size() / 2);
+ chromaprint_finish(chromaprint);
+
+- void* fprint = nullptr;
+ int size = 0;
++
++#if CHROMAPRINT_VERSION_MAJOR >= 1 && CHROMAPRINT_VERSION_MINOR >= 4
++ u_int32_t *fprint = nullptr;
++ char *encoded = nullptr;
++#else
++ void *fprint = nullptr;
++ void *encoded = nullptr;
++#endif
++
+ int ret = chromaprint_get_raw_fingerprint(chromaprint, &fprint, &size);
++
+ QByteArray fingerprint;
+ if (ret == 1) {
+- void* encoded = nullptr;
+ int encoded_size = 0;
+ chromaprint_encode_fingerprint(fprint, size, CHROMAPRINT_ALGORITHM_DEFAULT,
+ &encoded, &encoded_size, 1);