diff options
| -rw-r--r-- | kde-plasma/kpipewire/Manifest | 1 | ||||
| -rw-r--r-- | kde-plasma/kpipewire/files/kpipewire-6.4.90-ffmpeg8.patch | 116 | ||||
| -rw-r--r-- | kde-plasma/kpipewire/kpipewire-6.4.90.ebuild | 47 |
3 files changed, 164 insertions, 0 deletions
diff --git a/kde-plasma/kpipewire/Manifest b/kde-plasma/kpipewire/Manifest new file mode 100644 index 00000000000..fd43278d06b --- /dev/null +++ b/kde-plasma/kpipewire/Manifest @@ -0,0 +1 @@ +DIST kpipewire-6.4.90.tar.xz 152884 BLAKE2B 32010f4deb10ef029db7a7d742c19d0ffdd66caeb278a71596d2d29815625eb689f51a89916084c3ff5fc84f3d283b358189ca371ade91135c7f29767a559da9 SHA512 1ba015e397ebbc179d9c374d50f9814093b22642efdab1dba0867067bc1acbbc1781bd151ead2d971853184a8112f80c440a8dd2b9b9163ff3663c9ac9b15dc8 diff --git a/kde-plasma/kpipewire/files/kpipewire-6.4.90-ffmpeg8.patch b/kde-plasma/kpipewire/files/kpipewire-6.4.90-ffmpeg8.patch new file mode 100644 index 00000000000..4d1e9439f1f --- /dev/null +++ b/kde-plasma/kpipewire/files/kpipewire-6.4.90-ffmpeg8.patch @@ -0,0 +1,116 @@ +From e2b4a63b3ceb0584f9d4612865920a3dbc9ea512 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch> +Date: Wed, 27 Aug 2025 16:39:36 +0200 +Subject: [PATCH] Fix build with ffmpeg >= 8.0 + +--- + src/h264vaapiencoder.cpp | 12 +++++++++--- + src/libopenh264encoder.cpp | 12 +++++++++--- + src/libx264encoder.cpp | 12 +++++++++--- + 3 files changed, 27 insertions(+), 9 deletions(-) + +diff --git a/src/h264vaapiencoder.cpp b/src/h264vaapiencoder.cpp +index 0cf251b..eaec8dd 100644 +--- a/src/h264vaapiencoder.cpp ++++ b/src/h264vaapiencoder.cpp +@@ -18,6 +18,12 @@ extern "C" { + + #include "logging_record.h" + ++#ifndef AV_PROFILE_H264_BASELINE // ffmpeg before 8.0 ++#define AV_PROFILE_H264_BASELINE FF_PROFILE_H264_BASELINE ++#define AV_PROFILE_H264_MAIN FF_PROFILE_H264_MAIN ++#define AV_PROFILE_H264_HIGH FF_PROFILE_H264_HIGH ++#endif ++ + H264VAAPIEncoder::H264VAAPIEncoder(H264Profile profile, PipeWireProduce *produce) + : HardwareEncoder(produce) + , m_profile(profile) +@@ -130,13 +136,13 @@ bool H264VAAPIEncoder::initialize(const QSize &size) + + switch (m_profile) { + case H264Profile::Baseline: +- m_avCodecContext->profile = FF_PROFILE_H264_CONSTRAINED_BASELINE; ++ m_avCodecContext->profile = AV_PROFILE_H264_CONSTRAINED_BASELINE; + break; + case H264Profile::Main: +- m_avCodecContext->profile = FF_PROFILE_H264_MAIN; ++ m_avCodecContext->profile = AV_PROFILE_H264_MAIN; + break; + case H264Profile::High: +- m_avCodecContext->profile = FF_PROFILE_H264_HIGH; ++ m_avCodecContext->profile = AV_PROFILE_H264_HIGH; + break; + } + +diff --git a/src/libopenh264encoder.cpp b/src/libopenh264encoder.cpp +index db6ed4d..294c0f2 100644 +--- a/src/libopenh264encoder.cpp ++++ b/src/libopenh264encoder.cpp +@@ -21,6 +21,12 @@ extern "C" { + + #include "logging_record.h" + ++#ifndef AV_PROFILE_H264_BASELINE // ffmpeg before 8.0 ++#define AV_PROFILE_H264_CONSTRAINED_BASELINE FF_PROFILE_H264_CONSTRAINED_BASELINE ++#define AV_PROFILE_H264_MAIN FF_PROFILE_H264_MAIN ++#define AV_PROFILE_H264_HIGH FF_PROFILE_H264_HIGH ++#endif ++ + LibOpenH264Encoder::LibOpenH264Encoder(H264Profile profile, PipeWireProduce *produce) + : SoftwareEncoder(produce) + , m_profile(profile) +@@ -64,13 +70,13 @@ bool LibOpenH264Encoder::initialize(const QSize &size) + // passes that through, but libopenh264 only allows BASELINE. + // Until that bug is fixed there'll always be a warning that the + // profile is not supported (https://github.com/cisco/openh264/issues/3613) +- m_avCodecContext->profile = FF_PROFILE_H264_CONSTRAINED_BASELINE; ++ m_avCodecContext->profile = AV_PROFILE_H264_CONSTRAINED_BASELINE; + break; + case H264Profile::Main: +- m_avCodecContext->profile = FF_PROFILE_H264_MAIN; ++ m_avCodecContext->profile = AV_PROFILE_H264_MAIN; + break; + case H264Profile::High: +- m_avCodecContext->profile = FF_PROFILE_H264_HIGH; ++ m_avCodecContext->profile = AV_PROFILE_H264_HIGH; + break; + } + +diff --git a/src/libx264encoder.cpp b/src/libx264encoder.cpp +index d9fe44f..a8f0e21 100644 +--- a/src/libx264encoder.cpp ++++ b/src/libx264encoder.cpp +@@ -20,6 +20,12 @@ extern "C" { + + #include "logging_record.h" + ++#ifndef AV_PROFILE_H264_BASELINE // ffmpeg before 8.0 ++#define AV_PROFILE_H264_BASELINE FF_PROFILE_H264_BASELINE ++#define AV_PROFILE_H264_MAIN FF_PROFILE_H264_MAIN ++#define AV_PROFILE_H264_HIGH FF_PROFILE_H264_HIGH ++#endif ++ + using namespace Qt::StringLiterals; + + LibX264Encoder::LibX264Encoder(H264Profile profile, PipeWireProduce *produce) +@@ -68,13 +74,13 @@ bool LibX264Encoder::initialize(const QSize &size) + + switch (m_profile) { + case H264Profile::Baseline: +- m_avCodecContext->profile = FF_PROFILE_H264_BASELINE; ++ m_avCodecContext->profile = AV_PROFILE_H264_BASELINE; + break; + case H264Profile::Main: +- m_avCodecContext->profile = FF_PROFILE_H264_MAIN; ++ m_avCodecContext->profile = AV_PROFILE_H264_MAIN; + break; + case H264Profile::High: +- m_avCodecContext->profile = FF_PROFILE_H264_HIGH; ++ m_avCodecContext->profile = AV_PROFILE_H264_HIGH; + break; + } + +-- +GitLab + diff --git a/kde-plasma/kpipewire/kpipewire-6.4.90.ebuild b/kde-plasma/kpipewire/kpipewire-6.4.90.ebuild new file mode 100644 index 00000000000..066f0702f6a --- /dev/null +++ b/kde-plasma/kpipewire/kpipewire-6.4.90.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_TEST="true" +KFMIN=6.18.0 +QTMIN=6.9.1 +inherit ecm plasma.kde.org xdg + +DESCRIPTION="Components relating to Flatpak pipewire use in Plasma" + +LICENSE="LGPL-2.1+" +SLOT="6" +KEYWORDS="~amd64" +IUSE="" + +COMMON_DEPEND=" + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,opengl] + >=dev-qt/qtdeclarative-${QTMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + media-libs/libepoxy + media-libs/libglvnd + media-libs/libva:= + media-libs/mesa[opengl] + media-video/ffmpeg:= + >=media-video/pipewire-0.3:= + x11-libs/libdrm +" +DEPEND="${COMMON_DEPEND} + test? ( + dev-libs/plasma-wayland-protocols + dev-libs/wayland + >=dev-qt/qtbase-${QTMIN}:6[wayland] + >=kde-plasma/kwayland-${KDE_CATV}:6 + media-video/pipewire[extra] + ) +" +DEPEND+=" test? ( || ( >=dev-qt/qtbase-6.10:6[wayland] <dev-qt/qtwayland-6.10:6 ) )" +RDEPEND="${COMMON_DEPEND} + >=kde-frameworks/kirigami-${KFMIN}:6 +" +BDEPEND="test? ( >=dev-qt/qtbase-${QTMIN}:6[wayland] )" +BDEPEND+=" test? ( || ( >=dev-qt/qtbase-6.10:6[wayland] <dev-qt/qtwayland-6.10:6 ) )" + +PATCHES=( "${FILESDIR}/${P}-ffmpeg8.patch" ) |
