mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
media-libs/chromaprint: backport runtime fix for ffmpeg-7
Not closing bug #953008 given still getting a test failure with ffmpeg-7 (not really investigated, could be harmless) Expected equality of these values: 2 reader.GetChannels() Which is: 1 [ FAILED ] FFmpegAudioReaderTest.ReadRaw (0 ms) Does not seem caused by the patch given tests passes when using ffmpeg-6, the patch also fixes an issue with ffmpeg-6 so there's no reason not to add it. (also side-fix ExcessiveLineLength warning while here) Bug: https://bugs.gentoo.org/953008 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
parent
2405382cbb
commit
ab82e421dc
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -9,8 +9,12 @@ inherit cmake-multilib
|
||||
|
||||
DESCRIPTION="Library implementing a custom algorithm for extracting audio fingerprints"
|
||||
HOMEPAGE="https://acoustid.org/chromaprint"
|
||||
SRC_URI="https://github.com/acoustid/${PN}/releases/download/v${PV}/${P}.tar.gz
|
||||
test? ( https://github.com/google/googletest/archive/v$(ver_cut 1-2 ${GTEST_VERSION}).x.tar.gz -> gtest-${GTEST_VERSION}.tar.gz )
|
||||
SRC_URI="
|
||||
https://github.com/acoustid/${PN}/releases/download/v${PV}/${P}.tar.gz
|
||||
test? (
|
||||
https://github.com/google/googletest/archive/v$(ver_cut 1-2 ${GTEST_VERSION}).x.tar.gz
|
||||
-> gtest-${GTEST_VERSION}.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
@ -27,7 +31,10 @@ DEPEND="${RDEPEND}
|
||||
test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
|
||||
|
||||
DOCS=( NEWS.txt README.md )
|
||||
PATCHES=( "${FILESDIR}"/ffmpeg-5.patch )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ffmpeg-5.patch
|
||||
"${FILESDIR}"/ffmpeg-7.patch
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
export GTEST_ROOT="${WORKDIR}/googletest-${GTEST_DIR_VERSION}/googletest/"
|
||||
46
media-libs/chromaprint/files/ffmpeg-7.patch
Normal file
46
media-libs/chromaprint/files/ffmpeg-7.patch
Normal file
@ -0,0 +1,46 @@
|
||||
While this was to fix an occasional ffmpeg-5 issue, it fixes
|
||||
a bigger issue with ffmpeg-7.
|
||||
|
||||
https://bugs.gentoo.org/953008
|
||||
https://github.com/acoustid/chromaprint/issues/142
|
||||
https://github.com/acoustid/chromaprint/commit/82781d02cd30
|
||||
From: Marshal Walker <CatmanIX@gmail.com>
|
||||
Date: Thu, 8 Dec 2022 11:53:58 -0500
|
||||
Subject: [PATCH] ffmpeg5 fix for issue #122
|
||||
|
||||
tested on Arch Linux, needs testing on win/mac/etc (should be fine tho)
|
||||
--- a/src/audio/ffmpeg_audio_processor_swresample.h
|
||||
+++ b/src/audio/ffmpeg_audio_processor_swresample.h
|
||||
@@ -29,7 +29,7 @@ class FFmpegAudioProcessor {
|
||||
}
|
||||
|
||||
void SetInputChannelLayout(AVChannelLayout *channel_layout) {
|
||||
- av_opt_set_int(m_swr_ctx, "in_channel_layout", channel_layout->u.mask, 0);
|
||||
+ av_opt_set_chlayout(m_swr_ctx, "in_chlayout", channel_layout, 0);
|
||||
}
|
||||
|
||||
void SetInputSampleFormat(AVSampleFormat sample_format) {
|
||||
@@ -41,7 +41,7 @@ class FFmpegAudioProcessor {
|
||||
}
|
||||
|
||||
void SetOutputChannelLayout(AVChannelLayout *channel_layout) {
|
||||
- av_opt_set_int(m_swr_ctx, "out_channel_layout", channel_layout->u.mask, 0);
|
||||
+ av_opt_set_chlayout(m_swr_ctx, "out_chlayout", channel_layout, 0);
|
||||
}
|
||||
|
||||
void SetOutputSampleFormat(AVSampleFormat sample_format) {
|
||||
--- a/src/audio/ffmpeg_audio_reader.h
|
||||
+++ b/src/audio/ffmpeg_audio_reader.h
|
||||
@@ -301,9 +301,10 @@ inline bool FFmpegAudioReader::Read(const int16_t **data, size_t *size) {
|
||||
} else {
|
||||
m_has_more_frames = false;
|
||||
}
|
||||
+ } else {
|
||||
+ SetError("Error decoding the audio source", ret);
|
||||
+ return false;
|
||||
}
|
||||
- SetError("Error decoding the audio source", ret);
|
||||
- return false;
|
||||
}
|
||||
|
||||
if (m_frame->nb_samples > 0) {
|
||||
Loading…
x
Reference in New Issue
Block a user