summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2018-04-19 22:52:38 +0200
committerSergei Trofimovich <slyfox@gentoo.org>2018-05-13 13:17:56 +0100
commit7aa820ae52e5b028eca2b0364add30cb7440b54b (patch)
tree78f3eea0a76ad6981e2272d62c7047d167d4bc31 /media-libs/chromaprint/files
parentnet-im/skypeforlinux: remove 8.14.0.10 (diff)
downloadgentoo-7aa820ae52e5b028eca2b0364add30cb7440b54b.tar.gz
gentoo-7aa820ae52e5b028eca2b0364add30cb7440b54b.tar.bz2
gentoo-7aa820ae52e5b028eca2b0364add30cb7440b54b.zip
media-libs/chromaprint-1.4.3: add new version
Closes: https://bugs.gentoo.org/653548 Package-Manager: Portage-2.3.24, Repoman-2.3.6 RepoMan-Options: --include-arches="sparc" Closes: https://github.com/gentoo/gentoo/pull/8077
Diffstat (limited to 'media-libs/chromaprint/files')
-rw-r--r--media-libs/chromaprint/files/chromaprint-1.4.3-test-bigendian.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/media-libs/chromaprint/files/chromaprint-1.4.3-test-bigendian.patch b/media-libs/chromaprint/files/chromaprint-1.4.3-test-bigendian.patch
new file mode 100644
index 000000000000..dc080bb98470
--- /dev/null
+++ b/media-libs/chromaprint/files/chromaprint-1.4.3-test-bigendian.patch
@@ -0,0 +1,60 @@
+From 8d5f2ca81db8fae6b59b6b9b8bda91526507dbd1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= <lukas@oxygene.sk>
+Date: Sat, 10 Feb 2018 06:52:10 +0100
+Subject: [PATCH] Change LoadAudioFile to not depend on little-endian CPU
+
+Fixes https://github.com/acoustid/chromaprint/issues/46
+---
+ tests/test_utils.cpp | 9 +++++++++
+ tests/test_utils.h | 14 +++++++++-----
+ 2 files changed, 18 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_utils.cpp b/tests/test_utils.cpp
+index fc8bb86..536f46e 100644
+--- a/tests/test_utils.cpp
++++ b/tests/test_utils.cpp
+@@ -2,6 +2,7 @@
+ #include <algorithm>
+ #include <limits>
+ #include "utils.h"
++#include "test_utils.h"
+
+ using namespace chromaprint;
+
+@@ -92,3 +93,11 @@ TEST(Utils, CountSetBits64) {
+ EXPECT_EQ(64, CountSetBits(0xFFFFFFFFFFFFFFFFU));
+ EXPECT_EQ(8, CountSetBits(0x0101010101010101U));
+ }
++
++TEST(Utils, LoadAudioFile) {
++ std::vector<short> data = LoadAudioFile("data/test_mono_44100.raw");
++ ASSERT_EQ(data.size(), 176400/2);
++ EXPECT_EQ(data[1000], 0);
++ EXPECT_EQ(data[2000], 107);
++ EXPECT_EQ(data[3000], 128);
++}
+diff --git a/tests/test_utils.h b/tests/test_utils.h
+index 3631007..d01e9e3 100644
+--- a/tests/test_utils.h
++++ b/tests/test_utils.h
+@@ -31,11 +31,15 @@ inline std::vector<short> LoadAudioFile(const std::string &file_name)
+ {
+ std::string path = TESTS_DIR + file_name;
+ std::ifstream file(path.c_str(), std::ifstream::in | std::ifstream::binary);
+- file.seekg(0, std::ios::end);
+- int length = file.tellg();
+- file.seekg(0, std::ios::beg);
+- std::vector<short> data(length / 2);
+- file.read((char *)&data[0], length);
++ uint8_t buf[4096];
++ std::vector<int16_t> data;
++ while (!file.eof()) {
++ file.read((char *) buf, 4096);
++ size_t nread = file.gcount();
++ for (size_t i = 0; i < nread - 1; i += 2) {
++ data.push_back((int16_t) (((uint16_t) buf[i+1] << 8) | ((uint16_t) buf[i])));
++ }
++ }
+ file.close();
+ return data;
+ }