* update chromaprint to 1.5.1-4
This commit is contained in:
parent
41c8e72f3f
commit
b4b2cae448
@ -5,7 +5,7 @@
|
||||
|
||||
pkgname=chromaprint
|
||||
pkgver=1.5.1
|
||||
pkgrel=3.1
|
||||
pkgrel=4
|
||||
pkgdesc="Library for extracting fingerprints from any audio source"
|
||||
url="https://acoustid.org/chromaprint"
|
||||
arch=(x86_64 powerpc64le powerpc riscv64)
|
||||
@ -15,14 +15,14 @@ makedepends=('cmake' 'ffmpeg' 'gtest')
|
||||
provides=('libchromaprint.so')
|
||||
# upstream signs with DSA key: https://github.com/acoustid/chromaprint/issues/81
|
||||
source=(https://github.com/acoustid/${pkgname}/archive/v$pkgver/$pkgname-$pkgver.tar.gz
|
||||
ffmpeg5.patch)
|
||||
chromaprint-ffmpeg5.patch::https://patch-diff.githubusercontent.com/raw/acoustid/chromaprint/pull/114.patch)
|
||||
sha512sums=('ea16e4d2b879c15b1d9b9ec93878da8b893f1834c70942663e1d2d106c2e0a661094fe2dd3bae7a6c2a1f9d5d8fab5e0b0ba493561090cf57b2228606fad1e66'
|
||||
'2d44d4ce2f070e48c1600b8eca386e5610262084aa1de83e46adcd2154fc178faed95a66a3f2d0b8519faa2bae666e6f7337e8a364c04e87cd5c325cbbd2328f')
|
||||
'b487c7b61dd67a2a84d51b8ead3aee58f678f1179da33b39071093af4d6fb0bdc536f8c872b0edaeefc81d4c6c9b0f4a634ab8df623b75e03b629ebd88c897b9')
|
||||
b2sums=('9f7f030e97d3114cf679df298d313ea826c0fb05e7e7d8a10090d0a27ed0811b380b81b29fce973e0493826c478964367396311fd0484619cb2fc4c2d8e0d4c0'
|
||||
'9e67be84d26a69916e1846533e98808044412d495abb7a5725141dd81833ac87992ba4a0a49e804c3c7ffe7b01dc2b9e112d6109643654f7fd33f422042bc3a4')
|
||||
'6f386ff4690e5286df7609f2211eb4edea07508eff087622aacbee81d8ca2147378a244886fb6d0951c1dca627dc022f661f68c36d155f17a8ac69e8a9287138')
|
||||
|
||||
prepare() {
|
||||
patch -d $pkgname-$pkgver -p1 < ffmpeg5.patch
|
||||
patch -d $pkgname-$pkgver -p1 < chromaprint-ffmpeg5.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -1,74 +0,0 @@
|
||||
From 6d938d70b1d52634f8b0d88cb29da87f8d5b35a2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
|
||||
Date: Mon, 17 Jan 2022 04:41:33 +0100
|
||||
Subject: [PATCH] Port to ffmpeg 5.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Replace removed functionality like accessing the codec context
|
||||
from an AVStream and avcodec_decode_audio4()
|
||||
|
||||
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
|
||||
---
|
||||
src/audio/ffmpeg_audio_reader.h | 24 ++++++++++++++++++++++--
|
||||
1 file changed, 22 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/audio/ffmpeg_audio_reader.h b/src/audio/ffmpeg_audio_reader.h
|
||||
index 5550164..a3b8de7 100644
|
||||
--- a/src/audio/ffmpeg_audio_reader.h
|
||||
+++ b/src/audio/ffmpeg_audio_reader.h
|
||||
@@ -74,7 +74,7 @@ class FFmpegAudioReader {
|
||||
uint8_t *m_convert_buffer[1] = { nullptr };
|
||||
int m_convert_buffer_nb_samples = 0;
|
||||
|
||||
- AVInputFormat *m_input_fmt = nullptr;
|
||||
+ const AVInputFormat *m_input_fmt = nullptr;
|
||||
AVDictionary *m_input_opts = nullptr;
|
||||
|
||||
AVFormatContext *m_format_ctx = nullptr;
|
||||
@@ -153,7 +153,7 @@ inline bool FFmpegAudioReader::Open(const std::string &file_name) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- AVCodec *codec;
|
||||
+ const AVCodec *codec;
|
||||
ret = av_find_best_stream(m_format_ctx, AVMEDIA_TYPE_AUDIO, -1, -1, &codec, 0);
|
||||
if (ret < 0) {
|
||||
SetError("Could not find any audio stream in the file", ret);
|
||||
@@ -161,7 +161,13 @@ inline bool FFmpegAudioReader::Open(const std::string &file_name) {
|
||||
}
|
||||
m_stream_index = ret;
|
||||
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 59
|
||||
+ const AVCodec *streamcodec = avcodec_find_decoder(m_format_ctx->streams[m_stream_index]->codecpar->codec_id);
|
||||
+ m_codec_ctx = avcodec_alloc_context3(streamcodec);
|
||||
+ avcodec_parameters_to_context(m_codec_ctx, m_format_ctx->streams[m_stream_index]->codecpar);
|
||||
+#else
|
||||
m_codec_ctx = m_format_ctx->streams[m_stream_index]->codec;
|
||||
+#endif
|
||||
m_codec_ctx->request_sample_fmt = AV_SAMPLE_FMT_S16;
|
||||
|
||||
ret = avcodec_open2(m_codec_ctx, codec, nullptr);
|
||||
@@ -278,7 +284,21 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, size_t *size) {
|
||||
}
|
||||
}
|
||||
|
||||
+#if LIBAVCODEC_VERSION_MAJOR < 59
|
||||
ret = avcodec_decode_audio4(m_codec_ctx, m_frame, &m_got_frame, &m_packet);
|
||||
+#else
|
||||
+ ret = avcodec_receive_frame(m_codec_ctx, m_frame);
|
||||
+ if (ret == 0)
|
||||
+ m_got_frame = true;
|
||||
+ if(ret == AVERROR(EAGAIN))
|
||||
+ ret = 0;
|
||||
+ if (ret == 0)
|
||||
+ ret = avcodec_send_packet(m_codec_ctx, &m_packet);
|
||||
+ if (ret == AVERROR(EAGAIN))
|
||||
+ ret = 0;
|
||||
+ if (ret >= 0)
|
||||
+ ret = m_packet.size;
|
||||
+#endif
|
||||
if (ret < 0) {
|
||||
if (m_decode_error) {
|
||||
SetError("Error decoding audio frame", m_decode_error);
|
Loading…
x
Reference in New Issue
Block a user