[arch-commits] Commit in chromaprint/repos (3 files)

Antonio Rojas arojas at gemini.archlinux.org
Sun Jan 23 22:36:34 UTC 2022


    Date: Sunday, January 23, 2022 @ 22:36:34
  Author: arojas
Revision: 435016

archrelease: copy trunk to staging-x86_64

Added:
  chromaprint/repos/staging-x86_64/
  chromaprint/repos/staging-x86_64/PKGBUILD
    (from rev 435015, chromaprint/trunk/PKGBUILD)
  chromaprint/repos/staging-x86_64/ffmpeg5.patch
    (from rev 435015, chromaprint/trunk/ffmpeg5.patch)

---------------+
 PKGBUILD      |   51 ++++++++++++++++++++++++++++++++++++++
 ffmpeg5.patch |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+)

Copied: chromaprint/repos/staging-x86_64/PKGBUILD (from rev 435015, chromaprint/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2022-01-23 22:36:34 UTC (rev 435016)
@@ -0,0 +1,51 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+# Contributor: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Wieland Hoffmann <the_mineo at web.de>
+
+pkgname=chromaprint
+pkgver=1.5.1
+pkgrel=2
+pkgdesc="Library for extracting fingerprints from any audio source"
+url="https://acoustid.org/chromaprint"
+arch=('x86_64')
+license=('LGPL2.1' 'MIT')
+depends=('gcc-libs' 'glibc')
+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)
+sha512sums=('ea16e4d2b879c15b1d9b9ec93878da8b893f1834c70942663e1d2d106c2e0a661094fe2dd3bae7a6c2a1f9d5d8fab5e0b0ba493561090cf57b2228606fad1e66'
+            '2d44d4ce2f070e48c1600b8eca386e5610262084aa1de83e46adcd2154fc178faed95a66a3f2d0b8519faa2bae666e6f7337e8a364c04e87cd5c325cbbd2328f')
+b2sums=('9f7f030e97d3114cf679df298d313ea826c0fb05e7e7d8a10090d0a27ed0811b380b81b29fce973e0493826c478964367396311fd0484619cb2fc4c2d8e0d4c0'
+        '9e67be84d26a69916e1846533e98808044412d495abb7a5725141dd81833ac87992ba4a0a49e804c3c7ffe7b01dc2b9e112d6109643654f7fd33f422042bc3a4')
+
+prepare() {
+  patch -d $pkgname-$pkgver -p1 < ffmpeg5.patch
+}
+
+build() {
+  cd "${pkgname}-${pkgver}"
+  cmake -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_BUILD_TYPE='None' \
+        -DBUILD_TESTS=ON \
+        -DBUILD_TOOLS=ON \
+        -DGTEST_SOURCE_DIR=/usr/src/googletest/ \
+        -Wno-dev \
+        -B build \
+        -S .
+  make VERBOSE=1 -C build
+}
+
+check() {
+  cd "${pkgname}-${pkgver}"
+  make VERBOSE=1 -C build check
+}
+
+package() {
+  depends+=('libavcodec.so' 'libavformat.so' 'libavutil.so' 'libswresample.so')
+  cd "${pkgname}-${pkgver}"
+  make VERBOSE=1 DESTDIR="${pkgdir}" install -C build
+  install -vDm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -vDm 644 {NEWS.txt,README.md} -t "${pkgdir}/usr/share/doc/${pkgname}"
+}

Copied: chromaprint/repos/staging-x86_64/ffmpeg5.patch (from rev 435015, chromaprint/trunk/ffmpeg5.patch)
===================================================================
--- staging-x86_64/ffmpeg5.patch	                        (rev 0)
+++ staging-x86_64/ffmpeg5.patch	2022-01-23 22:36:34 UTC (rev 435016)
@@ -0,0 +1,74 @@
+From 6d938d70b1d52634f8b0d88cb29da87f8d5b35a2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero at 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 at 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);



More information about the arch-commits mailing list