summaryrefslogtreecommitdiff
path: root/libre/clementine/clementine-chromaprint1.4.0.patch
blob: 099704026f9df128ab53e39d1726ca598dc07f30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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 9579b62ae..c7ad99e2e 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);